Gene Ontology 作為生物功能知識的形式化表示系統,其設計遵循 Open Biomedical Ontologies (OBO) 原則和 W3C 的 Web Ontology Language (OWL) 規範。
本體的形式化結構
GO 採用 OBO 的形式化框架:每個 term 有唯一 identifier(GO:XXXXXXX)、名稱、定義和跨本體的 cross-references。關係類型基於 RO(Relations Ontology):is_a(子類型)、part_of(部分-整體)、has_part、regulates、positively_regulates、negatively_regulates。True Path Rule 規定:如果基因被注釋到某個 term,它也隱含被注釋到該 term 的所有祖先 terms。
注釋的品質層級
GO annotation 的品質與證據碼直接相關。IEA(Inferred from Electronic Annotation)佔所有注釋的 >98%,由自動化管線生成(如 InterPro2GO、UniProtKB keyword mappings),準確度約 90-95% 但偏向 well-studied 基因和功能。人工審核的 experimental evidence codes(EXP, IDA, IPI, IMP, IGI, IEP)品質最高但數量少(<2%)。在進行 GO enrichment analysis 時,可選擇性地只使用高品質注釋(但 sample size 會大幅減少)。
富集分析的統計改進
傳統 ORA 使用的 Fisher's exact test 假設基因獨立,但 GO 的 DAG 結構和基因間的相關性違反此假設:
- topGO(Alexa et al., 2006):提供 elim 和 weight01 演算法,在 DAG 中由下而上消除子節點已解釋的基因,降低由 GO 結構造成的假陽性
- Gosemsim(Yu et al., 2010):計算 GO terms 之間的語義相似度(information content-based: Resnik, Lin; graph-based: Wang method),用於基因功能相似度評估和冗餘 GO terms 的聚合
- REVIGO(Supek et al., 2011):利用語義相似度矩陣將顯著 GO terms 聚類,並以 treemap 或散佈圖視覺化,解決結果列表過長的問題
GO-CAM(GO Causal Activity Models)
傳統 GO annotation 是基因到 term 的二元關聯,無法表達基因間的因果關係。GO-CAM(Thomas et al., 2019)引入結構化的 activity model,用 RDF triples 表達「gene A enables molecular function X, which is part of biological process Y, occurs in cellular component Z, and causally upstream of gene B's activity」。這為知識圖譜和自動推理提供了機器可讀的生物學知識表示。
