Skip to main content

Table 1 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

From: Integration of the Gene Ontology into an object-oriented architecture

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

  1. *[53]