Ontology Generation                              Tools                             Chris MungallTuesday, May 8, 2012
Exploiting modularity                for ontology generation                       •   Biology is modular                 ...
Some tools                       • OBI QuickTerm Templates                       • Populous and OPPL                      ...
TermGenie                       •   Web based wrapper onto an ontology managed                           in a VCS         ...
History and                                   implementation                       •   TermGenie prototype: released 2010 ...
TermGenie walk-                                       through                       •   This example uses the GO TermGenie...
Tuesday, May 8, 2012
Tuesday, May 8, 2012
Tuesday, May 8, 2012
Tuesday, May 8, 2012
(we recommend Elk here)Tuesday, May 8, 2012
(this inference is fairly trivial, more complex                              cases are easily accommodated)Tuesday, May 8,...
(you can get this far without                              even logging in)Tuesday, May 8, 2012
(only authorized GO users can get this far)               The term is not committed to cvs/svn                    yet, but...
(only authorized GO gatekeepers can access this)Tuesday, May 8, 2012
Tuesday, May 8, 2012
Another example: what happens when               we try to add a term that exists already?Tuesday, May 8, 2012
Tuesday, May 8, 2012
Bulk entryTuesday, May 8, 2012
Tuesday, May 8, 2012
Discussion                       •   TermGenie currently only allows terms conforming to rigid pre-defined templates       ...
• TermGenie allows you to selectively “flesh                         out” an ontology                       • What if you w...
Shoge                       • Serial Homology Ontology Generation                         Engine                        • ...
Repetition in anatomy                       • Simple example:                        • limb segments:                     ...
limbs.shg                       grammar(limbs_simple).                       limb_segment *--> stylopod | zeugopod | autop...
Generated ontologyTuesday, May 8, 2012
Naming rules                  hand is_name_of anterior limb autopod.                  foot is_name_of posterior limb autop...
Digits (human)                  :- include(ordinal_series).                  anatomical_digit *-->                    part...
Phalanges and                              repetition with                                 variation                  phal...
a more    EHDAA2            complex            exampleTuesday, May 8, 2012
:- if(in_context(Homo sapiens)).             somite_number *-->               in_ordinal_series(1-39).             :- endi...
somitic_element   *-->   somite.     somitic_element   *-->   sclerotome.     somitic_element   *-->   myotome.     somiti...
Pre vs post                                coordination                       • Some people are uncomfortable with        ...
Conclusions                       •   TermGenie                           •   extending an ontology and filling in gaps    ...
Upcoming SlideShare
Loading in …5
×

TermGenie and Shoge

480 views

Published on

Two tools to assist in rapid ontology generation

Published in: Real Estate, Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
480
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TermGenie and Shoge

  1. 1. Ontology Generation Tools Chris MungallTuesday, May 8, 2012
  2. 2. Exploiting modularity for ontology generation • Biology is modular • Same ‘innovation’ repeated in multiple contexts, with variation • E.g. phalanx, arthropod segments • Repetition = RSI for poor ontology creators • Logical definitions and reasoning help automate classification • Reasoners will not generate terms for youTuesday, May 8, 2012
  3. 3. Some tools • OBI QuickTerm Templates • Populous and OPPL • POPL • TermGenie • instant compositional terms for curators • Shoge • generate an entire ontology from core rulesTuesday, May 8, 2012
  4. 4. TermGenie • Web based wrapper onto an ontology managed in a VCS • Administrator defines templates • User (curator or ontology editor) fills in templates • TG generates a stable ID and logical axioms plus textual metadata according to template pattern • Reasoner checks and places term • Gatekeeper approves or obsoletes termsTuesday, May 8, 2012
  5. 5. History and implementation • TermGenie prototype: released 2010 • prolog implementation • working prototype: used 2010-2011 for GO • now retired • TermGenie v1: released Q4 2011 • Programmer: Heiko Dietze • java OWLAPI based • any reasoner (Elk is default) • jQuery on front-end • Currently used heavily in GOTuesday, May 8, 2012
  6. 6. TermGenie walk- through • This example uses the GO TermGenie config • http://go.termgenie.org • GO pre-coordinates a lot of process terms • e.g. epithelial cell differentiation in kidney development • TermGenie can be configured for any compositional pattern; e.g • EQ • Repeated anatomical structures • {mucosa,submucosa,...} x {jejunem, iluem,..} • spatial qualifiersTuesday, May 8, 2012
  7. 7. Tuesday, May 8, 2012
  8. 8. Tuesday, May 8, 2012
  9. 9. Tuesday, May 8, 2012
  10. 10. Tuesday, May 8, 2012
  11. 11. (we recommend Elk here)Tuesday, May 8, 2012
  12. 12. (this inference is fairly trivial, more complex cases are easily accommodated)Tuesday, May 8, 2012
  13. 13. (you can get this far without even logging in)Tuesday, May 8, 2012
  14. 14. (only authorized GO users can get this far) The term is not committed to cvs/svn yet, but the ID is reservedTuesday, May 8, 2012
  15. 15. (only authorized GO gatekeepers can access this)Tuesday, May 8, 2012
  16. 16. Tuesday, May 8, 2012
  17. 17. Another example: what happens when we try to add a term that exists already?Tuesday, May 8, 2012
  18. 18. Tuesday, May 8, 2012
  19. 19. Bulk entryTuesday, May 8, 2012
  20. 20. Tuesday, May 8, 2012
  21. 21. Discussion • TermGenie currently only allows terms conforming to rigid pre-defined templates • In our experience this is a good thing • Ontology engineering roles and phases • High level design • relations • core repeated terms • patterns • small number of domain experts and ontologists • Implementing the design • filling in templates • curators • lots of users, need not be trained in ontologiesTuesday, May 8, 2012
  22. 22. • TermGenie allows you to selectively “flesh out” an ontology • What if you want to seed an ontology from some basic rules?Tuesday, May 8, 2012
  23. 23. Shoge • Serial Homology Ontology Generation Engine • Uses anatomy grammars to generate • labels • logical axiomsTuesday, May 8, 2012
  24. 24. Repetition in anatomy • Simple example: • limb segments: • stylopod, zeugopod, autopod • Each is repeated 4 times • anterior/posterior • fore/hindTuesday, May 8, 2012
  25. 25. limbs.shg grammar(limbs_simple). limb_segment *--> stylopod | zeugopod | autopod. stylopod *--> in_limb, @stylopod. zeugopod *--> in_limb, @zeugopod. autopod *--> in_limb, @autopod. in_limb *--> part_of some limb. limb *--> laterality, anterioposterior, @limb. laterality *--> @left. laterality *--> @right. anterioposterior *--> @anterior. anterioposterior *--> @posterior.Tuesday, May 8, 2012
  26. 26. Generated ontologyTuesday, May 8, 2012
  27. 27. Naming rules hand is_name_of anterior limb autopod. foot is_name_of posterior limb autopod.Tuesday, May 8, 2012
  28. 28. Digits (human) :- include(ordinal_series). anatomical_digit *--> part_of some limb, @anatomical_digit, in_ordinal_series(1-5). Together with previous grammar, this generates 20 digits, such as: Class: ‘left forelimb digit 1’ EquivalentTo: digit and part_of some ‘left forelimb’ and has_order value 1Tuesday, May 8, 2012
  29. 29. Phalanges and repetition with variation phalanx *--> ?proximality,@phalanx,[of],part_of some anatomical_digit. proximality *--> @proximal. proximality *--> @distal. proximality *--> @medial. exclude(phalanx and medial and part_of some (anatomical_digit and has_order value 1)). Generates 52 leaf node classesTuesday, May 8, 2012
  30. 30. a more EHDAA2 complex exampleTuesday, May 8, 2012
  31. 31. :- if(in_context(Homo sapiens)). somite_number *--> in_ordinal_series(1-39). :- endif. :- if(in_context(Mus)). Somites somite_number *--> in_ordinal_series(1-65). :- endif. :- if(in_context(chick)). somite_number *--> in_ordinal_series(1-50). :- endif. :- if(in_context(snake)). somite_number *--> in_ordinal_series(1-500). :- endif.Tuesday, May 8, 2012
  32. 32. somitic_element *--> somite. somitic_element *--> sclerotome. somitic_element *--> myotome. somitic_element *--> dermatome. somitic_element *--> dermomyotome. somite *--> @somite,somite_number. sclerotome *--> @sclerotome,somite_number. dermatome *--> @dermatome,somite_number. myotome *--> @myotome,somite_number. dermomyotome *--> @dermomyotome,somite_number. about *--> {develops_from(S1,S2)}, % RULE somitic_element(S1 and X),[develops,from],somitic_element(S2 and X) % PHRASE :: S1 and X < develops_from some S2 and X. % AXIOM % GENERIC RULES develops_from(dermatome,dermomyotome). develops_from(myotome,dermomyotome). develops_from(dermomyotome,somite). develops_from(sclerotome,somite).Tuesday, May 8, 2012
  33. 33. Pre vs post coordination • Some people are uncomfortable with excessive pre-coordination • Shoge can be used to create a ‘background’ super-pre-coordinated ontology • align with existing ontologies to check • curators can mireot in the subsets theyTuesday, May 8, 2012
  34. 34. Conclusions • TermGenie • extending an ontology and filling in gaps • in production use for GO • easy to make your own templates • Shoge • generating an entire ontology module • powerful but difficult to use (prolog helps) • in developmentTuesday, May 8, 2012

×