Скачать презентацию harnessing the Power of communities mo By Скачать презентацию harnessing the Power of communities mo By

c7f247741bb97e778944a91857284b77.ppt

  • Количество слайдов: 74

harnessing the Power of communities: mo. By & Beyond Mark Wilkinson PI Bioinformatics i. harnessing the Power of communities: mo. By & Beyond Mark Wilkinson PI Bioinformatics i. CAPTURE Centre for Cardiovascular and Pulmonary Research Assistant Professor Dept. of Medical Genetics UBC, Vancouver

A brief history of Bio. Moby • Model Organism Bring Your own Database Interface A brief history of Bio. Moby • Model Organism Bring Your own Database Interface Conference, Sept, 2001 (MOBY-DIC) • May 21, 2002 – Genome Canada Platform Award • May 25, 2002 – API Version 0. 1 deployed, including the messaging layer that still exists today • July 18, 2002 – first Moby Client released (now gbrowse_moby, part of gbrowse from GMOD) • June 9, 2003 – API Version 0. 5 deployed • Currently, the API is at version 0. 86; version 1. 0 API in preparation for release end of November

What does Bio. Moby do? What does Bio. Moby do?

The MOBY-S Plan • • • Create an ontology of bioinformatics data-types Define a The MOBY-S Plan • • • Create an ontology of bioinformatics data-types Define a serialization of this ontology (data syntax) Create an open API over this ontology Define Web Service inputs and outputs v. v. Ontology Register Services in an ontology-aware Registry • Machines can find an appropriate service • Machines can execute that service unattended • Ontology is community-extensible

Overview of MOBY-S Transactions MOBY hosts & services Alignment Sequence Gene names Sequence Align Overview of MOBY-S Transactions MOBY hosts & services Alignment Sequence Gene names Sequence Align Express. Phylogeny Protein Primers Alleles … MOBY Central

MOBY-S in detail • MOBY-S Data typing system: Semantic Type • MOBY-S Data typing MOBY-S in detail • MOBY-S Data typing system: Semantic Type • MOBY-S Data typing system: Syntactic Type

MOBY-S in detail • MOBY-S Data typing system: Semantic Type • MOBY-S Data typing MOBY-S in detail • MOBY-S Data typing system: Semantic Type • MOBY-S Data typing system: Syntactic Type

Moby Namespaces (from GO) • Any identifiable piece of data is an “entity” • Moby Namespaces (from GO) • Any identifiable piece of data is an “entity” • Identifiers for these entities fall under “Namespaces” – NCBI has gi numbers (gi Namespace) – GO Terms have accession numbers (GO Namespace) • Namespaces indicate data’s semantic type. – GO: 0003476 a Gene Ontology Term – gi|163483 a Gen. Bank record • Namespace + ID precisely specifies a data “entity” • This differs from an LSID in that our identifiers ARE NOT OPAQUE – they are semantically rich

MOBY-S in detail • MOBY-S Data typing system: Semantic Type • MOBY-S Data typing MOBY-S in detail • MOBY-S Data typing system: Semantic Type • MOBY-S Data typing system: Syntactic Type

The MOBY-S Object Ontology • Syntactic types are defined by a GO-like ontology – The MOBY-S Object Ontology • Syntactic types are defined by a GO-like ontology – Data Class name at each node – Edges define the relationships between Classes – GO used as a model because of its familiarity in the community Edge • Edges define of three relationships node – IS A • Inheritance relationship • All properties of the parent are present in the child – HAS A • Container relationship of ‘exactly 1’ – HAS • Container relationship with ‘ 1 or more’ node

The Simplest Moby Data-Type <Object namespace=‘NCBI_gi’ id=‘ 111076’/> Object The combination of a namespace The Simplest Moby Data-Type Object The combination of a namespace and an identifier within that namespace uniquely identify a data entity, not its location(s), nor its representation

A Primitive Data-type ISA Date. Time ISA Float ISA Integer Object ISA String <Integer A Primitive Data-type ISA Date. Time ISA Float ISA Integer Object ISA String 38

A Derived Data-Type <Virtual. Sequence namespace=‘NCBI_gi’ id=‘ 111076’> <Integer namespace=‘’ id=‘’ article. Name=“length”>38</Integer> </ A Derived Data-Type 38 ISA Object ISA Integer HASA String Virtual Sequence

A Derived Data-Type <Generic. Sequence namespace=‘NCBI_gi’ id=‘ 111076’> <Integer namespace=‘’ id=‘’ article. Name=“length”>38</Integer> <String A Derived Data-Type 38 ATGATGATAGAGGGCCCGGCGCGCGC ISA Object ISA Integer HASA String Virtual Sequence ISA Generic Sequence

A Derived Data-Type <DNASequence namespace=‘NCBI_gi’ id=‘ 111076’> <Integer namespace=‘’ id=‘’ article. Name=“length”>38</Integer> <String namespace=‘’ A Derived Data-Type 38 ATGATGATAGAGGGCCCGGCGCGCGC ISA Object ISA Integer HASA String Virtual Sequence ISA Generic Sequence ISA DNA Sequence

Legacy file formats • Containing “String” allows us to define ontological classes that represent Legacy file formats • Containing “String” allows us to define ontological classes that represent legacy data types (e. g. the 20 existing sequence formats!) TBLASTN 2. 0. 4 [Feb-24 -1998] Reference: Altschul, Stephen F. , Thomas L. Madden, Alejandro A. Schä ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25: 3389 -3402. Query= gi|1401126 (504 letters) Database: Non-redundant Gen. Bank+EMBL+DDBJ+PDB sequences 336, 723 sequences; 677, 679, 054 total letters Searchingdone Sequences producing significant alignments: Score (bits) E Value gb|U 49928|HSU 49928 Homo sapiens TAK 1 binding protein (TAB 1) m. RNA. . . 1009 0. 0 emb|Z 36985|PTPP 2 CMR P. tetraurelia m. RNA for protein phosphatase t. . . 58 4 e-07 emb|X 77116|ATMRABI 1 A. thaliana m. RNA for ABI 1 protein 53 1 e-05

Binaries – pictures, movies • We base 64 encode binaries, and then define a Binaries – pictures, movies • We base 64 encode binaries, and then define a hierarchy of data classes that Contain String • base 64_encoded_jpeg ISA text/base 64 ISA text/plain HASA String MIAGCSq. GSIb 3 DQEHAq. CAMIACAQEx. Cz. AJBg. Ur. Dg. MCGg. UAMIAGCSq. GSIb 3 DQEHAQAAo. IIJQDCC Av 4 wgg. Jno. AMCAQICAwh. H 9 j. ANBgkqhki. G 9 w 0 BAQQFADCBkj. ELMAk. GA 1 UEBh. MCWk. Ex. FTATBg. NV BAg. TDFdlc 3 Rlcm 4 g. Q 2 Fw. ZTESMBAGA 1 UEBx. MJQ 2 Fw. ZSBUb 3 du. MQ 8 w. DQYDVQQKEw. ZUa. GF 3 d. GUx HTAb. Bg. NVBAs. TFENlcn. Rp. Zmlj. YXRl. IFNlcn. Zp. Y 2 Vz. MSgw. Jg. YDVQQDEx 9 QZXJzb 25 hb. CBGcm. Vl b. WFpb. CBSU 0 Eg. Mj. Aw. MC 44 Lj. Mw. MB 4 XDTAy. MDkx. NTIx. MDkw. MVo. XDTAz. MDkx. NTIx. MDkw. MVow. Qj. Ef MB 0 GA 1 UEAx. MWVGhhd 3 Rl. IEZy. ZWVt. YWls. IE 1 lb. WJlcj. Ef. MB 0 GCSq. GSIb 3 DQEJARYQampr. M 0 Bt

Extending legacy data types • • With legacy data-types defined, we can extend them Extending legacy data types • • With legacy data-types defined, we can extend them as we see fit annotated_jpeg ISA base 64_encoded_jpeg annotated_jpeg HASA 2 D_Coordinate_set annotated_jpeg HASA Description <2 D_Coordinate_set namespace=‘’ id=‘’ article. Name=“pixel. Coordinates”> 3554 663 This is the phenotype of a ufo-1 mutant under long daylength, 16’C MIAGCSq. GSIb 3 DQEHAq. CAMIACAQEx. Cz. AJBg. Ur. Dg. MCGg. UAMIAGCSq. GSIb 3 DQEHAQAAo. IIJQDCC Av 4 wgg. Jno. AMCAQICAwh. H 9 j. ANBgkqhki. G 9 w 0 BAQQFADCBkj. ELMAk. GA 1 UEBh. MCWk. Ex. FTATBg. NV

The same object… annotated_jpeg ISA base 64_encoded_jpeg HASA 2 D_Coordinate_set HASA Description <annotated_jpeg namespace=‘TAIR_Image’ The same object… annotated_jpeg ISA base 64_encoded_jpeg HASA 2 D_Coordinate_set HASA Description <2 D_Coordinate_set namespace=‘’ id=‘’ article. Name=“pixel. Coordinates”> 3554 663 This is the phenotype of a ufo-1 mutant under long daylength, 16’C MIAGCSq. GSIb 3 DQEHAq. CAMIACAQEx. Cz. AJBg. Ur. Dg. MCGg. UAMIAGCSq. GSIb 3 DQEHAQAAo. IIJQDCC Av 4 wgg. Jno. AMCAQICAwh. H 9 j. ANBgkqhki. G 9 w 0 BAQQFADCBkj. ELMAk. GA 1 UEBh. MCWk. Ex. FTATBg. NV

The same object… annotated_jpeg ISA base 64_encoded_jpeg HASA 2 D_Coordinate_set HASA Description <annotated_jpeg namespace=‘TAIR_Image’ The same object… annotated_jpeg ISA base 64_encoded_jpeg HASA 2 D_Coordinate_set HASA Description <2 D_Coordinate_set namespace=‘’ id=‘’ article. Name=“pixel. Coordinates”> 3554 663 This is the phenotype of a ufo-1 mutant under long daylength, 16’C MIAGCSq. GSIb 3 DQEHAq. CAMIACAQEx. Cz. AJBg. Ur. Dg. MCGg. UAMIAGCSq. GSIb 3 DQEHAQAAo. IIJQDCC Av 4 wgg. Jno. AMCAQICAwh. H 9 j. ANBgkqhki. G 9 w 0 BAQQFADCBkj. ELMAk. GA 1 UEBh. MCWk. Ex. FTATBg. NV

How to think about MOBY Objects and Namespaces Data perspective X Data perspective Y How to think about MOBY Objects and Namespaces Data perspective X Data perspective Y Object X Object Y Record in “gi” Namespace (Genbank record)

Why define Objects in an ontology? Bioinformatics service providers are not all experienced programmers Why define Objects in an ontology? Bioinformatics service providers are not all experienced programmers The Moby Object Ontology provides an environment within which “naïve” service providers can create new complex data-types WITHOUT generating new flatfile formats, and without having to understand XML Schema Minimize future heterogeneity between new data-types to improve interoperability without requiring endless schema-to-schema mapping efforts.

The Object Ontology Defines an XML Schema • Object Ontology terms have “meaningful” names, The Object Ontology Defines an XML Schema • Object Ontology terms have “meaningful” names, but this is for human intuition only – DNA Sequence, Annotated_GIF • Object Ontology does not define the biological meaning, however it does define how every XML tag should be interpreted, therefore superior to pure XML/XML-Schema solutions • It does define the representation – SYNTAX

The Object Ontology Defines an XML Schema • The position of an ontology node The Object Ontology Defines an XML Schema • The position of an ontology node precisely defines the syntax by which that node will be represented • End-users can define new data-types without having to write XML Schema! – This was an important aim of the project • A machine can “understand” the structure of any incoming message by querying its ontological type

A portion of the MOBY-S Object Ontology …community-built! A portion of the MOBY-S Object Ontology …community-built!

Pipeline discovery “on the fly” • No explicit coordination between providers • Run-time discovery Pipeline discovery “on the fly” • No explicit coordination between providers • Run-time discovery of appropriate Services • Automated execution of services • This is happening without semantics – Syntax only… well… almost… : -)

Conclusions from the Behaviour of this Simple Browser • Service discovery is a semantic Conclusions from the Behaviour of this Simple Browser • Service discovery is a semantic problem • However interoperability is not • Data integration is still a problem – both syntactic and semantic - and we’ve just made that problem worse! – SYNTAX IS NOT THE PROBLEM!!!!

 • Some “political” details about Bio. Moby as we are coming to the • Some “political” details about Bio. Moby as we are coming to the end of the current Genome Canada funding period and are trying to get renewal… hint, if there any GC external reviewers in the audience!

Moby: Breadth • Namespaces (semantic datatypes): 236 • Objects (data syntaxes): 161 • Service Moby: Breadth • Namespaces (semantic datatypes): 236 • Objects (data syntaxes): 161 • Service Types (analytical categories): 18 • Service Instances: 401 (+ ~200 Soaplab) – Hundreds more in “boutique” Moby registries serving specialized communities worldwide – All continents except Antarctica host Moby services

Moby: Impact • Mailing list count 175 members (84 on developers mailing list) • Moby: Impact • Mailing list count 175 members (84 on developers mailing list) • Google Scholar – ‘Bio. MOBY’ 147 – Citations of 2002 Bio. MOBY paper 72

Moby: Developer Activity • MOBY-DIC Chapter 7 meeting – Vancouver, May 6 -8, 2005 Moby: Developer Activity • MOBY-DIC Chapter 7 meeting – Vancouver, May 6 -8, 2005 • 23 Developers attending – – – Asia USA Canada Germany Spain France • Mapped-out the route to the final 1. 0 version of the API

Moby Registry Activity Pla. Net implements own MOBY Central Moby Registry Activity Pla. Net implements own MOBY Central

Moby: Exemplar Users • Pla. Net consortium (7+ sites, 100 -130 services) • EBI Moby: Exemplar Users • Pla. Net consortium (7+ sites, 100 -130 services) • EBI – SOAPLAB – my. Grid • Generation Challenge Programme of the CGIAR (18+ sites) • Genome Espania uses MOBY for much of the bioinformatics service provision in the GE Bioinformatics Platform

Moby: Clients • Gbrowse_moby (M Wilkinson) • Browser-style client • Ahab & Ishmael (B Moby: Clients • Gbrowse_moby (M Wilkinson) • Browser-style client • Ahab & Ishmael (B Good, M Wilkinson) • “BLAST” & Semantic Web style clients • Pla. Net Locus_View (H Schoof, R Ernst) • Aggregator-style client • Blue-Jay (P Gordon) and Rat Genome Database prototype (S Twigger) • Menu-style clients • MOBY Graphs (M Senger) • Auto-workflow discovery tool • Taverna (T Oinn, M Senger, E Kawas), and MOWserv (INB, Spain) • Workflow builder/publisher/execution client • Enhanced support for MOBY currently being built • Eclipse plugins… etc…

Taverna Workbench Tom Oinn and Martin Senger my. Grid Project Taverna Workbench Tom Oinn and Martin Senger my. Grid Project

MOWServ Web interface to the Spanish Instituto Nacional de Bioinformatica MOBY Central installation MOWServ Web interface to the Spanish Instituto Nacional de Bioinformatica MOBY Central installation

INB Collaboration MOBY Enhancements • The INB has made several additions to the MOBY INB Collaboration MOBY Enhancements • The INB has made several additions to the MOBY API – Detailed error reporting – Asynchronous service invocation • These will become part of the official API in the coming year.

Future plans for Moby • “Decentralization” and enrichment of the registry through distributed RDF-based Future plans for Moby • “Decentralization” and enrichment of the registry through distributed RDF-based service instance annotations + LSID resolution – Complete! • Mirroring of registries • RDF-based messaging – Bio. Moby pre-dates commodity Semantic Web tools like RDF/OWL by a couple of years…

Future plans for Moby • Mirroring of Services • Enhanced registry usage metadata capture Future plans for Moby • Mirroring of Services • Enhanced registry usage metadata capture • Ontological markup of Object Ontology Terms • Better support for Web Service tooling if possible – Unfortunately, W 3 C XML Schema is unable to describe MOBY messages… • Collaboration with the GBIF/DIGi. R community – biodiversity information served through MOBY

A weakness of MOBY Automated service discovery is fatally flawed due to insufficiently rich A weakness of MOBY Automated service discovery is fatally flawed due to insufficiently rich semantics…

The problem with Moby Chickens go in; Pies come out! The problem with Moby Chickens go in; Pies come out!

The problem with Moby What sort o’ pies? The problem with Moby What sort o’ pies?

The problem with Moby Apple! The problem with Moby Apple!

The MOBY-S Service Ontology • A simple ISA hierarchy… too simple! • Primitive types The MOBY-S Service Ontology • A simple ISA hierarchy… too simple! • Primitive types include: – Analysis – Parsing – Registration – Retrieval – Resolution – Conversion – Rendering

A slice of the Service Ontology Parse this Parse_NCBI_Blast “The Exploding Bicycle” - A. A slice of the Service Ontology Parse this Parse_NCBI_Blast “The Exploding Bicycle” - A. Rector, U Manchester Parse that Parsing Service Analysis WU_Blast Alignment Blast NCBI_Blast

MOBY in the future • Tighter collaboration with my. Grid – We now have MOBY in the future • Tighter collaboration with my. Grid – We now have identical RDF data-models for our registry metadata • We inherit the excellent my. Grid Service Ontology, while retaining the power of the MOBY Object ontology!

Bio. Moby Conclusions • The bioinformatics community is facing missioncritical data management problems • Bio. Moby Conclusions • The bioinformatics community is facing missioncritical data management problems • The solution must be simple. • The community will adopt solutions that work even if they have to change their behaviour to do so • The community can be trusted to build useful, simple ontologies on its own`

The Semantic Web for Plant Genomics How do Web Services help us with the The Semantic Web for Plant Genomics How do Web Services help us with the Semantic Web problem?

The Semantic Web: RDF Triples URI http: //biomoby. org dc: author URI http: // The Semantic Web: RDF Triples URI http: //biomoby. org dc: author URI http: // icapture. ubc. ca/ Wilkinson Basically, just entity-relationship diagrams

The Internet Credit to P. Lord, my. Grid The Internet Credit to P. Lord, my. Grid

The World Wide Web Credit to P. Lord, my. Grid The World Wide Web Credit to P. Lord, my. Grid

The Semantic Web (low stack) same. As Transcript. Of ISA activates component. Of has. The Semantic Web (low stack) same. As Transcript. Of ISA activates component. Of has. Product address cloned. By Credit to P. Lord, my. Grid

How do WS relate to the SW? • Bioinformatics information is mainly in Databases How do WS relate to the SW? • Bioinformatics information is mainly in Databases – Therefore not available as named documents (URI’s)… • Work on Semantic Web Services has focused primarily on semantic annotation of Web Service functionality (e. g. Moby & my. Grid) – i. e. the problem of Service Discovery • Can Web Services be used to build the Semantic Web? (credit to Phillip Lord, my. Grid, for this phraseology)

Web Services… no documents to point to! same. As Transcript. Of ISA activates component. Web Services… no documents to point to! same. As Transcript. Of ISA activates component. Of has. Product address cloned. By

The Semantic Web same. As Transcript. Of ISA activates component. Of has. Product address The Semantic Web same. As Transcript. Of ISA activates component. Of has. Product address cloned. By Credit to P. Lord, my. Grid

How do we make Web Services look like the Semantic Web? • Moby can How do we make Web Services look like the Semantic Web? • Moby can help! • Two novel Moby clients - Ahab and Ishmael – are starting to create Semantic Webby outputs…

The Ahab Bio. Moby Client The Ahab Bio. Moby Client

Ahab Ahab

Ahab RDF Ahab RDF

But Bio. Moby can run unattended! • Because of syntactic agreement among service providers, But Bio. Moby can run unattended! • Because of syntactic agreement among service providers, and • Because the machine can automatically disassemble complex objects, and • Because discovery and execution of services that act on those objects can be fully automated • Bio. Moby can build a massive Entity/Relationship model completely unattended

Okay, so get rid of the GUI… 1. Tell Ahab engine to chose all Okay, so get rid of the GUI… 1. Tell Ahab engine to chose all discovered 2. 3. 4. services for a piece of data Execute every service Take each output, and go to (1) Go home for an early weekend… This is Ishmael - a prototype Bio. Moby client

The Output from Ishmael same. As Transcript. Of ISA activates component. Of has. Product The Output from Ishmael same. As Transcript. Of ISA activates component. Of has. Product address cloned. By

my. SWeb • The output of Ishmael is “My Semantic Web” – Personalized Semantic my. SWeb • The output of Ishmael is “My Semantic Web” – Personalized Semantic Web-like RDF graph – Centered around your data of interest – Cachable/explorable by e. g. Haystack – Because each node is a Moby-like URI with a namespace & id, it auto-detects “re-discovery” of data elements (“loops” in the dataset)

Acknowledgements O|B|F • Bio. MOBY: A Bioinformatics Platform for Genome Canada • Ahab, Ishmael, Acknowledgements O|B|F • Bio. MOBY: A Bioinformatics Platform for Genome Canada • Ahab, Ishmael, i. CAPTURer: Genome BC Better Biomarkers in Transplantation • Cardio. SHARE: Canadian Institutes for Health Research (CIHR) • Taverna: my. Grid • Ben Good: CIHR Bioinformatics Training Programme

Participants and Supporters Edward Kawas – Lead Developer , Bio. MOBY project, UBC, Canada Participants and Supporters Edward Kawas – Lead Developer , Bio. MOBY project, UBC, Canada Benjamin Good – CIHR Bioinformatics Training Program, UBC, Canada Clarence Kwan – Genome Prairie Co-op student, UBC, Canada Bruce Mc. Manus – Co-director, i. CAPTURE Centre, UBC, Canada Carole Goble, Phillip Lord – my. Grid project, U Manchester, UK Martin Senger – my. Grid/Taverna, EBI, UK Bill Crosby & Matthew Links – U Windsor, Canada Heiko Schoof, Rebecca Ernst – MIPS, Germany Simon Twigger – Rat Genome Database, USA Yan Wong – Pasteur Institute, France Frank Gibbons – Harvard, USA David Gonzales Pisano – Centro Nacional Biotechnologia, Spain Damian Gessler & Gary Schiltz – NCGR, USA Lincoln Stein – Cold Spring Harbor Labs, USA Midori Harris - Gene Ontology Consortium, UK Richard Bruskiewich – CGIAR/IRRI, Philippines Mark Regan – ACPFG/UQueensland, Australia