Guidelines for logical definitions

From GO Wiki
Revision as of 12:26, 8 March 2023 by Pascale (talk | contribs)
Jump to navigation Jump to search
  In progress

Equivalence Axioms

Note that equivalence axioms used to be referred to as 'cross-products', but we have largely abandoned this nomenclature.

Equivalence Axioms, also known as Logical Definitions (LD), are computable definitions of the genus-differentia form. An equivalence axiom can be added when there is a criteria that can be specified that distinguishes the GO class from its parent and siblings. Hence, top-level classes cannot have equivalence axioms, since a genera from GO is needed.

An equivalence axiom consists of:

  • a genus: the broader class to which the term belongs (the 'parent' or 'superclass'), and
  • one or more differentia: the property/ies that distinguish the term from its superclass and from other members of the same class (siblings). Equivalence axioms can be used these to automate classification in the ontology using reasoning software.
  • Note that only the axioms strictly needed to create a necessary and sufficient distinction between a term and its superclass should be included in the equivalence axiom. If other relations should be added, these should be added as asserted superclasses.

Equivalence Axioms must be 'necessary and sufficient' to define a GO class

TO BE CLARIFIED
  • For some background see the Necessity and sufficiency article in Wikipedia.
  • In GO, some relationships assert classification (a nucleolus is a class of organelle), others make statements about necessary conditions for being a member of a class (being part of a nucleus is a necessary condition of being in the class nucleolus).
  • Other relationships specify both necessary and sufficient conditions for being a class member (any channel activity that transports ions is an ion channel activity).

Design Patterns to standardize equivalence axioms

Ensure that the equivalence axioms, and that inferences are consistent. Current design pattern can be viewed here: https://github.com/geneontology/go-ontology/blob/master/docs/patterns/index.md

Examples

regulation of endocytosis

regulation of endocytosis is biological regulation that regulates endocytosis

Likewise for positive and negative regulation: positive regulation of endocytosis is biological regulation that positively regulates endocytosis

negative regulation of endocytosis is biological regulation that negatively regulates endocytosis


mitochondrial DNA replication

mitochondrial DNA replication is DNA replication that occurs in a mitochondrion

  • genus: 'DNA replication'
  • differentia: 'occurs in' some mitochondrion
[Term]
id: GO:0006264
name: mitochondrial DNA replication
namespace: biological_process
def: "The process in which new strands of DNA are synthesized in the mitochondrion." [GOC:ai]
is_a: GO:0006261 ! DNA-dependent DNA replication
intersection_of: GO:0006260 ! DNA replication
intersection_of: occurs_in GO:0005739 ! mitochondrion
  • Note that this term has/had an asserted superclass, 'DNA-templated DNA replication'. The fact that there is an asserted class in the same branch of the ontology may be an indication that something is incorrect in the ontology. In this case, the genera should probably be 'DNA-templated DNA replication', not 'DNA replication'.

lysosomal membrane

lysosomal membrane is the membrane that surrounds a lysosome

  • genus: 'whole membrane'
  • differentia: and 'bounding layer of' some lysosome
[Term]
id: GO:0005765
name: lysosomal membrane
namespace: cellular_component
def: "The lipid bilayer surrounding the lysosome and separating its contents from the cell cytoplasm." [GOC:ai]
is_a: GO:0005774 ! vacuolar membrane
intersection_of: GO:0098805 ! whole membrane
intersection_of: bounding_layer_of GO:0005764 ! lysosome
relationship: part_of GO:0005764 ! lysosome

Types of differentia classes allowed

Differentia can be made with terms from ontologies other than GO.

Examples:

  • megasporocyte nucleus is a nucleus that is part of a megasporocyte
[Term]
id: GO:0043076
name: megasporocyte nucleus
namespace: cellular_component
def: "The nucleus of a megasporocyte, a diploid cell that undergoes meiosis to produce four megaspores, and its descendents." [GOC:jl, ISBN:0618254153]
synonym: "megaspore mother cell nucleus" EXACT []
is_a: GO:0005634 ! nucleus
intersection_of: GO:0005634 ! nucleus
intersection_of: part_of PO:0000431 ! megasporocyte

  • osteoblast development is cell development that results in the development of an osteoblast
[Term]
id: GO:0002076
name: osteoblast development
namespace: biological_process
def: "The process whose specific outcome is the progression of an osteoblast over time, from its formation to the mature structure. Osteoblast development does not include the steps involved in committing a cranial neural crest cell or an osteoprogenitor cell to an osteoblast fate. An osteoblast is a cell that gives rise to bone." [GOC:dph]
is_a: GO:0048468 ! cell development
intersection_of: GO:0032502 ! developmental process
intersection_of: results_in_development_of CL:0000062 ! osteoblast
relationship: part_of GO:0001649 ! osteoblast differentiation

Molecular function

Equivalent axioms for MF that include 'binding': use 'has_part' some binding (see https://github.com/geneontology/go-ontology/issues/14266)

Biological processes

x biosynthesis

'biosynthetic process'

and ('has primary output' some x)


Using the reasoner in Protégé

The inferences generated by the equivalence axioms will only be shown in Protege if the Reasoner in on. We use the ELK reasoner. To turn on the reasoner in Protege, go to the Reasoner menu, and make sure ELK0.4.3 is checked. Then, again in the Reasoner menu, click Start reasoner.

To view the inferences generated by the equivalence axioms, select Inferred (from the default 'asserted') in the top-right menu in the 'Classes' window.



Back to: Editing the Ontology