500 likes | 645 Views
Outline. Current RO realization Identifier policy Class and instance relations and RO RO and the BFO upper ontology RO Tracker and new relation process Use cases for new relations: GO and Phenotype. Current realization of the RO. Initial realization was ro.pdf
E N D
Outline • Current RO realization • Identifier policy • Class and instance relations and RO • RO and the BFO upper ontology • RO Tracker and new relation process • Use cases for new relations: • GO and Phenotype
Current realization of the RO • Initial realization was ro.pdf • Current primary realization is ro.obo • Automatically translated to ro.owl • Obo2owl mapping • There are other ‘unofficial’ translations; • E.g. BRO
Anatomy of a RO term [Typedef] id: OBO_REL:part_of name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true
Identifiers (non-numeric) [Typedef] id: OBO_REL:part_of name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true
Numeric IDs in RO v1.01 [Typedef] id: OBO_REL:part_of alt_id: OBO_REL:0000002 name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true
Text definitions [Typedef] id: OBO_REL:part_of name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true
Overloaded definitions [Typedef] id: OBO_REL:part_of name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true Continuants
Overloaded definitions [Typedef] id: OBO_REL:part_of name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true Processes
Implicit instance-level relations [Typedef] id: OBO_REL:part_of name: part_of def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P, there is some p' such that p' instantiates P', and p *part_of* p'. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874] comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell. inverse_of: OBO_REL:has_part is_reflexive: true is_anti_symmetric: true is_transitive: true Instance-level
RO was developed as an ontology of relations between types (classes) • Defined in terms of instances • “pre-quantified” • X part_ofcls Y = all X (at t) part_ofinstsome Y (at t) • Less flexible but easier to use • This is how they are conceived of by their editors in most OBO ontologies • And reflects how they are modeled in ‘graph-oriented’ models • OBO • Most bioinformatics applications • Model organism databases
Relations in OWL • Class level relations (owl:ObjectProperties) do not make much sense in OWL (except subClassOf) • “post-quantified” • Each use of part_ofinst must be explicitly quantified • E.g. heart ventricle subClassOf part_ofinstsomeheart • We can use part_ofclsbut this would be weird.. • OWL has no use for part_ofcls • Benefits • More flexibility • E.g. ALL-SOME or ALL-ONLY; cardinality • Drawbacks • Requires change of thinking for many ontology developers • What do we do about quantification over time?
Implications for translation • RO class level IDs correspond to URIs for OWL instance level properties • OBO_REL:part_of • => • http://purl.org/obo/owl/OBO_REL#part_of • This is a little odd • ALL-SOME Text definitions carried over to the owl • This too is odd • This has caused some confusion
3 alternative ways to fix this • Abandon type level relations • Reuse existing OBO IDs / URIs • Rework text defs and relation props to be instance-level • Introduce separate identifiers for instance and class level relations • E.g. OBO_REL:part_of_some and OBO_REL:part_of • Translate each OBO_REL:part_of_some use to quantified OBO_REL:part_of in OWL • Clarify current ‘punning’ semantics • Use same ID, means different thing in different contexts (for OBO, graph models) • Make it easier to excise class level info for owl ..or ..or
Long term: what language for the primary realization? • OBOF • OWL • Common Logic • http://obo.svn.sourceforge.net/viewvc/obo/obolog/trunk/
RO and the Basic Formal Ontology (BFO) • BFO is an upper ontology of entities • RO is an upper ontology of relations • Current version relatively upper-ontology neutral • Implicit references to continuants and processes • There is a separate ‘bridge’ resource • ro_bfo_bridge • Domain and range constraints • Awkward to maintain • BFO in owl with per-ontology versioned URIs • RO in obo with OBO ID versioning policy id: OBO_REL:has_participant domain: span:Occurrent range: snap:Continuant
RO website • Website • http://obofoundry.org/ro • RO 1-01 pre-release • http://www.obofoundry.org/ro/pre/ • Resources: • obo + owl realizations • Wiki • Mail list • tracker
RO Tracker • Standard sourceforge request tracker • Link: http://obofoundry.org/ro • Different kinds of requests • New term, obsoletion, change definition • Anyone can submit a request • Definitions preferred • Requirements-oriented requests fine • RO community can make comments on tracker or bring wider issues to list • What happens after a request is made?
ro_proposed • http://purl.org/obo/obo-all/ro_proposed/ro_proposed.obo.html • Incubator for new relations • 145 relations • Caveat emptor • Definitions of variable quality • Definitions mature over time • Can be copied to RO when ready • Caveat emptor • Used in: • OBO ‘cross-products’ • Pre and post coordinated • Phenote and OBD
Relations required for XPs • GO • http://wiki.geneontology.org/index.php/Relationship_type_requirements • Phenotype • <this afternoon>
Relations for phenotypes • Phenotypes are represented using dependent continuants • Qualities • Dispositions • PATO is an ontology of qualities • …and dispositions. We think. • …and some things BFO may not consider qualities. More on that later. • Phenotype descriptions can be pre or post composed
Quality instances and quality types • Some examples of quality types: • Shape • Sphericality • Temperature • Length • Some examples of quality instances: • The shape of my head • Your temperature • The length of the tail of a particular mouse instance • The unique redness instance of a particular fly eye
the type “eye” the type “red” instantiates instantiates the particular case of redness (of a particular fly eye) an instance of an eye (in a particular fly) inheres in
Current uses • Translating EQ model to logical representations • Curator sees: • Entity: FMA:Wall_of_eyeball • Quality: PATO:thick • Computer sees: • PATO:thick THAT inheres_in FMA:Wall_of_eyeball • Formalizing implicitly pre-coordinated ontologies • 5000/8000 terms in mammalian phenotype defined • Results can be combined and queried in ontology-aware databases • OBD • OWL-aware triplestore
The inheres_in relation http://sourceforge.net/tracker/index.php?func=detail&aid=1748772&group_id=76834&atid=947684 • Instance level: • Primitive • Time-indexed[?] • Domain: dependent continuant • Range: independent continuant • Too restrictive? • PATO has quality of a process • Inverse: bearer_of • Type level • All-some-all-times • Q inh E : • Forall t, qQ : exists eE, q inh e at t • E bears Q: • Forall t, eE : exists qQ, q inh e at t
PATO: Top level division Note: some nodes omitted for brevity Quality Quality of a continuant A quality which inheres In a continuant Quality of an occurrent A quality which inheres In a process or spatiotemporal region physical quality cellular quality morphology duration rate color density shape size structure arrested premature delayed
Inherence hierarchy bfo/1.0 dependent_continuant quality realizable function role disposition inheres_in quality_of realized_by function_of role_of disposition_of bfo/1.0 bearer_of has_quality has_realizable has_function has_role has_disposition dependent_continuant quality realizable function role disposition
Inherence hierarchy bfo/1.0 dependent_continuant quality realizable function role disposition inheres_in quality_of realized_by function_of role_of disposition_of bfo/1.0 bearer_of has_quality has_realizable has_function has_role has_disposition dependent_continuant quality realizable function role disposition
Inherence hierarchy 1.1 bfo/1.1 Dependent_continuant generically_dependent specifically_dependent quality realizable function role disposition inheres_in generically_inheres_in specifically_inhres_in quality_of realized_by function_of role_of disposition_of bfo/1.1 bearer_of generically_bearer_of specifically_bearer_of has_quality has_realizable has_function has_role has_disposition Dependent_continuant generically_dependent specifically_dependent quality realizable function role disposition
Multiple inherence • Generically dependent continuants inhere in multiple entities • e.g. book contents and physical copies • Specifically dependent continuants always inhere in a single entity • This is what we are concerned with in PATO • Quality • Disposition • Enforced with cardinality restriction • GDC inheres_in min 2 bfo:Entity • SDC inheres_in 1 bfo:Entity
Monadic vs relational quality of a continuant … Monadic quality of a C A quality of a C that inheres solely in the bearer and does not require another entity Relational quality of a C A quality of a C that requires another entity apart from its bearer to exist … Sensitivity (to) concentration (of) Connected-ness (to) Physical quality Cellular quality morphology shape size structure
Relational qualities • All qualities inhere in a single bearer • Some qualities have additional dependence on other entities (but they do not inhere in these entities) • (Sensitivity to red light) of an eye • The quality inheres_in the eye • With respect to (towards) red light • (Concentration of glucose) in blood • The quality inheres_in the blood • With respect to (towards) glucose • What do we call this relation? • Current placeholder: ‘towards’ • Different relations for different qualities • Where does this fit in the relation hierarchy?
depends_on towards inheres_in generically_inheres_in specifically_inhres_in quality_of realized_by function_of role_of disposition_of Dependent_continuant generically_dependent specifically_dependent quality realizable function role disposition
Relations and relational qualities • Many RQs in PATO look suspiciously like relations • Do we need both? • Eye sensitive_to red_light • Philosophical difference • Quality types are instantiated; instances inhere • Relations are not instantiated • Pragmatic difference • RQs obtain by degree • We want to attribute reasons for the RQ • E.g. geneX causes sensitivity_to Y
Heart rate • In PATO rates are qualities of processes • BFO does not admit these are qualities • What are they? • Relational quality • E.g. rate that inheres_in heart towards beating
Parts and absence • PATO v0.1 allowed the following: • E= wing Q= pato:absent • Recommended pattern • E= thorax Q= (pato:lacking_part towards wing) • Why not: • Thorax that lacks_part wing • Or • Thorax that has_part 0 wing [owl]
Multiple parts and granularity • Vacuolated • Monadic quality • Has_part vacuole, in large quantities • We can also use a relational quality • Has_multiple_parts • towards vacuole • Or a relation? • has_grain vacuole
Magnitude and measurements • Some qualities are magnitudinal / scalar • There exists in reality a total order over instances of the same type (at any given time) • E.g. • tail-lengthA@t1 < tail-lengthB@t1 < finger-lengthC@t1 • We only have epistemological access via measurements • The measurement is not the phenotype • Inaccuracy, error. Partial order • Interval calculus • Can simplify to total order for many applications
Magnitude relations • Relative magnitude • increased_relative_to (>) • decreased_relative_to (<) • Time-indexed instance level relation • Degenerate/redundant hierarchy • E.g. • c1 taller_than c2 @ t <=> • c1 has_quality q1, q1 instance_of pato:height • c2 has_quality q2, q2 instance_of pato:height • q1 > q2 @ t • Not required but may be useful for reporting, NLP etc
Magnitude and units • PATO accompanied by UO • unit_of relation • Determinates and determinable • Option 1: • q has_magnitude (number,unit) @ t • Option 2: • q has_<unit>number @ t • E.g. • (lenth of tail123) has_cm 1.2
Magnitude relatum is often implicit • PATO has • Q • increased_Q • descreased_Q • q instance_of (increased_Q relative_to {q1,q2,..}) =def • q instance_of Q and • Forall q’ in {q1…} : q > q’ • Background set often implicit, not always stated • E.g. wild type; healthy
Canonical relations & abnormal • Current placeholder relation • has_qualifier id: MP:0000217 ! abnormal white blood cell number intersection_of: PATO:0000053 ! count intersection_of: qualifier PATO:0000460 ! abnormal intersection_of: inheres_in CL:0000738 ! leukocyte • Q has_qualifier abnormal = • Q is_a increased_Q relative_to nq or • Q is_a decreased_Q relative_to nq • Where nq inheres_in normal/wildtype
Constructing phenotype descriptions • Other relations used: • Part_of, has_part
Relating genes, genotypes, gene products to phenotypes • Colloquial: implicated_in, correlated_with • We want to make a stronger relation • G influences P =def • Exists: Disposition D • D towards P • D depends_on G
Intermediate layer • Problem: • Users freak out when they see words like ‘inheres_in’ • And who can blame them • Solution: • Use intermediate representation; Lens • E.g. EQ model • But: logical representation is ‘leaky’ • We need to standardize presentation layer • E.g. user-friendly synonyms + obol style grammars
Current GO CC • Definitions are not computable • Extended GO: • cellular_component_xp • Optional additional layer • Adds computable genus-differentia definitions • Uses: • Part_of • Has_part • Surrounds • Surrounded_by
Uses cases • Detecting inconsistency in GO • Example: cytoplasmic chromosome • Reasoner classifies mt chromosome here • Not the intent • Changed to cytosolic chromosome • Spatial reasoning • E.g. reactome