Basics of GO Terms

TL;DR

GO-related analyses are commonly used in next-generation sequencing and microarray studies. To fully understand the meaning of these analyses, you first need to understand GO itself. This post covers the fundamentals of GO Terms.

What Are GO Terms?

GO Terms are human-defined annotations specified by The Gene Ontology Consortium. Because they are defined by humans, some have pointed out that they lack the objectivity of data sources like PFAM or KEGG. That said, GO Terms are essentially the only annotations that incorporate biological knowledge, and thanks to the contributors their reliability has become quite high. As of 2021, annotations are based on experimental data from over 150,000 papers, and there are more than 700,000 experimentally supported annotations (reference). In practice, GO Terms are used as the ground truth in many analyses for predicting protein function.

Also, because GO Terms are manually curated, they are frequently updated. It is therefore recommended to use the most up-to-date GO Term list when performing analyses.

File Format

GO Terms are written in OBO format and OWL format. You can parse OBO format using tools such as goatools's obo_parser. I am not very familiar with the file format details and would like to look into them further. Additionally, the subsets described below are also available in json format.

Subsets

There are species-specific annotations available. For example, since animals do not perform photosynthesis, if you want to exclude photosynthesis-related GO Terms in advance, it would be appropriate to use these subsets.

Contents of GO Terms

Basic Elements

Each GO Term is composed of the following basic elements:

NameDescriptionExample
Gene ProductThe annotated gene productUniProtKB
(rat Dhfr)
GO TermID and name (description)GO:0004146 (dihydrofolate reductase activity)
ReferencePaper providing evidence for the annotation
Evidence CodeCode indicating the type of evidence (experiment, phylogeny, etc.)Inferred from Experiment (EXP)

Extensions

Beyond the basic elements, several annotation extensions have been introduced. Extension annotations are broadly divided into two categories (Huntley & Lovering 2017):

  • Molecular relationships, which describe relationships between genes, gene products, complexes, chemical compounds, etc.
  • Contextual relationships, which describe relationships with cell types, anatomy, developmental stages, etc.

Molecular Relationships

NameDescriptionExample
has_regulation_targethas_regulation_target (UniProtKB
zinc finger protein GLI1)
has_inputhas_input (PomBase
.0 pcf2)
has_direct_inputhas_direct_input (UniProtKB
Solute carrier family 26 member 9)

Contextual Relationships

NameDescriptionExample
part_ofpart_of (WBbt:0006804 body wall muscle cell)
occurs_inoccurs_in (CL:0000740 retinal ganglion cell)
happens_duringhappens_during (GO:0071470 cellular response to osmotic stress)

Structure of GO Annotations

The overall GO Annotation is represented as a directed acyclic graph (DAG) where GO Terms are nodes and the relations defined below are edges, forming a hierarchical structure. The higher up in the hierarchy, the broader the meaning of the annotation.

The relations that express these hierarchical relationships are as follows (reference):

NameDescription
is aThe basic relation. When we say A is a B, A is a subtype of B.
part ofA stronger constraint. When B is part of A, whenever B exists it is necessarily a part of A, guaranteeing that A exists. Note that this part_of is an edge relation, unlike the extension part_of which is node information.
has partWhen A has part B, B is a part of A. Whenever A exists, B must exist, but the existence of B does not necessarily imply that A exists.
regulatesRepresents a regulatory relationship. For example, this includes influences from other pathways.

The three top-level GO Term categories are listed below. Most analysis tools treat these nodes as the root nodes.

AbbreviationMeaning
Biological ProcessBPBiological processes
Molecular FunctionMFMolecular functions of gene products
Cellular ComponentCCCellular components

References

Create an issue on GitHub about this article

Read Next