Download - OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL

Transcript
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