Guidelines for logical definitions
In progress
Equivalence Axioms
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 equivalence axioms used to be referred to as 'cross-products', but we have largely abandoned this nomenclature.
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
- 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
- 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.