Guidelines for logical definitions

From GO Wiki
Jump to navigation Jump to search

Background reading

OBO Academy description of equivalent classes and logical definitions

Logical Definitions

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

Logical Definitions (LD), also known as Equivalence Axioms1, are computable definitions of the genus-differentia form. A logical definitions 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 genus from GO is needed.

A logical definition consists of:

  • a genus: the broader class to which the term belongs (the 'parent' or 'superclass'), and
  • one or more differentiae: the property/ies that distinguish the term from its superclass and from other members of the same class (siblings). Logical definitions 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 logical definition. If other relations should be added, these should be added as asserted superclasses.

Logical definitions must be 'necessary and sufficient' to define a GO class

  • For some background see the Necessity and sufficiency article in Wikipedia.
  • Necessity: means that all of the conditions that make up the logical definition must be true for the term. For example, if we used the statement "transport and ('transports or maintains localization of' glucose)" from the 'glucose transmembrane transport' above, it describes a necessary condition because in order to carry out glucose transmembrane transport, it is necessary to carry out glucose transport. If we had used "transport and ('transports or maintains localization of' D-glucose)", this would not have been necessary. It is not necessary to transport D-glucose for glucose transmembrane transport to occur. L-glucose could also be transported.
  • Sufficiency: is the minimal statement needed to make the logical definition true for the term. For example, 'hexose transmembrane transport' is a transmembrane transport and 'has primary input' some hexose. The primary input is sufficient to distinguish this term from its parent.

Logical definitions and textual definitions

Logical and textual definitions should be broadly aligned. The textual definition can provide additional information, but all information contained in the logical definition should also be included in the textual definition. See also Guidelines for GO textual definitions.

Design Patterns to standardize logical definitions

Design patterns are rules that ensure that the logical definitions and inferences made from them are consistent. GO design pattern can be viewed here: Design patterns rendered docs index



regulation of endocytosis

  • regulation of endocytosis
    • genus: biological regulation
    • differentia: and regulates some endocytosis

This term has an assertion for 'regulation of cellular component organization' - is this right?

Likewise for positive and negative regulation:

  • positive regulation of endocytosis
    • genus: biological regulation
    • differentia:positively regulates some endocytosis
  • negative regulation of endocytosis
    • genus: biological regulation
    • differentia: and negatively regulates some endocytosis

Metabolic process

  • glucose metabolic process
    • genus: metabolic process
    • differentia: has primary input or output some glucose

Has the asserted class 'hexose metabolic process'; this should be inferred from the logical definition

  • glucose catabolic process
    • genus: catabolic process
    • differentia: has primary input some glucose
  • glucose biosynthetic process
    • genus: biosynthetic process
    • differentia: has primary output some glucose

Other examples (with no Design pattern)

mitochondrial DNA replication

mitochondrial DNA replication is DNA replication that occurs in a mitochondrion

  • genus: DNA replication
  • differentia: occurs in some mitochondrion
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: membrane
  • differentia: and 'bounding layer of' some lysosome
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

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

Examples with cell ontology:

  • megasporocyte nucleus is a nucleus that is part of a megasporocyte
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
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

Logical definitions for MF that include 'binding': use 'has_part' some binding (see

Using the reasoner in Protégé

The inferences generated by the logical definitions 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 logical definitions, select Inferred (from the default 'asserted') in the top-right menu in the 'Classes' window.

Other pages that need updating


1 Equivalence Axioms can also be used in a broader meaning, for example to assert that two classes from different ontologies are equivalent: PR:protein = CHEBI:protein.

Back to: Editing the Ontology