Title: MOBYS: a biological webservice integration project
1MOBY-S a biological web-service integration
project
- Mark Wilkinson
-
- Benjamin Good
- University of British Columbia
- iCAPTUR4E Centre,
- St. Pauls Hospital
- Vancouver, BC, Canada
- Contact mwilkinson_at_mrl.ubc.ca
- bgood_at_mrl.ubc.ca
2An architecture for Dis-Integration
DB1
Program
DB2
3Web ServicesAnother architecture for
Dis-Integration?
API1
API2
API3
WuBlast
Genbank
NCI
4An architecture for Integration
Program
DB2
DB1
5MOBY Services The BioMOBY Project
6The MOBY-S Plan
- Create an ontological framework for data-type
creation - Let independent service providers build
data-types - (Using this framework)
- Define web service interfaces using these
data-types - Register these interfaces in a yellow pages
- Machines can find an appropriate service
- Machines can execute that service unattended
7Data-types make MOBY go
- Data is represented in XML
- XML Structure is dictated by the Moby API
- Service providers create data-types according to
this structure - Sharing a framework for creating data-types turns
out to be largely sufficient to achieve
interoperability
8The simplest MOBY Data-Type
ltObject namespaceNCBI_gi id111076gt lt/Object
gt
The combination of a namespace and an identifier
within that namespace uniquely identify a data
entity. (Not its representation)
Object
9MOBY primitives
ISA
DateTime
ISA
Float
ISA
Integer
ltInteger namespace idgt38lt/Integergt
ISA
Object
String
10A MOBY Data-Type
ltVirtualSequence namespaceNCBI_gi
id111076gt ltInteger namespace id
articleNamelengthgt38lt/Integergt lt/
VirtualSequence gt
ISA
Integer
HASA
ISA
Object
String
Virtual Sequence
ISA
11A MOBY Data-Type
ltGenericSequence namespaceNCBI_gi
id111076gt ltInteger namespace id
articleNamelengthgt38lt/Integergt ltString
namespace id articleNameSequenceStringgt
ATGATGATAGATAGAGGGCCCGGCGCGCGCGCGCGC
lt/Stringgt lt/ GenericSequence gt
ISA
Integer
HASA
HASA
ISA
Object
String
ISA
Virtual Sequence
ISA
Generic Sequence
12A MOBY Data-Type
ltDNASequence namespaceNCBI_gi id111076gt
ltInteger namespace id articleNamelength
gt38lt/Integergt ltString namespace id
articleNameSequenceStringgt ATGATGATAGATAGAGGGC
CCGGCGCGCGCGCGCGC lt/Stringgt lt/ DNASequence
gt
ISA
Integer
HASA
HASA
ISA
Object
String
ISA
ISA
Virtual Sequence
ISA
Generic Sequence
DNA Sequence
13The Object Ontology
- Data types are defined by a GO-like ontology
- Type (Class) name at each node
- Edges define the relationships between Classes
- Edges define one of three relationships
- ISA
- Inheritance relationship
- All properties of the parent are present in the
child - HASA
- Container relationship of exactly 1
- HAS
- Container relationship with 1 or more
14A portion of the MOBY-S Object Ontology communit
y-built!
15MOBY-S follows the typical Web Service Paradigm
16Moby facilitates
- Automated service discovery
- Gbrowse moby - the first generic bioinformatics
interface? - Distributed pipeline execution
- Taverna
- Automated service execution
- Ahab - the next generation (in 2005 at some
point..)
17(No Transcript)
18(No Transcript)
19(No Transcript)
20(No Transcript)
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26Moby facilitates
- Automated service discovery
- Gbrowse moby - the first generic bioinformatics
interface? - Distributed pipeline execution
- Taverna
- Automated service execution
- Ahab - the next generation (in 2005 at some
point..)
27(No Transcript)
28Moby facilitates
- Automated service discovery
- Gbrowse moby - the first generic bioinformatics
interface? - Distributed pipeline execution
- Taverna
- Automated service execution
- Ahab (should appear in 2005 at some point..)
29Ahab automatic execution
Input NCBI_gi
30What MOBY got RIGHT
- Open source, community driven
- Involving the model organism community right from
the start has made an enormous impact on the
early acceptance and adoption of MOBY - Rapid feedback on success/failure
- we had real users right from the prototype
stage! - The community has been very forgiving of
hiccups because they are included in the
development process
31What MOBY got RIGHT
- Data typing
- Does not attempt to re-structure legacy
data-types -
- Ontology dictates data structure/sub-structure
- XML can be parsed, with the meaning of each
sub-structure encountered being defined by the
ontology
32What MOBY got RIGHT
- Data typing
- Provides a foundation for future data-type
definitions - New data-types can be defined by end-users
- New data-types can be defined in a structured,
machine-readable way, rather than by new ad hoc
flat-file format. - Object ontology simplifies creation of
visualization tools in an environment where the
number/nature of data types is changing daily.
33What MOBY got RIGHT
- Data typing
- Provides a standard way of cross-referencing the
data object, or any of its sub-structures - Xrefs are kept separate from the data itself
(versus e.g. hypertext) - Multiple Xrefs per data component
- Separation of concept from representation
- semantic data-type and syntactic data type are
independent - The same data entity can be instantiated in a
wide variety of ways
34A MOBY weakness - The Service Ontology
- Discovery could benefit from Semantics
35The Service Ontology at Present
- A simple ISA hierarchy
- Primitive types include
- Analysis
- Parsing
- Registration
- Retrieval
- Resolution
- Conversion
36A slice of the Service Ontology
Parse_NCBI_Blast
Parsing
Service
WU_Blast
Analysis
Alignment
Blast
NCBI_Blast
37MOBY in the future
- Tight collaboration with myGrid
- myGrid registry and Feta query engine will
replace MOBY Central this year - Feta will significantly enhance the service
ontology - Feta API will be wrapped with MOBY Central API
- MOBY will focus on the resulting interesting
problems - distributed ontology building
- data integration.
38Friends and Participants
- Mark Wilkinson, Edward Kawas, Nina Opushneva
iCAPTURE _at_ UBC - Carole Goble, Phillip Lord myGrid _at_ U
Manchester - Martin Senger myGrid _at_ EBI
- Lincoln Stein - CSHL
- Damian Gessler, Andrew Farmer, Gary Schiltz -
NCGR - Bill Crosby, Matthew Links, Luke McCarthy U of
S - Heiko Schoof, Rebecca Ernst MIPS
- Lukas Mueller Cornell
- Midori Harris EBI GO Consortium
- Mike Niemi IBM
- Fiona Cunningham, Shuly Avraham CSHL
- Ken Stuebe SDSC
- Funding and equipment donations from
39(No Transcript)
40A moby client in java
MobyDataSimpleInstance input new
MobyDataSimpleInstance1 MobyDataSimpleInstance
in new MobyDataSimpleInstance(NCBI_gi,111076
) input0 in //could set more attributes or
write the XML directly MobyService
templateService new MobyService() templateServi
ce.addInput(input) Central worker new
CentralImpl() MobyService services
worker.findServices(templateService) MobyRequest
request new MobyRequest(worker) request.setInpu
t(input) request.setService(services0) Vector
output request.invokeService()