RO:Historic Material

From NCBO Wiki
Revision as of 15:35, 1 November 2013 by Cjm (talk | contribs) (Created page with " This page contains historic material on the RO Note most of this is out of date and kept for archival purposes. '''For up to date documentation please see the RO homepage...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page contains historic material on the RO

Note most of this is out of date and kept for archival purposes.


For up to date documentation please see the RO homepage: http://purl.obolibrary.org/obo/ro

RO - OBO Relation Ontology

The main RO page is located on The OBO Foundry Website

You can browse the ontology and get e-mail list details there.

A formalization of instance-level relations in RO

In "Logical properties of foundational mereogeometrical relations in bio-ontologies" Tom Bittner provides axiomatization of the instance-level spatial relations in RO.

Open issues

An RO expert meeting took place in May, 2008. See OntologyRelations for notes and presentations.

Note that requests for new terms etc should go in the RO tracker

Mike And Chris' Relation Ontology Proposed (MACROP), a list targets relations is MACROP

Proposal regarding defined classes

We take 'type' as primitive; types are children of BFO categories, which are themselves types. In the definitions that follow we ignore the factor of time, which should however be made explicit according to the practices established in RO.

extension =def. the class [collection, totality, set] of all instances of a type

defined class =def. a class all of whose members instantiate the same type T, that is (1) not itself the extension of any type, (2) defined by means of a statement of necessary and sufficient conditions of the form 'A ... is a T which ...'.

Example: all people holding violins in the La Scala Opera House at a certain time.

composite class =def. a class all of whose members instantiate one or other of a number of types, T1, ... Tn, that is (1) not itself the extension of any type, (2) defined by means of a disjunction of statements giving necessary and sufficient conditions of the form 'A ... is either a T1 which ... or a Tn which ...'

Example: all people or bacteria in the La Scala Opera House at a certain time; the pattern '...' exemplified by graphical instances and by morse code beeps.


Three types of relations

The OBO Relation Ontology (aka the OBO Relationship Types Ontology) distinguished three families of relations, according to whether they hold between instances, types, or combinations thereof, for example:

  • 1. instance_of holding between an instance and a type
  • 2. part_of holding between an instance and an instance
  • 3. part_of holding between a type and a type

We use bold face to mark out those relational expressions used in ontologies such as GO to represent the relations between the types these ontologies represent.

In the original Genome Biology paper we focused primarily on defining relations of type 3. in terms of those of types 1. and 2. This was to meet the need among biologists for clear guidance as to what the relational expressions used in ontologies such as GO precisely mean.

In our treatment of relations of types 1. and 2. we focused primarily on picking out certain instance level relations which we fixed on as primitive -- meaning that they are so basic to the relational architecture of reality that they cannot be defined in terms of anything more basic. The primitive relations selected were as follows:

  • c instance_of C at t - a primitive relation between a continuant instance and a class which it instantiates at a specific time
  • p instance_of P - a primitive relation between a process instance and a class which it instantiates holding independently of time
  • c part_of c1 at t - a primitive relation between two continuant instances and a time at which the one is part of the other
  • p part_of p1, r part_of r1 - a primitive relation of parthood, holding independently of time, either between process instances (one a subprocess of the other), or between spatial regions (one a subregion of the other)
  • c located_in r at t - a primitive relation between a continuant instance, a spatial region which it occupies, and a time
  • r adjacent_to r1 - a primitive relation of proximity between two continuants
  • t earlier t1 - a primitive relation between two times
  • c derives_from c1 - a primitive relation involving two distinct material continuants c and c1
  • p has_participant c at t - a primitive relation between a process, a continuant, and a time
  • p has_agent c at t - a primitive relation between a process, a continuant and a time at which the continuant is causally active in the process

In proposing new relations (both on the wiki and in the http://sourceforge.net/tracker/?group_id=76834&atid=947684&func=browse Sourceforge Tracker], please specify to which of the three types your proposed relation belongs.

  • If it is an instance-level relation, please answer the following questions:
    • a. is it already on the list above?
    • b. is it primitive in the above-mentioned sense?
  • If the answer to both of these questions is no,
    • c. can it be defined in terms of the relations on the above list?
  • If yes, please supply a definition (an example is provided below)
  • If no, please propose also those primitive instance-level relations which would need to be added to the RO in order to define it.

How to Define an Instance-Level Relation

First, check whether your proposed relation needs a definition -- perhaps it is primitive (see above).

All definitions specify necessary and sufficient conditions. Thus if we are defining what it is to be an A, then the definition might read, for example:

x is an A =def. x has features F1, F2, F3.

This definition would be correct if and only if everything which has features F1, F2, and F3 is an A, and everything which is an A has features F1, F2, and F3.

For instance-level relations, the definition might read as follows:

x stands in instance-level relation r to y =def. x has features F1, F2, y has features F3, F4, x stands in instance-level relations r1, r2 to y.

For a specific example consider preceded_by, a relation between occurrents (drawn from the RO paper).

With the primitive relations has_participant and earlier at our disposal we first define the instance-level relation p occurring_at t as follows:

p occurring_at t =def. for some c, p has_participant c at t.

We can then define:

c exists_at t =def. for some p, p has_participant c at t

p preceded_by p1 =def. for all t, t1, if p occurring_at t and p1 occurring_at t1, then t1 earlier t

t first_instant p =def.
p occurring_at t, and
for all t1, if t1 earlier t, then not p occurring_at t1
t last_instant p =def.
p occurring_at t and
for all t1, if t earlier t1, then not p occurring_at t1
p immediately_preceded_by p1 =def.
for some t, t first_instant p and
t last_instant p1.

In these terms we can also define the instance-level relation has_duration proposed by Liju:

p has_duration y =def.
p is an occurrent, and
for some t1, t1 first_instant p, and
for some t2, t2 last_instant p, and
for all t, t1 earlier t and t earlier t2 implies p occurring_at t [this to ensure that p is continuous; has no gaps],
y is the interval (t1,t2).

Here a new functional operator 'the interval ( , )' has been introduced, which generates the name of an interval from a pair of names for times.

On the logic of instance-level relations see also Bittner's paper here.

Proposed new type-level relations (posted by Melanie Courtot)

relations between generically dependent continuants and specifically dependent continuants:

  • concretizes
  • is_concretized_by
  • about
  • inheres_in
  • depends_on
  • output_of
  • has_input
  • has_function
  • has_quality
  • realization_of
  • lacks

The lacks family of relations is discussed at: [1]

Some of those are described in the RO proposed file.

The treatment of the derives_from relation has been criticised from an ontological point of view: [2]. Transformation_of is always, by definition a 1-1 relation. The thesis in the original RO paper was (A) that the derives_from relation could be n-1 or 1-n (for n > 1) but also (B) that there are examples of 1-1 derives from relations (e.g. the relation between a living organism and a corpse). This thesis (B) has now been dropped. The relation between a corpse and the predecessor organism is one of transformation.

There is also the terminological problem that "derives_from" is used specifically for evolutionary relationships by some. We will report back on this after the september NCBO anatomy meeting. We may create a "develops_from" parent for transformation_of corresponding to how that relation is currently used in MOD AOs

See also

Pending

The relation of overlaps

X overlaps Y =def. for every t and every x, if x instance_of X at t, then there is some instance y of Y at t such that (x overlaps y at t)

where

x overlaps y at t =def there is some z such that z is part_of x at t and z part_of y at t

Note that it can be the case that X overlaps Y as thus defined, even though Y does not overlap X.

Thus uterine tracts overlaps urinogenital sysem but not uriongenital system OVERLAPS uterine tract (because of male urinogenital systems)

Actually uterine tract is part_of urinogenital system, which raises the question of whether each of X's parts overlaps X.

Proposed Gene Ontology 'Regulates' Relations

[Typedef] id: OBO_REL:regulates

name: regulates
def: "A relation between a process and a process or quality. A regulates B if the unfolding of A affects the frequency, rate or extent of B. A is called the regulating process, B the regulates process" []
transitive_over: OBO_REL:part_of

[Typedef] id: OBO_REL:positively_regulates

name: positively_regulates
def: "A regulation relation in which the unfolding of the regulating process *increases* the frequency, rate or extent of the regulated process"
is_a: OBO_REL:regulates
transitive_over: OBO_REL:part_of

[Typedef] id: OBO_REL:negatively_regulates

name: negatively_regulates
def: "A regulation relation in which the unfolding of the regulating process *decreases* the frequency, rate or extent of the regulated process"
is_a: OBO_REL:regulates
transitive_over: OBO_REL:part_of

Example file:

ftp://ftp.geneontology.org/pub/go/scratch/gene_ontology_with_regulates_relations_test.obo

Some follow-up comments at the sourceforge tracker page

func=detail&aid=1874192&group_id=76834&atid=947684 here


Need for Specific Role Relations (BS)

x has a role => x is assigned the role e.g. in the protocol x realizes the role => x has the role x plays the role => x performs those actions which someone who has the role would perform if they were realizing it

Someone who has a role can also play it But so also can someone who does not have the role, e.g. the doctor takes on the nurse role because the nurse is off sick.

Hunter/Bada Proposal for new relations

GRANULARITY/SPECIFICITY


We assert that the level of granularity/specifity of the proposed relations is a central issue that, once resolved, will provide useful guidelines as to what is needed to capture a piece of knowledge by a relational link. The examples in this proposal use process terms from the Gene Ontology, but we believe that this issue applies to other OBOs as well.


We assert that the addition of relations should be primarily guided by the effort to link OBO terms with other OBO terms, as is being done in the OBO cross-product project. A composite set of links from a given more complex OBO terms to more atomic OBO terms will provide the (hopefully complete) definition of the former. A given link from the term being defined, employing an RO relation, must unambiguously capture some piece of knowledge, some part of the definition, of this term. It is this unambiguous representation of some part of the complete definition of the term that should determine the specificity of the relation. This may require the use of a specific relation, but we assert that it is more important to avoid losing knowledge in the represented definition than to exclusively use general relations.


It is ideal to use general, reusable relations in such definitions without losing information, and we believe that this is sometimes possible. For example, for the many GO process terms that use “during” to specify a process that is taking place within the span of another process (e.g., “actin filament reorganization during cell cycle”), it is acceptable to use a standard temporal relation, as no information is lost by doing so. However, especially in the definitions of processes, we assert that the unambiguous capture of roles of participants will require relatively specific relations.


There have been efforts to use general relations to denote roles, but they have been difficult to define (e.g., has_agent, has_patient, has_central_participant) and/or insufficient to specify the role (e.g., has_output_participant). If suitably precise general relations cannot be defined, relatively specific relations are needed. Thus, for all of the growth terms (e.g., “organ growth”, “filamentous growth”), if a general relation to indicate what is growing cannot be suitably defined, then a specific relation must be created to capture this, either in the form of a lexically analogous relation (e.g., results_in_growth_of) or as one that incorporates the template definitions of the term (e.g., results_in_increase_in_size_or_mass_of, since most of the growth terms are defined as the increase in size or mass of an entity). These two approaches by themselves are computationally synonymous but differ in terms of human comprehension. The former, while not adding information for human users, can be straightforwardly formed. The latter, while helpful for human users, can get unwieldy in the case of complex definitions. For example, the detection-of-stimulus terms are defined as the series of events in which a stimulus is received by an entity and converted into a molecular signal, and results_in_reception_of_stimulus_and_conversion_into_molecular_signal_of is clearly getting ridiculous.


It is also ideal for relations, especially relatively specific ones as exemplified above, to be formally defined (i.e., in a computationlly procesable way) in terms of more atomic relations. However, it will be very difficult to produce formal definitions in terms of more atomic relations, especially for relatively specific relations. We assert that the linking of OBO terms to generate cross-products should be a priority, and this requires the specification of relations (as discussed above) to link the terms. A requirement for any proposed relation to have a formal decomposed definition in terms of more atomic relations would be a significant bottleneck to this process. Just as there is no requirement for an added OBO term to have a formal definition, there should be no such requirement for an added OBO relation. We would like to be clear that we believe it extremely beneficial to have such formal definitions (and thus efforts should continually be put into creating such definitions), but this should not be an obstacle to the introduction of new relations.


LEXICAL FORM


We propose that each relation should canonically be in the form of a verb phrase. We assert that this promotes usability in that it emphasizes the fact that these are relationships between entities.

TAIR Relations

See http://sourceforge.net/tracker/index.php?func=detail&aid=1888149&group_id=76834&atid=947684

Relations between continuants and occurrents:

  • has (function)
  • involved in
  • functions as
  • required for
  • functions in
  • has protein modification of type
  • contributes to
  • is upregulated by
  • is downregulated by

Relations between continuants:

  • located in
  • expressed in
  • colocalizes with
  • is subunit of
  • constituent of
  • has protein-protein physical interaction with
  • has protein-DNA interaction with
  • binds to cis-element of
  • acts upstream of
  • acts downstream of
  • expressed during
  • protein is modified by
  • is regulated by
  • represses

Relations between continuants and qualities (phenotypes in our case):

  • suppresses gene
  • enhances gene
  • partially enhances gene
  • partially suppresses gene

Proposed homologous_to relation

Note, the term 'homology' has had many uses. This is an attempt to formally define 'cladistic homology'. One possible informal way to define this: "similarity due to unbroken descent from a common ancestor" ('Developmental Plasticity and Evolution', Mary West-Eberhard (2003))


x1 derived_by_direct_descent_from x2 iff there are y1, y2 such that:

- y1 is an organism

- x1 is an anatomical structure

- x1 part_of y1

- y2 is an organism

- x2 is an anatomical structure

- x2 part_of y2

- y2 is a parent of y1

- the genetic sequence that determined the morphology of x1 is partially a copy of the genetic sequence that determined the morphology of y2. *(see notes below)

derived_by_descent_from is the instance level relation which is the transitive closure over derived_by_direct_descent_from

From this we can define a type level relation:

A in B derived_by_descent_from C in D :

For all A(a) -> exists b, d, c: B(b) & C(c) & D(d)

a part_of b

a derived_by_descent_from c

c part_of d

(Note – B must be a subclade of the clade genealogically descended from D)

A1 in B1 homologous_to A2 in B2

iff

exists A3, B3:

A1 in B1 derived_by_descent_from A3 in B3

&

A2 in B2 derived_by_descent_from A3 in B3

(Note B1 and B2 must both be subclades of the clade descending (in the genealogical sense) from D)

[* This clause still needs some work]

[* On the Phenoscape project list, Jim Balhoff added the following critique of this:

Something that jumps out at me in the definition of derived_by_direct_descent_from:

I would not say that genetic sequences "determine" any morphology. I would prefer something like "participates in the development of" the morphology of x1. Anyway, I don't see genetic sequences as an absolutely necessary component of homology (although they would very often be an important component).]

[* DS: comment - I agree that reference to genetic sequence is (probably) unnecessary. Anyway, it is clear that the current formulation doesn't work: The morphology of my leg is determined by a partial copy of the genetic sequence that determined morphology of my father's arm. One possible alternative, deliberately ignoring genetics: Of all the anatomical structures in y2, x2 is the most morphologically similar to x1. ]

Note: Do we need to include time (exists & existed)?

FN – just to be on the safe side we can include time – it's not obviously useful but it could block some objections and won't affect the logic.

relation to what is in RO proposed

Note that there are a number of synonyms for derived_by_descent_from, including 'evolutionarily_derived_from' which is currently in ROproposed as follows:

id: OBO_REL:evolutionarily_derived_from

name: evolutionarily_derived_from

def: "Instance 3-ary relation: x edf y as T iff x specified_by gx and gx ancestral_copy_of gy and gy specifies y" []

synonym: "derived_from" RELATED []

synonym: "descended_from" RELATED []

synonym: "evolved_from" RELATED []

is_transitive: true

OWL Conversion

The standard GO obo->owl conversion is used. See OboInOwl:Main_Page for details

obo1.2 defines "builtin" tags for relations that are hardwired into the obo semantics - is_a and instance_of are tagged builtin. These are not exported in OWL, as these are also part of the OWL language

Measurements

At the IEO meeting people seemed to agree that we use a relation called is_measurement_of to relate a measurement to some entity. (I can't remember if these were the exact names we used). is_measurement_of is subpropertyOf is_about

In the following we are discussing instance level relationships.

  • measurement_datum:
    • has_value:
    • in_units:
    • of_dimension:

m1 type measurement:

  • m1 has_value 30^^xsd:float
  • m1 in_units_of degree_celsius (UO:0000027)
  • m1 of_dimension temperature_dimension (PATO:0000146? -that's what's in UO, but need to think about that)

(Unresolved: latter two are classes. I guess that means that in_units_of and of_dimension are annotation properties, which is a shame. Either that or degree_celsius and temperature_dimension are instances of some sort. Barry?)

  • room1 type site
  • room1 has_quality t1
  • t1 instance_of temperature (PATO:0000146)
  • m1 is_measurement_of t1

It was left open exactly how to represent uncertainty in the measurement, but this was thought to be perhaps something associated with the instrument or with a collection of measurements, rather than what was associated with the individual measurement.

Inference rule on is_about: forall x, y, z, if x is_about y and y inheres_in z then x is_about z

Realization_of and Associated Relations

For OBI purposes there is a need for an instance-level relation between a plan (for instance a protocol) and the occurrent which realizes this plan.

In its terms we might define, for example,

x deviation_from y

=def. x is an occurrent and y is a plan and there is an agent z who is the agent_of x and is attempting in performing x to realize y and it is not the case that x realization_of y

derivation-like relations

From this thread. Related, section VI from http://ontology.buffalo.edu/smith/articles/16Days.pdf

We need relations that parallel the definition of transformation and derivation, but for different configurations of identity and existence in time. Motivating examples are cases where entities retain identity as they become and cease to be part of something else (wheel/car, protein/protein complex).

Here's an attempt, following the language in the relations paper.

c assembled_from c1, c2, .. cn

assembled_from holds between material continuants when one comes into existence at a certain time in such a way that it has the others as parts. Thus we will have axioms to the effect that from c assembled_from c1 and c2 we can infer that c1 part_of c at t, c2 part_of c at t, etc, and that the spatial region occupied by c contains the spatial regions of c1.. cn at t

c gains_part c1

gains_part holds between material continuants when one becomes part of the other at a certain time. Thus we will have axioms to the effect that from c gains_part c1 we can infer that c1 part_of c at t, that the spatial region occupied by c contains the spatial region of c1 at t , and that for any e > 0, there exists a time te st. t-te < e and it is not the case that c1 part_of c at te and the spatial region occupied by c does not overlap the spatial region of c1 at te.

c loses_part c1

loses_part holds between material continuants when one ceases being part of the other at a certain time, but both entities continue to exist. Thus we will have axioms to the effect that from c loses_part c1 we can infer that not(c1 part_of c at t), that the spatial region occupied by c does not overlap the spatial region of c1 at t , and that for any e > 0, there exists a time te st. t-te < e and c1 part_of c at te and the spatial region occupied by c contains the spatial region of c1 at te.

c disassembles_into c1, c2,..., cn

disassembles_into holds between material continuants when one ceases to exist at a certain time and some of its parts come to be self standing. Thus we will have axioms to the effect that from c disassembles_into c1 and c2 we can infer that c1 part_of c just before t, c2 part_of c just before t, etc, that the spatial region occupied by c contains the spatial regions of c1.. cn just before t, that c does not exist after t, and c1, c2.. exist at t.

In terms of the "16 days" paper, assembly = unification, disassembly = separation.

Another way to highlight the differences between the relations is this summary, in short hand. -> marks the temporal divide. If you don't see a variable on one side, the entity it denotes doesn't exist at that time. The {} is a kind of signature, even shorter version to emphasize the changes in existence. "," marks the temporal divide. "-" means something ceases to exist. "*-" means all denoted entities ceases to exist. "+" means something comes into existence.

derivation {*-,+}
a -> b c aka fission
b c -> a aka fusion

transformation {,}
a,C(a) -> a,C'(a)

gains part {,}
a,b, not has_part(a,b) -> a,b, has_part(a,b)

loses part {,}
a,b, has_part(a,b) -> a,b, not has_part(a,b)

unification/assembly {,+}
a,b -> c, has_part(c,a),has_part(c,b)

separation/disassembly {-,}
c, has_part(c,a),has_part(c,b) -> a,b

Note that Barry has suggested that derivation be revised so as to not imply that the entities that exist before the temporal divide cease to exist, but retaining that a new entity is created. If this comes to be, then we might imagine a hierarchy of relations

  • derives_from
    • fused_from
    • fissioned_from yes, lousy name
    • assembled_from
    • disassembled_from

gains_part and loses_part aren't derivation since no new entity is created. In that sense they are similar to transformation.

Errata in Relations paper

"C part_of C1 = [definition] for all c, t, if Cct then there is some c1 such that C1c1t and c part_of c1 at t. Note the 'all-some' structure of this definition, a structure which will recur in almost all the relations treated here. C part_of C1 defines a relational property of permanent parthood for Cs. It tells us that Cs, whenever they exist, exist as parts of C1s."

it's not right to say "permanent" or "whenever they exist". Since entities (e.g. embryos) can change type as they grow older, more like "entities, whenever then instantiate C, are parts of C1s"

Alan Ruttenberg


Page R46.7, Contained_in relationship:

The text says: "C1 overlap c2 at t =[definition] for some c, c part_of c1 at t and c part_of c2 at t."

The first C1 is in upper case letters; it should be lower case.

Barry Smith

Background Material