|
The use of object-oriented concepts in the integration of the Gene Ontology into an object-oriented model. Object-oriented terms, their definitions, and corresponding mechanisms of incorporating GO terms into an object-oriented model are shown. A specific example from the manuscript is also given. GO, Gene Ontology; DAG, directed acyclic graph; OOM, object-oriented model |
|||
| Object-Oriented Term |
Object-Oriented Definition * |
Object-Oriented use of the GO |
Example |
|
|
|||
| Class |
A class is a template from which object instances are created. It specifies the common characteristics that objects created from it will contain |
Classes are created from gene products whose characteristics are defined by the GO molecular function and cellular component terms |
The class Smad 2 is created based on the properties of the gene product Smad 2, which are defined by molecular functions such as "protein homodimerization' (GO:0042803) and 'ATP binding' (GO:0042301) |
| Object |
An instance of a class that contains unique properties |
Objects are created from the template classes, but may contain properties unique to a particular object |
Two different Smad 2 objects may be created, one of which is phosphorylated, and one which is not |
| Inheritance |
Relationships between classes, whereby a more specific class inherits all the properties and methods of the classes they belong to |
Relationships defined by 'is a' are generalizations in which child classes of the DAG inherit the properties of the parent class (if a child class has multiple parent classes, multiple inheritance applies) |
The cellular component 'plasma membrane' (GO:0005886) inherits the properties of the general class cellular component 'membrane' (GO:0016020) |
| Composition |
Certain objects may be assembled from collections of other objects |
'part_of' relationships defined in the GO DAG are rendered as composition relationships in an OOM |
The 'membrane' (GO:0005623) and 'intracellular' (GO:0005622) space are part of the 'cell' (GO:0005623) |
| Polymorphism |
The ability of an object to interpret messages differently when received by different objects |
GO functions may change for different proteins and be given different input and output values |
The function 'protein homodimerization activity' (GO:0042803) in the context of SMAD2 accepts two SMAD2s and outputs a dimerized SMAD2, whereas in the context of TGF-beta receptor II it accepts two receptors and outputs a dimerized receptor |
| Encapsulation |
Hiding the state and implementation of an object |
The exact mechanism by which an object is created is hidden in an OOM |
The details involved in the translation (GO: 0043037) of Smad 2 are hidden, but a Smad 2 molecule is still created |
|
*[53] | |||
Shegogue and Zheng BMC Bioinformatics 2005 6:113 doi:10.1186/1471-2105-6-113 |
|||