OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

28
9/12/2011 OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL Mikel Egaña Aranguren ([email protected]) Ontology Engineering Group School of Computer Science UPM, Spain Jesualdo Tomás Fernández-Breis ([email protected]) School of Computer Science UM, Spain Erick Antezana ([email protected]) Department of Biology NTNU, Norway http://www.slideshare.net/MikelEganaAranguren/opplgalaxy-enhancing-ontology-exploitation-in- galaxy-with-oppl

description

Biomedical ontologies are key to the success of Semantic Web technologies in Life Sciences; therefore, it is important to provide appropriate tools for their development and further exploitation. The Ontology Pre Processor Language (OPPL) can be used for automating the complex manipulation needed to devise biomedical ontologies with richer axiomatic content, which in turn pave the way towards advanced biological data analyses. We present OPPL-Galaxy, an OPPL wrapper for the Galaxy platform, and a series of examples demonstrating its functionality for enriching ontologies. As Galaxy provides an integrated framework to make use of various bioinformatics tools, the functionality delivered by OPPL to manipulate ontologies can be combined along with the tools and workflows devised in Galaxy. As a result, those workflows can be used to perform more thorough analyses of biological information by exploiting extant biological knowledge codified in (enriched) biomedical ontologies

Transcript of OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

Page 1: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

9/12/2011

 

OPPL-Galaxy: Enhancing ontology exploitation in 

Galaxy with OPPL

Mikel Egaña Aranguren ([email protected])Ontology Engineering GroupSchool of Computer Science

UPM, Spain

Jesualdo Tomás Fernández-Breis ([email protected])School of Computer Science

UM, Spain

Erick Antezana ([email protected])Department of Biology

NTNU, Norway

http://www.slideshare.net/MikelEganaAranguren/opplgalaxy-enhancing-ontology-exploitation-in-galaxy-with-oppl

Page 2: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Index

What is OPPL-Galaxy?

Use cases

Implementation

Availability

Conclusions

Page 3: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy?

Page 4: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

OPPL-Galaxy

Ontology Pre Processor Language (OPPL)

Scripting Language for automating ontology manipulation 

Ontology New ontology

?whole:CLASS,?part:CLASSSELECT ?part SubClassOf part_of some ?whole WHERE ?part != NothingBEGINADD ?part SubClassOf part_of only ?wholeEND;

Page 5: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

Jeremy Goecks, Anton Nekrutenko, James Taylor, and The Galaxy    Team. Galaxy: a comprehensive approach for supporting accessible,    reproducible, and transparent computational research in the life    sciences. Genome Biology, 11(8):R86+, 2010.

OPPL-Galaxy

Galaxy

Page 6: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

Jeremy Goecks, Anton Nekrutenko, James Taylor, and The Galaxy    Team. Galaxy: a comprehensive approach for supporting accessible,    reproducible, and transparent computational research in the life    sciences. Genome Biology, 11(8):R86+, 2010.

OPPL-Galaxy

Galaxy

Page 7: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

OPPL-Galaxy

Ontology refactoring (Axiomatic enrichment, ODPs, … )Detection of structures (Antipatterns, … )Advanced querying (Reasoning+regexps, …)Ontology trimming

OPPL

Page 8: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

OPPL-Galaxy

Ontology refactoring (Axiomatic enrichment, ODPs, … )Detection of structures (Antipatterns, … )Advanced querying (Reasoning+regexps, …)Ontology trimming

OPPL

Analysis historyAnalysis shareabilityCombinations of toolsComplex workflows

Galaxy

Page 9: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

OPPL-Galaxy

Ontology refactoring (Axiomatic enrichment, ODPs, … )Detection of structures (Antipatterns, … )Advanced querying (Reasoning+regexps, …)Ontology trimming

OPPL

Analysis historyAnalysis shareabilityCombinations of toolsComplex workflows

Galaxy

Page 10: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

What is OPPL-Galaxy

Ontology OPPL scriptUser

Ontology User

Page 11: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Use cases 

http://miuras.inf.um.es/OPPL-Galaxy

Page 12: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

WorkflowsGeneOntology (GO)

OPPL script 1

OPPL script 2

Onto-toolkit

Gene Ontology Annotation file (GOA)

OPPL-Galaxy

Page 13: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Workflows

OPPL-Galaxy

?localisation_sibling:CLASSSELECT ASSERTED ?localisation_sibling SubClassOf GO_0008150WHERE ?localisation_sibling != GO_0051179BEGIN ADD ?localisation_sibling DisjointWith GO_0051179END;

?hepatocyte_process:CLASS, ?hepatocyte_process_label:CONSTANT = MATCH(".?hepatocyte.+"),?has_part_hepatocyte_process:CLASS,?part_of_or_regulates:OBJECTPROPERTYSELECT ASSERTED ?hepatocyte_process.IRI label ?hepatocyte_process_label,?hepatocyte_process subClassOf ?part_of_or_regulates some (?has_part_hepatocyte_process and not GO_0051179)WHERE ?hepatocyte_process != GO_0008150BEGIN ADD ?hepatocyte_process subClassOf !actsOn some ?has_part_hepatocyte_process END;

UniProtKB P12235 SLC25A4 GO:0000002UniProtKB P19971 TYMP GO:0000002UniProtKB P36776 LONP1 GO:0000002UniProtKB P39210 MPV17 GO:0000002

OPPL-Galaxy

OPPL-Galaxy

Onto-toolkitP12235P19971

GOGO

GO

GOA

OPPL 1OPPL 2

Page 14: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Ontology debugging

OPPL-Galaxy

Alan Rector, Nick Drummond, Matthew Horridge, Jeremy Rogers, Holger Knublauch, Robert Stevens, Hai Wang, and Chris Wroe. OWL pizzas: Practical experience of teaching OWL-DL: Common errors and common patterns. In LNCS 3257, 2004.

?target:CLASS,?prop:OBJECTPROPERTY,?filler:CLASS SELECT ASSERTED ?target SubClassOf ?prop only ?fillerWHERE FAIL ?target SubClassOf ?prop some ?filler BEGIN ADD ?target SubClassOf !OnlyBadPracticeResult END;

BioPAX

Page 15: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Ontology debugging

OPPL-Galaxy

Alan Rector, Nick Drummond, Matthew Horridge, Jeremy Rogers, Holger Knublauch, Robert Stevens, Hai Wang, and Chris Wroe. OWL pizzas: Practical experience of teaching OWL-DL: Common errors and common patterns. In LNCS 3257, 2004.

?target:CLASS,?prop:OBJECTPROPERTY,?filler:CLASS SELECT ASSERTED ?target SubClassOf ?prop only ?fillerWHERE FAIL ?target SubClassOf ?prop some ?filler BEGIN ADD ?target SubClassOf !OnlyBadPracticeResult END;

!!!

BioPAX

Page 16: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Refactoring: OBO2OWL puning

OPPL-Galaxy

OBO OWL OWL (Punned) OWL (Punned, triples)

.

.

.

.

.

.

.

.

?x:CLASS, ?y:INDIVIDUAL = create(?x.RENDERING) SELECT ?x SubClassOf ThingWHERE ?x != Nothing, ?x != ThingBEGIN ADD ?y Type ?x END;

?x:CLASS, ?y:INDIVIDUAL,?z:CLASS, ?w:INDIVIDUAL,?p:OBJECTPROPERTY SELECT ASSERTED ?x SubClassOf ?p some ?z, ASSERTED ?y Type ?x, ASSERTED ?w Type ?zWHERE ?x != Nothing, ?x != ThingBEGIN ADD ?y ?p ?w END;

Page 17: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Refactoring: application of ODPs

Ondrej Sváb-Zamazal, Vojtech Svátek, Luigi Iannone: Pattern-Based Ontology Transformation Service Exploiting OPPL and OWL-API. EKAW 2010

http://www.gong.manchester.ac.uk/odp/html/Entity_Feature_Value.html

OPPL-Galaxy

?x:CLASS,?y:OBJECTPROPERTY = MATCH("has((\w+))"),?z:CLASS,?feature:CLASS = create(?y.GROUPS(1))SELECT ASSERTED ?x subClassOf ?y some ?zBEGINREMOVE ?x subClassOf ?y some ?z,ADD ?x subClassOf !hasFeature some (?feature and !hasValue some ?z)END;

Person subClassOf hasheight some high

Person subClassOf hasFeature some (height and hasValue some high)

Page 18: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Implementation

Page 19: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Implementation

OPPL-Galaxy

URI mapping file (If imports)

Input ontology: OWL, OBO, ...

OPPL flat file

Output ontology: OWL (RDF/XML) or OBO

Add inferred subsumptions as assertions

Merge ontologies (If imports)

Reasoner: Pellet, FaCT++, HermiT

Page 20: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Implementation

Galaxy

OPPL wrapper

OPPL APIOWL APIReasoner

Page 21: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Implementation

Galaxy

OPPL options

Ontology

?whole:CLASS,?part:CLASSSELECT ?part SubClassOf part_of some ?whole WHERE ?part != NothingBEGINADD ?part SubClassOf part_of only ?wholeEND;

OPPL wrapper

OPPL APIOWL APIReasoner

Page 22: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Implementation

Galaxy

OPPL options

Ontology

?whole:CLASS,?part:CLASSSELECT ?part SubClassOf part_of some ?whole WHERE ?part != NothingBEGINADD ?part SubClassOf part_of only ?wholeEND;

OPPL wrapper

OPPL APIOWL APIReasoner

Page 23: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Implementation

Galaxy

OPPL options

Ontology

?whole:CLASS,?part:CLASSSELECT ?part SubClassOf part_of some ?whole WHERE ?part != NothingBEGINADD ?part SubClassOf part_of only ?wholeEND;

Galaxy tools

Downloadontology

OPPL wrapper

OPPL APIOWL APIReasoner

Modified ontology

Page 24: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Availability

Page 25: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Availability

 OPPL-Galaxy at Galaxy tool shed  Ontology manipulation: http://toolshed.g2.bx.psu.edu/ 

 OPPL-Galaxy source  http://toolshed.g2.bx.psu.edu/repos/mikel-egana-aranguren/oppl 

  Public Galaxy instance with OPPL-Galaxy

http://sele.inf.um.es:8080/

 OPPL scripts: http://oppl2.sourceforge.net/taggedexamples/

 OPPL-Galaxy works in UNIX (Mac OS X, GNU/Linux)

 OPPL-Galaxy is GPL

OPPL-Galaxy

Page 26: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Conclusions

Page 27: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Conclusions

OPPL: automate ontology manipulation

OPPL-Galaxy: exploit automated ontology manipulation: In combination with other genomics toolsIn complex workflowsHistory, shared execution, reproduce execution, … 

Ontology refactoring, complex querying, ontology pruning, …

Inference

Ultimately, automate ontology manipulation in a “natural” environment for biologists

OPPL-Galaxy

Page 28: OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

OPPL-Galaxy

Acknowledgements

Mikel Egaña Aranguren is funded by the Marie Curie Cofund programme (FP7) 

Jesualdo Tomás Fernández Breis is funded by the Spanish Ministry of Science and Innovation (Grant TIN2010-21388-C02-02)

OPPL-Galaxy