Skip to content

Gene Ontology and GO Terms

Gene Ontology (GO) is a biological knowledge system that represents the functions of genes and gene products using structured, standard terms. GO defines functional terms and the relationships between them, and links gene products such as proteins and functional RNAs to terms supported by evidence.

GO is not itself an analysis program or an RNA-seq result. It is a functional classification system shared by researchers and databases. Analysis tools such as g:Profiler use this knowledge to find shared functions in a gene list.

Record the same function under the same name

Section titled “Record the same function under the same name”

If different studies use expressions such as cells divide, cell division, and mitosis, a computer cannot easily group them as the same function. GO assigns a standard name and a unique ID to each concept.

For example, GO:0007049 identifies the concept cell cycle. One such functional entry is called a GO term. At minimum, a GO term contains the following information.

FieldMeaningExample
GO IDStable unique identifierGO:0007049
NameHuman-readable standard namecell cycle
CategoryBP, MF, or CCBP
DefinitionWhat the term includes and excludesStandard definition of the cell cycle
RelationshipsLinks to broader or more specific termsis_a, part_of, and others

In software-project terms, a GO ID is a stable internal key, while its name and definition are human-readable documentation. Terms with similar names can still represent different concepts if their GO IDs differ.

GO classifies gene-product function from three perspectives.

CategoryFull nameQuestionExamples
GO:BPBiological ProcessWhat does it participate in within a larger biological process?Cell cycle, DNA repair
GO:MFMolecular FunctionWhat activity does the molecule itself perform?DNA binding, kinase activity
GO:CCCellular ComponentWhere in the cell does it perform its function?Nucleus, cell membrane

One protein can have terms from all three perspectives. A protein that binds DNA, resides in the nucleus, and participates in the cell cycle can have MF, CC, and BP annotations respectively.

BP and MF are especially easy to confuse. protein kinase activity is an activity performed directly by a protein, so it is MF. regulation of cell cycle is a larger process created by the activities of multiple molecules, so it is BP.

GO terms form a relationship graph, not a folder list

Section titled “GO terms form a relationship graph, not a folder list”

GO terms connect broad concepts to more specific concepts. mitotic cell cycle is more specific than cell cycle, and more detailed processes such as chromosome segregation can be linked beneath it.

This is not a simple folder tree in which every child has one parent. GO is a graph with terms as nodes and relationships such as is_a, part_of, and regulates as edges. One term can connect to multiple broader terms.

This structure is why several semantically similar terms can appear in an enrichment result. If cell cycle, mitotic cell cycle, and chromosome segregation share some of the same genes, the rows may represent a broad category and its subcategories appearing together, not three fully independent discoveries.

A GO term and a GO annotation are different

Section titled “A GO term and a GO annotation are different”

A GO term defines a functional concept. A GO annotation is an evidence-backed record that links a particular gene product to a particular GO term.

This hypothetical row illustrates the structure of an annotation.

gene productGO termrelationshipevidencereference
GENE_A proteinGO:0007049 cell cycleinvolved_inExperimental evidence codePaper or database

A standard GO annotation includes at least the gene product, GO term, supporting reference, and evidence code. The evidence code identifies the kind of evidence used to make the link, such as a direct experiment, sequence similarity, phylogenetic analysis, or automated inference.

The absence of an annotation does not mean the function is absent. The gene product may not yet have been studied sufficiently or the result may not have reached the database. Conversely, an annotation does not mean the function is always active in every cell and condition.

The input to GO enrichment is usually a selected gene list. The tool collects the GO annotations linked to each gene and tests which GO terms appear more often than expected by chance.

Consider a hypothetical example.

  • All genes available for analysis: 20,000
  • Genes linked to cell cycle: 500
  • Selected candidate list: 1,000
  • Genes in the candidate list that overlap cell cycle: 120

A random sample of 1,000 genes would be expected to overlap approximately 25 genes. If the actual overlap is 120, that provides evidence that cell-cycle genes are unusually concentrated in the candidate list. Over-representation analysis (ORA) repeats this question across many terms.

ColumnMeaning
nameHuman-readable GO term name
nativeOriginal database identifier such as a GO ID
term_sizeNumber of genes linked to the term in the background set
intersection_sizeNumber of genes actually shared by the input list and the term
intersectionsActual list of overlapping genes
intersection_symbolsExtra column converting result IDs to human-readable gene symbols
p_valueProbability of observing at least this much overlap by chance; check the tool documentation to see whether correction is applied

A term with a large term_size is likely to overlap many genes even at random. Do not inspect intersection_size alone. Consider the input-list size, background gene set, and term size together through the p-value. Because many terms are tested at once, multiple-testing correction is also required. Some tools, including g:Profiler, return an already corrected value under a simple column name such as p_value, so check the definition used by the tool.

A large -log10(p_value) in a bar chart means that the adjusted p-value is small. It does not mean that the process is several times more active. GO ORA tests whether functional labels are concentrated in a selected gene list. It does not directly measure protein activity or the speed of a process.

GO:BP and pathways overlap, but they have different purposes and structures.

ResourceWhat it primarily represents
GO:BPHierarchical classification of biological processes in which gene products participate
ReactomeReactions and pathways performed in sequence by molecules
KEGG PathwayMaps of metabolism, signalling, and disease-related pathways

A GO term does not necessarily show the order of reactions or direct links between molecules. Its strength is classifying the work with which multiple genes are associated. Workflows Built by Genes Together continues with the difference between pathways and gene sets.

  • Do not conclude that a process is actually active just because its GO term is significant.
  • Do not interpret the longest bar as the largest expression change.
  • Do not count similar parent and child terms as independent discoveries.
  • Do not mix upregulated and downregulated genes and then interpret the direction of change.
  • Do not call a gene without a GO annotation functionless.
  • Do not conclude that a causal gene has been identified because a disease-related term appears.

Results depend on the input-gene selection criteria and the background set. In RNA-seq ORA, it is generally more appropriate to use genes that could actually be tested in the experiment as the background. Using all human genes indiscriminately may include unmeasured genes in the comparison.

The GO ontology and its annotations are continually updated. The same gene list can produce different results depending on the version and tool settings, so record:

  • Analysis date and the data version of GO or the analysis service
  • Target organism
  • Input ID type and gene-symbol conversion method
  • Statistical criteria and direction of change used to select the input list
  • Background gene set
  • Categories used, such as GO:BP, GO:MF, and GO:CC
  • Multiple-testing correction method and threshold
  • The actual intersections genes producing each term