Guidelines for logical definitions: Difference between revisions

From GO Wiki
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
  In progress
=Background reading=
=Background reading=
[https://oboacademy.github.io/obook/explanation/logical-axiomatization/#equivalent-class-logical-definitions OBO Academy description of equivalent classes and logical definitions]  
[https://oboacademy.github.io/obook/explanation/logical-axiomatization/#equivalent-class-logical-definitions OBO Academy description of equivalent classes and logical definitions]  
Line 7: Line 5:
''Note that 'logical definitions' used to be referred to as 'cross-products', but we have largely abandoned this nomenclature.''
''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 Axioms<sup>[[https://wiki.geneontology.org/Guidelines_for_logical_definitions#Footnotes | 1]</sup>, 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.  
'''Logical Definitions (LD)''', also known as Equivalence Axioms<sup>[[Guidelines_for_logical_definitions#Footnotes|1]]</sup>, 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 logical definition consists of:  
Line 15: Line 13:
* 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.   
* 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===
==Logical definitions must be 'necessary and sufficient' to define a GO class==
* For some background see the '''[https://en.wikipedia.org/wiki/Necessity_and_sufficiency 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.


TO BE CLARIFIED
==Logical definitions and textual definitions==
* For some background see the '''[https://en.wikipedia.org/wiki/Necessity_and_sufficiency Necessity and sufficiency]''' article in Wikipedia.
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]].
* 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 logical 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: https://github.com/geneontology/go-ontology/blob/master/docs/patterns/index.md
Design patterns are rules that ensure that the logical definitions and inferences made from them are consistent. GO design pattern can be viewed here: [https://github.com/geneontology/go-ontology/blob/master/docs/patterns/index.md Design patterns rendered docs index]


===Examples===
===Examples===
Line 49: Line 48:
''Has the asserted class 'hexose metabolic process'; this should be inferred from the logical definition''
''Has the asserted class 'hexose metabolic process'; this should be inferred from the logical definition''


glucose catabolic process
*glucose catabolic process
** genus: catabolic process
** genus: catabolic process
** differentia: ''has primary input'' some glucose
** differentia: ''has primary input'' some glucose


glucose biosynthetic process
* glucose biosynthetic process
** genus: biosynthetic process
** genus: biosynthetic process
** differentia: ''has primary output'' some glucose
** differentia: ''has primary output'' some glucose
Line 128: Line 127:
==Molecular function==
==Molecular function==
Logical definitions for MF that include 'binding': use 'has_part' some binding (see https://github.com/geneontology/go-ontology/issues/14266)
Logical definitions 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é=
=Using the reasoner in Protégé=
Line 144: Line 136:
[[File:View_inferences-1.png|450px]]
[[File:View_inferences-1.png|450px]]


=Other pages that need updating=
* [[Logical_Definitions]]


=Footnotes=
=Footnotes=

Latest revision as of 11:51, 9 March 2023

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

Examples

Regulation

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
[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: 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

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
[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

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

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

Footnotes

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