The document discusses ontology generation tools TermGenie and Shoge. TermGenie allows curators to generate stable IDs and logical axioms for terms by filling out predefined templates, and has been used successfully by the Gene Ontology Consortium. Shoge uses anatomy grammars to generate labels and logical axioms for entire modules, such as generating terms for limb segments and their repetition across different contexts. The document provides examples of grammars used by Shoge to model phenomena such as serial homology.
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 you
Tuesday, May 8, 2012
3. Some tools
• OBI QuickTerm Templates
• Populous and OPPL
• POPL
• TermGenie
• instant compositional terms for curators
• Shoge
• generate an entire ontology from core rules
Tuesday, May 8, 2012
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 terms
Tuesday, May 8, 2012
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 GO
Tuesday, May 8, 2012
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 qualifiers
Tuesday, May 8, 2012
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 ontologies
Tuesday, May 8, 2012
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. Shoge
• Serial Homology Ontology Generation
Engine
• Uses anatomy grammars to
generate
• labels
• logical axioms
Tuesday, May 8, 2012
24. Repetition in anatomy
• Simple example:
• limb segments:
• stylopod, zeugopod, autopod
• Each is repeated 4 times
• anterior/posterior
• fore/hind
Tuesday, May 8, 2012
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 1
Tuesday, May 8, 2012
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 classes
Tuesday, May 8, 2012
30. a more EHDAA2
complex
example
Tuesday, May 8, 2012
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. 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 they
Tuesday, May 8, 2012
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 development
Tuesday, May 8, 2012