Gene Ontology — 全球基因功能本体知识库 AI-Ready Wikipedia

38,092 条有效术语 + 1,512 万条注释的开放本体,月度更新、CC BY 4.0

来源 Gene Ontology Consortium(GO 联盟) url: https://geneontology.org/发布时间: 2026-09-15最后更新: 2026-09-25 阅读 40
Gene Ontology — 全球基因功能本体知识库 AI-Ready Wikipedia

信息速览

数据集名称Gene Ontology — 全球基因功能本体知识库 AI-Ready Wikipedia
数据类型38,092 条有效 GO 术语,15,129,348 条注释,OBO/OWL/JSON/GAF 多格式,CC BY 4.0 开放许可,月度版本发布
规模不适用(本体知识库,无患者数据)
接入方式Gene Ontology Consortium(GO 联盟) url: https://geneontology.org/
AI 就绪度

数据集封面

Gene Ontology 基因本体 — 全球基因功能本体知识库 AI-Ready Wikipedia


INFOBOX

字段 内容
数据集名称 Gene Ontology 基因本体
英文全称 Gene Ontology(GO)
别名/简称 GO;GO Knowledgebase;Gene Ontology Resource;GO 联盟知识库
疾病分类(ICD-11) 不针对特定疾病(全疾病谱功能注释基础设施;典型应用疾病编码示例见 §2.1)
SNOMED CT 无官方编码级直接映射;经 MONDO、Disease Ontology 与 UMLS 桥接关联临床概念,说明见 §2.1b
数据模态 基因功能本体(有向无环图结构 + BP/CC/MF 三大本体 + GO 术语 + 证据代码注释文件)
AI 任务类型 富集分析(ORA/GSEA)、基因功能预测(多标签分类)、知识图谱构建、可解释特征工程
样本总数 38,092 条有效 GO 术语、15,129,348 条注释、1,783,055 个基因产物(2026-08-05 release,截至 2026-08)
数据格式 OBO 1.4、OWL/RDF-XML、JSON(obographs)、GAF 2.2、GPAD、GPI、TTL
许可证 CC BY 4.0 International(本体与全部数据产品)
访问级别 开放(无需注册,PURL 直接下载,API 免费调用)
DUO 标签 不适用(知识库,无人类受试者数据)
语言 英语(内容与界面);中文导读见本页面
首发日期 2000-05(Nat Genet 原始论文;联盟 1998 年发起)
最后更新 2026-08-05(月度 release,存档于 Zenodo)
发布机构 Gene Ontology Consortium(GO 联盟)
官方主页 https://geneontology.org/
下载地址 https://geneontology.org/docs/download-ontology
DOI 论文 10.1038/75556(2000 原始论文)与 10.1093/nar/gkaf1292(2026 更新论文);数据 10.5281/zenodo.20943148(2026-06 release)
AI 就绪度评分 ⭐⭐⭐⭐⭐(5/5)— 官方 OBO/OWL/GAF 标准格式、PURL 直链下载、goatools 等成熟解析库与官方统计页一键可用;扣分项仅为月度版本漂移与 2026-06 文件地址破坏性变更,需自行固定 release DOI
页面状态 published

§0 E-E-A-T 审核与免责声明

医学审核:[千方病案医学编辑部] 交叉审核:§2 医学背景(功能基因组学与疾病关联、ICD-11/SNOMED CT 映射边界)、§7 偏倚分析(文献偏倚、模式生物偏倚、证据类型偏倚)。

数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Gene Ontology 全部数据与数据产品采用 CC BY 4.0 许可,公开使用或再分发时须标识 GO 联盟为数据创作者、附版权与许可声明,并建议注明具体 release 日期与 Zenodo DOI;官方引用政策要求同时引用 2000 年原始论文与最新更新论文。具体使用条款以 GO 官方引用与许可政策为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? GO 是一本"基因功能大辞典"。全世界的生物学家用同一套受控词汇来描述每个基因在做什么——比如"催化 DNA 复制"“定位在线粒体”“参与细胞凋亡”。这套词汇本身像一棵不断生长的树(准确说是有向无环图):38,092 个术语(截至 2026-08)从"细胞过程""催化活性"这样的大概念一路细分到极具体的功能描述,每个基因的注释都挂在对应节点上,每条注释都标注了它是怎么知道的(证据代码)。

为什么重要? 测序技术能告诉我们有哪些基因,却不能直接告诉我们它们做什么。GO 解决了功能描述"各说各话"的混乱:一篇果蝇论文和一篇人类实验可以共享同一术语,功能知识得以跨物种、跨数据库流动。它是一个动态本体,随生物学知识积累持续修订——正因如此,它成为富集分析、功能预测与生医知识图谱的事实标准底座。

我能用它做什么? 把一批差异表达基因翻译成生物学故事(富集分析);为基因功能预测模型构建多标签数据集;把 omics 特征映射到本体层级以增强可解释性;或者直接把 GO 图谱当作生物医学知识图谱的骨架。下载无需注册,CC BY 4.0 许可允许商用,但使用时必须署名并注明 release 版本。

§1.1 摘要

GO 知识库由两个松耦合的部分组成:本体(ontology)与注释(annotations)。本体部分是一张有向无环图,节点为 GO 术语(稳定 ID 形如 GO:0006915),边为 is_a、part_of、regulates 等关系;全部术语划归三个独立方面——生物过程(biological process,BP)、分子功能(molecular function,MF)与细胞组分(cellular component,CC),三类之间可通过 part_of、occurs_in 等关系跨图连接。注释部分是一组表格文件(GAF/GPAD/GPI),每行断言"某个基因产物是某个 GO 术语的一个实例",并附带证据代码、支持文献与日期。官方统计页显示,2026-08-05 release 含 38,092 条有效术语(BP 23,974、MF 10,041、CC 4,077)、15,129,348 条注释与 189,278 篇已注释文献(官方统计)。证据代码体系是理解数据质量的核心:约 62.5% 的注释为 IEA(电子自动注释),人工审编部分以系统发育注释(PHYLO,352 万条)与实验证据(EXP,108 万条)为主。本体以 OBO 1.4、OWL/RDF-XML 与 JSON 三种格式、三个版本(go-basic/go/go-plus)月度发布于 OBO Foundry PURL 与 Zenodo 存档,许可为 CC BY 4.0(引用与许可政策)。对 AI 工程师而言,GO 是"本体 + 证据标签"的双重资产:它既是标签空间(多标签分类的类别集合),又是标签结构(DAG 拓扑可用于层级损失函数与祖先传播),还是证据元数据(训练时可按证据类型加权采样)。

§1.2 战略价值

维度一:功能数据的通用交换层。 基因功能描述天然分散:FlyBase 记果蝇、SGD 记酵母、UniProt 收全物种,各自措辞不同。GO 用一套跨物种中立、机器可读的受控词汇统一了这些描述,172 个物种的直接注释与来自 UniProt 蛋白组投影的数千物种覆盖,使其成为任何跨数据库、跨物种功能管线的事实枢纽(GO 资源主页)。对 AI 团队,这意味着一次对齐成本即可接入多个上游数据库的功能语义,无需为每个数据库单独维护映射表。

维度二:监督信号与结构先验的双重供给。 大多数生物医学 NLP 与组学模型的痛点是标签稀疏。GO 同时提供三样东西:海量弱标签(1,512 万条注释)、标签间结构(DAG 中的 is_a 链可直接编码为层级约束或层次化损失)、以及标签置信度(证据代码即天然的标签质量分层)。在功能预测、文本挖掘(论文→GO 术语标注任务)与蛋白质语言模型评估中,GO 图谱与注释是绕不开的评测底座;官方 2026 年更新论文亦专章讨论了 AI 在 GO 使用与发展中的角色(NAR 2026 论文)。

维度三:知识工程的互操作底座。 GO 是 OBO Foundry 的旗舰本体,与 ChEBI(化学)、CL(细胞)、Uberon(解剖)、MONDO(疾病)等通过导入与交叉引用衔接,go-plus 一个文件即可把这些邻居本体的相关公理拉进你的推理空间。对需要多本体联动的项目(如病理报告的结构化、多组学知识图谱),以 GO 为枢纽搭建语义层可以省掉自建映射矩阵的大头工作——前提是接受 OWL 工具链的工程复杂度(§3.9)。

§1.3 同类数据集横向对比

数据集 规模 模态 标注方式 与 GO 的差异
Gene Ontology 38,092 术语 + 15,129,348 注释(2026-08) 功能本体 DAG + 注释 人工审编 + 系统发育 + 自动(IEA) 本体术语最全、注释量最大;不含通路反应细节
Reactome 2,883 人类通路 + 16,423 反应 反应级通路网络 全人工审编 + 同源投影 通路事件更细但物种覆盖窄;本身用 GO 描述分子功能
KEGG 数百条参考通路 通路图 + 基因/化合物关联 人工绘制 + 文献 商业许可限制严格;无证据代码体系
ChEBI 数万化学实体 化学实体本体 人工 + 计算 聚焦化学分子本体,是 go-plus 的导入依赖之一
Disease Ontology / MONDO 数千-上万疾病术语 疾病本体 人工审编 与 GO 正交互补,常与 GO 注释联用做疾病富集

对比表的核心结论:GO 是其中唯一同时具备"证据代码体系 + 月度版本治理 + 多物种覆盖"三件套的资源,代价是 DAG 结构带来的使用复杂度(本条目坑点近半与 DAG 相关)。若你的任务只需要"一组人工审核过的通路标签",Reactome 的扁平列表更容易;若需要全物种、可分层、可溯源的功能标签,GO 没有替代品。

选型口诀:功能找 GO,通路找 Reactome/KEGG,疾病找 MONDO,表型找 HPO,化学找 ChEBI。五类资源经由基因产物 ID 与交叉引用天然联动,多数下游分析至少并用两类——并用时的版本配对问题(每个库各自的 release 节奏)是复合管线的隐性成本,建议在数据卡中逐一登记各库版本号。

§1.4 版本时间轴

时间 版本/事件 说明
1998 联盟发起 果蝇、小鼠、酵母基因组研究团队联合创立,统一功能描述词汇
2000-05 Nat Genet 创刊论文 Ashburner et al. 发表原始论文,三大本体框架确立(DOI 10.1038/75556)
2018-09 Zenodo 归档开始 月度 release 自 2018-09-05 起全部存档于 Zenodo 并分配 DOI
2019-10 GO-CAM 发布 GO 因果活性模型论文发表,注释放归为通路级结构化模型(DOI 10.1038/s41588-019-0500-1)
2025-02 PAN-GO Functionome 上线 人类基因功能组 v1 发布并配 Nature 论文,2026 年论文发布 v2
2025-12 NAR 2026 数据库论文 《The Gene Ontology knowledgebase in 2026》在线发表(DOI 10.1093/nar/gkaf1292)
2026-06 NAR 2026 勘误 同刊发布勘误 gkag678(PMID 42375002),引用 2026 论文时注意核对
2026-06 破坏性变更 release 文件 URL 与名称变更,未更新代码的自动下载脚本失效(2026-06-19 release)
2026-08 2026-08-05 release 38,092 条有效术语、15,129,348 条注释(截至 2026-08)

§1.5 典型应用场景

  1. 差异表达基因的生物学解读:RNA-seq 差异基因列表 → 超几何/Fisher 过表达分析 → 显著富集的 BP/CC/MF 术语(官方工具由 PANTHER 驱动,DOI 10.1002/pro.4218)。
  2. 基因功能预测基准:序列/蛋白质语言模型 → 多标签预测 GO 术语 → 用层级感知指标评估;注释的时序快照天然构成训练/测试划分。
  3. 生医知识图谱骨架:基因-术语-疾病三元图谱中,GO 承担"功能"实体层;go-plus 的跨本体公理可直接导入图数据库。
  4. 模型可解释性:把黑盒模型的高维特征映射到 goslim 精简术语集,输出"该模型聚焦于免疫应答类基因"级别的解释。
  5. 文献文本挖掘:论文全文 → 预测其支持的 GO 注释,辅助 curator 优先审编;IEA 注释可作弱监督种子。
  6. 跨物种功能迁移:冷门物种蛋白 → 模式物种训练的预测模型 → 迁移注释;PAINT/IBA 通道即官方版的同类操作,自建模型应与其对比。
  7. 单细胞注释辅助:细胞类型标记基因集 → CC/BP 富集 → 细胞类型功能画像;go-plus 的 Uberon/CL 导入对组织-细胞层级特别有用。

§1.6 何时不要用 GO

诚实的反向清单:需要通路反应级细节(哪个底物到哪个产物)时用 Reactome/KEGG;需要疾病语义时用 MONDO/Disease Ontology,GO 不编码疾病;需要表型语义时用 HPO;需要化学计量与反应动力学时 GO 完全无能为力。GO 的语义粒度是"功能类别",任何需要"实例级机制"的问题都要在 GO 之外补数据源。


§2 医学背景

§2.1 ICD-11 映射表

GO 本身不编码疾病——它是功能词汇,ICD-11 是疾病分类,两者正交。GO 对临床的价值在于:用功能术语解释疾病基因。下表给出 ICD-11 代表性疾病及其在 GO 生态中的典型功能分析入口(ICD-11 编码为疾病分类标准编码;GO 术语为该疾病研究中常被富集分析命中的功能方向,仅作示例导航,非一一对应映射)。

疾病场景 ICD-11 编码 + 中文名 代表性 GO 术语(ID + 英文名) GO 侧用法
代谢疾病 5A11 型 2 糖尿病 GO:0042593 葡萄糖稳态(glucose homeostasis,BP) 病变组织差异基因做 BP 富集,定位糖代谢扰动
呼吸系统肿瘤 2C25 支气管或肺恶性肿瘤 GO:0008283 细胞增殖(cell population proliferation,BP) 驱动基因集合的增殖/凋亡功能画像
神经退行性疾病 8A00 阿尔茨海默病 GO:0030534 行为应激反应(adult behavior,BP)与突触相关 CC 术语 突触组分与蛋白聚集相关 CC 富集提示机制
乳腺肿瘤 2C60 乳腺癌 GO:0006915 细胞凋亡过程(apoptotic process,BP) 药物敏感/耐药队列的凋亡通路活性对比

§2.1b SNOMED CT 映射表

GO 与 SNOMED CT 之间没有官方的逐条编码映射表。两者的关联通过 UMLS 元叙词表、MONDO/Disease Ontology(疾病侧)以及文献语义对齐间接实现。下表为示意性桥接(仅列可在公开资源中核验的概念级对应,禁止在无映射工具介入时把表内关系当作编码级等价)。

GO 术语(ID + 英文名) SNOMED CT 概念(名称/码) 桥接机制 使用建议
GO:0006915 apoptotic process Apoptosis(50960005) UMLS 概念级关联 概念检索与病历语义对齐
GO:0006954 inflammatory response Inflammatory response(概念级对应) UMLS / MONDO 疾病-过程关联 临床叙事文本的功能主题标注
GO:0008283 cell population proliferation Neoplasm 相关形态学/过程概念(概念级对应) 经肿瘤本体与文献共现 肿瘤病理报告的功能特征抽取

§2.2 疾病背景简介

功能基因组学的研究范式是:扰动(突变、药物、环境)→ 分子测量(转录组/蛋白组)→ 解释(哪些功能受影响)。解释环节的瓶颈在于把基因符号列表翻译为生物学过程语言,这正是 GO 的用武之地。约 20% 的基因至今缺乏任何 GO 注释,注释密度在研究热点(癌症、免疫、代谢)与冷门基因间高度不均,这一"文献偏倚"会系统性传导进下游疾病分析(PLoS Comput Biol 章节)。使用 GO 做疾病机制分析时须记住:富集结果反映的是"注释知识的分布",不完全等于"生物学事实的分布"——冷门通路可能因注释稀疏而无法显著,即使真实受累。

理解 GO 与疾病研究的接口,有两个常被忽略的细节:

  1. 疾病侧本体与功能侧本体的连接是人工的。MONDO/DisGeNET 等资源把"疾病-基因"与"基因-功能"两段拼接成"疾病-功能"推理,拼接质量取决于基因 ID 对齐与注释证据强度。任何"某疾病显著富集于凋亡过程"的表述,其证据链长度 = 疾病-基因关联质量 × 基因-注释质量,两段任何一段是 IEA 级,结论都应降级陈述。
  2. 方向性缺失。GO 注释是二值的(该基因"参与"该过程),不含上调/下调方向。差异表达 + 富集的组合分析常被误读为"该过程被激活"——富集显著只说明相关基因在差异列表中过多,不说明过程的活性方向。需要方向性结论时,应结合 GSEA 类排序方法或显式检查差异方向的一致性。

§2.3 临床研究任务定义

在临床研究语境下,GO 支撑四类任务。每类任务的输入、输出与注意事项如下:

任务 输入 输出 GO 侧关键操作 注意事项
机制解释 病例对照/筛查队列的差异基因列表 通路级功能发现(显著术语 + 方向) BP 富集分析(PANTHER/topGO) 背景集必须为检测到的全部基因(坑点 3)
生物标志物解读 候选标志物基因集合 功能合理性与可成药性评估 MF/CC 映射 + 文献证据回溯 检查证据代码:IEA 级判断不可当实验事实
药物研究 靶点基因列表、化合物扰动特征 靶点功能画像、副作用机制比对 靶点-术语映射与跨队列富集对比 与 Reactome/KEGG 通路视角联用更完整
预后模型特征命名 多基因评分/风险模型的基因集 可向临床沟通的功能命名 goslim 粒度归并后命名 避免把宽泛父术语当作机制结论(坑点 5)

四类任务的共同底座是"基因符号 → GO 术语 → 可解释叙事"的转译链。GO 不直接产出诊断或分级决策——它把分子发现转译为可审查的功能叙事,供后续临床验证。工程上还要补两件事:其一,基因符号需经官方符号库(HGNC/MGI 等)归一后再映射 GAF,避免旧符号失配;其二,输出叙事时应附注证据代码分布(如"该结论主要基于 EXP/IDA 级注释"),使临床合作者可以判断可信层级。

§2.4 物种与数据覆盖人群表

覆盖维度 数值 说明
直接注释物种 172 个(其中 159 个超过 1,000 条注释) 拥有 MOD 或 GOA 等机构级注释团队的物种(2026-08-05 release)
计算投影覆盖物种 数千个 经 UniProt 蛋白组与 InterPro2GO 等自动方法扩展(2026-03 release 公告为 5,557 物种)
基因产物 1,783,055 个 覆盖蛋白、miRNA 等基因产物类型
支撑文献 189,278 篇 每条人工注释溯源到具体文献证据

§2.5 临床价值

GO 的临床价值是间接而基础的:它不接触患者,但几乎所有临床组学研究都在消费它的语义。第一,它让跨中心、跨物种的发现可比较——两家医院各自找到的候选基因,只有映射到同一套功能词汇后才可对话。第二,它给"负结果"提供保护:候选基因无显著富集并不等于无生物学意义,可能是注释盲区,这一认知直接影响的复现研究设计。第三,随着 GO-CAM 与 PAN-GO functionome 等结构化模型成熟,功能注释正在从"词条"升级为"可推理的机制图",为未来的临床决策支持系统提供可审查的功能推理底座(GO-CAM 论文)。

落到临床信息学场景,GO 最现实的三个接入点是:临床组学报告的自动解读模块(差异基因 → 功能摘要)、临床数据仓库研究环境(如 OMOP 共数据模型)中基因列表的功能维标注、以及临床试验入组标准的基因面板功能合理性核查。三者都不改变 GO"解释层"的定位——凡涉及诊断决策的功能叙事,最终都要回到原始文献与前瞻验证。

§2.6 金标准参考表

维度 内容
划分 无官方训练/测试划分;社区惯例按 release 日期做时序快照划分
标注方式 人工审编(各模式生物数据库 curator + UniProt/GOA + GO 编辑团队)、系统发育注释(PAINT,2008 年起为最大人工审阅来源)、电子注释(InterPro2GO/UniProt 映射,IEA 证据)
标注者 专业生物 curator(文献逐条溯源)+ GO 专职编辑团队;IEA 由算法自动生成、无 curator 复核
性质 功能注释领域的事实金标准;证据代码体系使"金标准"内部可按证据强度分层(EXP/IDA 最强,IEA 最弱)

§3 数据集规格

§3.0 版本抉择矩阵

GO 本体每个 release 同时发布三个版本,选错版本是新手最常见的工程事故。抉择矩阵如下:

你的需求 推荐版本 大小量级 理由
富集分析、多标签建模等常规注释工具 go-basic(.obo/.json/.owl) 数十 MB 已过滤为无环图,仅保留 is_a/part_of/regulates(含正负调控),可安全向上传播注释
构建 RDF 知识图谱、需要跨 BP/CC/MF 连接 go(.obo/.owl) 数十 MB 含 has_part、occurs_in 等跨方面关系,但可能成环,禁止朴素祖先传播
OWL 推理、跨本体公理、ChEBI/CL/Uberon 联动 go-plus(仅 .owl/.json) 百 MB 级 全公理化版本,导入外部本体,无 OBO 格式
仅需快速概览功能大类 GO slims(如 goslim_generic) KB 级 精简子集,适合报告级汇总与高维可视化
训练功能预测模型(本体 + 标签) go-basic + 各物种 GAF 组合计 术语图与注释表分开下载、版本号必须配对锁定

§3.1 模态详情

GO 的数据模态是"结构化功能词汇 + 证据注释"双件套。本体侧:每个 GO 术语拥有稳定 ID(GO:XXXXXXX)、名称、定义、所属方面(namespace)与到其他术语的关系边;DAG 意味着一个术语可有多个父节点(原始论文即以"DNA ligation 同时具有三个父节点"示例,PMID 10802651)。注释侧:GAF 文件每行一条注释,17 列字段断言基因产物与术语的关联及其证据;断言可通过 qualifier 取反(NOT)或弱化(contributes_to、colocalizes_with)。两侧通过 GO ID 连接,发布管线将本体与来自各成员数据库的注释合并为月度 release(发布管线文档)。

§3.2 按子集样本数表

子集(方面) 有效术语数 注释条数 代表性术语
biological_process(BP,P) 23,974 4,629,965 GO:0006915 apoptotic process
molecular_function(MF,F) 10,041 5,852,238 GO:0003677 DNA binding
cellular_component(CC,C) 4,077 4,647,145 GO:0005739 mitochondrion
合计(有效术语) 38,092 15,129,348 另有 10,248 条废弃类目保留在文件中

以上为 2026-08-05 release 官方统计(stats 页),截至 2026-08。

§3.3 格式表

格式 用途 解析工具 备注
OBO 1.4(go-basic.obo 等) 人类可读的术语与边 goatools、pronto、obonet 纯文本 stanza 结构,git diff 友好
OWL/RDF-XML(go.owl、go-plus.owl) 语义推理与 SPARQL Protégé、rdflib、robot go-plus 为全公理化版
JSON(obographs,go-basic.json) Web 服务与 JS 生态 obographs-python、自写解析 键值结构稳定
GAF 2.2(.gaf) 17 列注释表,生态最通用 pandas、goatools 每行一条基因-术语断言
GPAD/GPI 新一代注释/基因产物格式 官方owltools、go-site 脚本 GPAD 为 2.0 通道,与 GAF 并行发布
TTL 全量注释三元组 rdflib、Blazegraph 服务化端点 rdf.geneontology.org

§3.4 存储大小

go-basic.obo 为数十 MB 级纯文本;go-plus.owl 与全量注释组合(含 goa_uniprot_all.gaf 等全物种文件)可达 GB 级;RDF 全量三元组与 Blazegraph 数据库导出为 GB 级。官方未在单一页面公布全部文件大小清单,建议以 PURL 实际下载结果为准并在项目内记录 sha256。

§3.5 标注方式

通道 机制 证据代码 占比(2026-08-05)
实验审编 curator 逐篇文献溯源(直接实验、突变表型、物理互作等) EXP/IDA/IPI/IMP/IGI/IEP(含 HTP 高通量变体) EXP 1,086,714 + HTP 65,774
系统发育推断 PAINT 沿基因树重构功能 gain/loss 事件,可溯源至直接实验注释 IBA/IBD/IKR/IRD PHYLO 3,526,667
计算分析 序列相似性、直系同源、基因组上下文等 in silico 推断 ISS/ISO/ISA/ISM/IGC/RCA 计入 OTHER 898,056
电子注释 InterPro2GO 签名映射、UniProt 受控词(EC 号、关键词)转换,无 curator 复核 IEA 9,458,635(约 62.5%)
Curator 补充 专家推断与"无数据"声明 IC/ND ND 93,502
§3.5b 证据代码全表

证据代码是 GO 区别于一切普通标签数据集的元数据体系。建模前必读:代码刻画证据类型,不是注释质量的陈述(官方原话)。全表如下(依据 官方指南):

类别 代码 全称 含义 建模建议
实验证据 EXP Inferred from Experiment 直接实验结果 金标准,直接作训练/评测标签
实验证据 IDA Inferred from Direct Assay 直接检测某功能 金标准
实验证据 IPI Inferred from Physical Interaction 物理互作推断 可信,注意互作对象 taxon
实验证据 IMP Inferred from Mutant Phenotype 突变表型推断 可信
实验证据 IGI Inferred from Genetic Interaction 遗传互作推断 可信
实验证据 IEP Inferred from Expression Pattern 表达模式推断 可信,强度弱于前述
高通量 HTP/HDA/HMP/HGI/HEP High-throughput 变体 高通量实验(如全基因组 RNAi 筛) 噪声高于低通量实验,建议降权
系统发育 IBA Inferred from Biological Aspect of Ancestor PAINT 沿基因树推断 最大人工审阅来源(PHYLO 352 万条)
系统发育 IBD/IKR/IRD 增益/关键残留/丢失推断 基因树分歧点推断 IKR/IRD 为负向推断,语义特殊
计算分析 ISS/ISO/ISA/ISM/IGC/RCA 序列/直系同源等 in silico 推断 无 curator 复核的跨物种转移 降权或过滤
电子注释 IEA Inferred from Electronic Annotation InterPro2GO/UniProt 词条自动映射 约 62.5%,务必分层(坑点 1)
Curator IC Inferred by Curator curator 依据多篇文献综合判断 可信
Curator ND No biological Data 无可用数据(信息性缺失) 剔除或单设"未知"类

两个工程要点:第一,EXP 家族允许带后缀变体(如 EXP 的 HTP 变体),解析 GAF 时按前缀匹配而非全等匹配;第二,IBA 注释虽属人工审阅,但其信息源自其他物种的实验注释,跨物种评估时应意识到"训练标签里已经编码了迁移信息",否则评测会高估模型的跨物种泛化能力(§5.3 泄漏 1)。

§3.6 标注者资质与一致性

人工注释由各成员数据库(如 UniProt-GOA、MGI、SGD、FlyBase)的专职 curator 依据 GO 注释指南执行,GO 编辑团队负责本体修订与跨库协调。官方明确声明"证据代码不是注释质量的陈述"——代码刻画的是证据类型而非对错,因此不存在跨标注者的 kappa 一致性指标发布。工程上的替代做法:把证据代码当作标签置信度的分层代理,而非真值标签本身。

§3.7 采集与发布周期

本体每日 snapshot、每月正式 release(PURL 自 2019-04 起解析到月度版本),每月 1 日前后更新 flat 文件;release 全部存档于 Zenodo 并分配 DOI(如 2026-06 release DOI 10.5281/zenodo.20943148),统计页可回溯 2018-09-05 以来的全部历史 release(stats 页)。

注释侧的更新节奏与本体不同步:各成员库(UniProt-GOA、MGI、SGD 等)按各自的审编周期持续提交,官方管线按月聚合成 release;因此同一 release 内,不同物种/不同来源的注释"新鲜度"并不一致——GAF 的 Date 列(注释分配日期)与 Assigned_By 列(提交机构)就是用于区分这一层的。按月做时序验证(§5.4)时用 Date 而非 release 日期过滤,粒度更准。

§3.8 地域与物种覆盖

内容为英语、全球共建:注释贡献方包括欧洲(EBI/GOA)、北美(Stanford、USC、OICR 等)与各国模式生物数据库,资助方为美国 NIH NHGRI 的 U41 基金。物种覆盖前已述及(§2.4):核心为真核模式物种,自动注释扩展至原核与植物。

§3.9 系统与工具规格

GO 数据消费无需特殊硬件,但生态工具版本需关注:本体解析(goatools/pronto/obonet)、OWL 推理(Protégé、robot、HermiT/ELK)、SPARQL 端点(rdf.geneontology.org 的 Blazegraph 实例)、浏览器(AmiGO,DOI 10.1093/bioinformatics/btn615)、官方富集(PANTHER,DOI 10.1002/pro.4218)。代码仓库集中于 GitHub 组织 geneontology(go-ontology、pipeline、go-stats 等)。

工具选型的三条经验:

  1. 解析层选型:Python 生态 goatools 最常用(含 DAG、富集、传播工具链);只要图结构不要注释工具时 obonet 更轻(NetworkX 直转);需要严格 OBO 1.4 规范校验时用 pronto。三者对 obsolete 术语的默认行为不同(goatools 默认跳过、pronto 全保留),这是同一 GAF 在不同工具下标签数对不上的常见原因。
  2. 推理层选型:go-basic 不需要推理器;一旦用 go-plus 做公理化推理,HermiT/ELK 的选型影响性能(ELK 对 GO 规模更快),且推理结果与 go-basic 的手工传播可能不同——两种来源的"祖先"不是同一概念,混用时必须注明。
  3. 服务层选型:需要图查询时优先官方 SPARQL 端点做探索,生产部署再自建 Blazegraph/GraphDB 加载 TTL;AmiGO 的 web API 适合轻量查询但不承诺 SLA,不要挂生产依赖。

§3.10 深度溯源链

每条人工注释的溯源链为:GAF 行 → 证据代码 → DB:Reference(文献 PMID/DOI)→ 实验方法描述 → With/From(旁证基因/域)。系统发育注释额外挂接基因树与增益/丢失事件模型;IEA 注释可溯源到 InterPro 签名或 UniProt 词条的映射规则。这一四级链条是 GO 区别于普通标签数据集的核心资产:任何一条训练标签都可以回答"是谁、何时、依据什么文献、用什么方法"。


§4 数据结构

§4.0 目录树

月度 release 解压后的典型结构如下(文件名以 2026-08 release 为例,不同版本可能因发布管线调整而变化):

目录树的记忆锚点:ontology/ 是标签空间(结构),annotations/ 是样本标签(数据),其余目录是质量与统计附件。拿到的 release 先看两处——ontology/reports/ 的 QA 报告(官方自己承认的问题清单)与 release_stats/ 的统计文件(对账官方 stats 页的机读来源);2026-06 类 URL 变更事件后,还应先确认目录树与你的解析代码的路径假设一致。

go-release-2026-08-05/
├── ontology/
│   ├── go-basic.obo              # 无环基础版(推荐大多数注释工具)
│   ├── go-basic.json             # obographs JSON 版
│   ├── go-basic.owl              # OWL 版
│   ├── go.obo                    # 核心版(含跨方面关系)
│   ├── go.owl
│   ├── go-plus.owl               # 全公理化版(导入 ChEBI/CL/Uberon)
│   ├── go-plus.json
│   ├── subsets/                  # GO slims 精简子集
│   │   ├── goslim_generic.obo
│   │   └── goslim_agr.obo
│   └── reports/                  # 本体 QA 报告
├── annotations/
│   ├── goa_human.gaf.gz          # GOA 人类注释(17 列 GAF)
│   ├── mgi.gaf.gz                # 小鼠(MGI)
│   ├── sgd.gaf.gz                # 酵母(SGD)
│   ├── goa_uniprot_all.gaf.gz    # UniProt 全物种汇总
│   └── *.gpadi.gz / *.gpi.gz     # GPAD/GPI 格式文件
├── products/                     # 发布产物索引页
├── reports/                      # GO-Rule 违规报告(gorule-report.html)
└── release_stats/                # 发布统计(go-stats 等)

§4.1 DAIMS 字段字典(GAF 2.2 核心列)

GAF 文件为无表头 17 列制表符文本,核心列的 DAIMS 字典如下:

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
DB 文本 注释来源库命名空间 UniProtKB 数据源分组/加权 同一基因可能出现在多个库 无 枚举:UniProtKB、MGI、SGD、FlyBase 等
DB_Object_ID 文本 基因产物稳定标识 P12345 样本主键(经 ID 映射对齐) 跨库 ID 漂移、蛋白/基因混淆 无 库内唯一字符串
DB_Object_Symbol 文本 基因符号 TP53 人机对照展示 符号随命名修订变化 无 符号字符串
Qualifier 文本 断言关系,可含 NOT enables、NOT \ part_of 负标签(NOT)必须参与训练 NOT 语义易被忽略导致标签反转 无
GO_ID 文本 被断言的 GO 术语 GO:0006915 标签空间主键 可能指向 obsolete 术语 无 GO:\d
DB:Reference 文本 支撑文献(可多值) PMID:12345678 溯源、去重、文献级划分 综述与原始文献混用 无 PMID/DOI/GO_REF
Evidence_Code 文本 证据类型 IDA 标签置信度分层、训练过滤 证据代码非质量声明 ND(无生物学数据) EXP/IDA/IEA/IBA/ND 等
With/From 文本 旁证对象(可多值) UniProtKB:P04637 图模型边特征、传播依据 IEA 行多为空或签名 ID 空列(合法缺失) 基因/域/签名标识
Aspect 文本 所属方面 P 三大本体分组 与 GO_ID 的 namespace 应一致 无 P/F/C
Taxon 文本 物种 NCBI 分类号(可带第二 taxon) taxon:9606 物种过滤、跨物种迁移 双 taxon 表示互作对 无 NCBITaxon 整数
Date 日期 注释分配日期 20260815 时序快照划分 历史行可能被整批重刷 无 YYYYMMDD
Assigned_By 文本 提交机构 GOA_UniProt、MGI 来源可信度加权 合并渠道变更 无 机构短名
Annotation_Extension 文本 注释扩展( location/对象等) part_of(CL:0000056) 细粒度条件特征 语法复杂、覆盖不均 空列(合法缺失) GO 扩展语法
Gene_Product_Form_ID 文本 特定产物形式(变体/复合物) UniProtKB:P12345-2 同工型级任务 大多为空 空列(合法缺失) 产物形式 ID

表中未列出的三列(DB_Object_Name、DB_Object_Synonym、DB_Object_Type)为展示与类型元数据:Name/Synonym 用于人机对照展示与符号归一,Type 列区分 protein/miRNA/complex 等产物类型(建模时通常按 Type 过滤,避免把复合物注释误当单蛋白注释)。GAF 每行一条断言、无主键,去重键一般取(DB, DB_Object_ID, GO_ID, Evidence_Code, DB_Reference, With/From)复合组合——官方 QA 以更严格的规则去重,但跨来源合并后仍建议自行复核。

§4.2 标签分布

标签空间呈三方面、长尾分布:BP 术语最多(23,974)但注释占比 30.6%;MF 术语 10,041 个却承载 38.7% 的注释(UniProt 的 EC 号与关键词映射高度自动化);CC 介于其间。证据维度上 IEA 一家独大(62.5%),这意味着朴素地把 GAF 全量当作监督数据时,模型主要在学习 InterPro2GO 的映射规则。人工审编标签中系统发育通道(PHYLO 3,526,667 条)规模超过直接实验(EXP 1,086,714 条),前者沿基因树把少数物种的实验结论扩展到全家族——训练跨物种模型时应显式区分这两类监督信号(stats 页,截至 2026-08)。

长尾的量化直觉:以人类 GAF 为例,高频术语(如 GO:0005634 nucleus 类 CC 大类)覆盖数万基因,而精细叶端术语(特定受体型别的结合活性)可能只有个位数基因。对多标签建模的直接影响是:按出现频率排序标签后,前 10% 的标签贡献了绝大多数正样本,尾部数千术语在常规 batch 内几乎永远为 0——这就是为何官方提供 goslim 子集、为何 CAFA 类评测常限定术语范围、以及为何任何"全术语空间"指标都必须配 macro(对每个术语公平)与 micro(对每个样本公平)双口径。

§4.3 关键统计

  • 有效术语 38,092,每版净变化可达百级(2026-08-05 较上版 -153),废弃术语累计 10,248、合并术语 2,434。
  • 注释 15,129,348 条,文献 189,278 篇,基因产物 1,783,055 个。
  • 术语粒度极不均匀:顶层大类(如 metabolic process)下数万基因,叶端术语下可能不足 10 个基因——建模时须决定粒度截断。
  • go-basic 图保证无环;go/go-plus 图因跨方面关系可能成环,直接影响祖先传播实现。
  • 统计口径提示:官方 stats 页(15,129,348)与 2026-03 发布公告(8,883,119)采用不同统计范围,两数均为官方口径;本条目全篇以 stats 页为准,引用他人数据时先核对口径再比较。

§4.4 数据层级

本体层级(ontology/)          注释层级(annotations/)
GO 本体文件                    GAF 文件
  └─ 方面(BP/MF/CC)            └─ 注释行(gene × term × evidence)
      └─ GO 术语节点                 ├─ 基因产物(DB_Object_ID)
          └─ 关系边(is_a 等)        ├─ 证据(代码 + 文献 + 日期)
                                    └─ 来源(DB + Assigned_By)

五级结构:本体文件 → 方面 → 术语 → 注释行 → 基因产物/证据。理解这一层级是避免把"术语数"与"注释数"混为一谈的前提:前者是标签空间大小,后者才是样本量。

用一个真实术语链看 DAG 的多父结构(apoptotic process 及其上位术语,均在 BP 内):

GO:0008150 biological_process(BP 根)
├── GO:0009987 cellular process
│   └── GO:0016265 death
│       └── GO:0008219 cell death
│           └── GO:0006915 apoptotic process    ← 一个术语同时继承两条链
└── GO:0043066 regulation of ... (regulates 链,示意)

祖先传播(§6.3 Step 2)的语义:若某基因产物注释为 GO:0006915,则它在训练矩阵中应同时置 1 的还包括 cellular process、death、cell death 及 biological_process 根节点——go-basic 图保证这一传播不会遇环、不会跨出 BP。三条工程警示:其一,传播后标签矩阵的密度会显著上升(平均每基因标签数远高于直接注释数),评估前要区分"直接注释指标"与"传播后指标";其二,根节点与近根术语的正样本几乎全体共享,按术语独立算 AUC 会系统性虚高(§6.5 坑点 2);其三,go/go-plus 中的 has_part、occurs_in 跨方面边会破坏上述单方面传播假设,朴素实现会得到"凋亡过程属于线粒体"这类荒谬祖先链。

§4.5 缺失值与信息性缺失编码

情形 编码/表现 处理建议
无任何功能数据 证据代码 ND(No biological Data) 官方信息性缺失;建模时应剔除或单设"未知"类,ND 现存 93,502 条
负注释 Qualifier 含 NOT 表示"确认不是该功能",直接当正标签会反转语义
IEA 注释无旁证 With/From 列为空或仅为签名 ID 可解释性任务中排除;弱监督任务中降权
未指定产物形式 Gene_Product_Form_ID 为空 默认回退到规范产物
高层占位类目 gocheck_do_not_annotate 反子集成员 官方明示不应有直接注释的术语,过滤后可减少虚高标签

§5 划分与使用建议

§5.1 官方划分

GO 是知识库,不提供官方训练/验证/测试划分。任何"官方划分"字样的第三方包都是在特定 release 上自行构造的快照,使用时必须核对其 release DOI。

这不只是措辞问题,而是任务定义问题:GO 的"样本"(基因产物)与"标签"(术语)之间是多对多关系,且标签集每月变化。同一批基因在不同 release 上构成不同的学习任务——所以"在 GO 上训练"这句话本身信息量为零,必须展开为"在哪个 release 的哪些证据层级的哪些术语空间上训练"。引用任何第三方"GO 数据集"(如某些预打包的基准)之前,先确认它绑定的 release 日期与证据过滤是否与你的实验一致,否则对比结果没有意义。

§5.2 社区惯例划分

功能预测社区的主流做法是时序划分:以某 release 日期为分界,此前注释作训练、此后新增注释作测试,模拟"预测未来知识"的真实任务。另一惯例是证据分层:训练仅用 EXP/IDA 等强证据,测试用后续升级为强证据的注释(IEA→EXP 升级轨迹)。跨物种任务则按物种划分(如用酵母+小鼠训练、人类测试)以考察迁移能力。

三种划分的任务语义与适用场景:

划分方式 划分键 模拟的真实场景 主要风险
时序快照 GAF Date 列 / release 日期 “预测未来会发现什么” 术语空间漂移需用锁定版本处理(坑点 6)
证据分层 Evidence_Code “从弱证据外推强证据” IEA→EXP 升级并非随机,偏向热点基因
物种迁移 Taxon “冷门物种的注释冷启动” 同源泄漏(IBA 已编码跨物种信息,§5.3)

自建划分时的最小实验规范:划分键写进实验配置、划分前先做复合键去重(§4.1)、划分后在两侧分别统计证据代码分布与方面分布——两侧分布差异本身就是数据集切片报告的一部分。

§5.3 泄漏风险(重点)

  1. 同源泄漏:直系同源基因在物种间共享序列与注释,随机划分会让近亲基因分属训练/测试两侧,指标虚高;跨物种划分也要注意 PAINT 的 IBA 注释本身就把跨物种信息编码进了训练标签。
  2. 文献泄漏:同一篇论文可能同时支撑多条注释,文献级随机划分会把同源证据劈开;应按 DB:Reference 的 PMID 分组划分。
  3. 版本泄漏:测试集若含训练 release 之后的 obsolete/合并术语改写,模型可能"记住"旧 ID 映射;务必锁定单一 release 并在论文中报告 DOI。
  4. IEA 自举泄漏:InterPro2GO 的映射规则若在训练窗口内生成,用其自动注释测同一时期数据等于用规则测规则;测试集应尽量限定人工审编证据。

§5.4 交叉验证与外部验证建议

多标签稀疏场景建议:按基因产物分组 K 折(scikit-learn 的 GroupKFold,以 DB_Object_ID 为分组键),并用多层指标(macro-F1 + 层级精度)同时报告;小样本术语用 goslim 截断后再评估。外部验证优先选择:另一物种的 GAF、下一月度 release 的新增注释、或独立文本挖掘证据集。

时序验证的完整协议(功能预测标准做法):取 release T 作训练集(全部注释),取 release T+k(如 T+12 个月)新增的 EXP/IDA 注释作测试集——注意是"新增",而非"全部",避免把训练集样本原样搬进测试。该协议自动满足"测试标签在当时未知"的真实性约束,是 CAFA 类社区评测的底层逻辑。实现时以 GAF Date 列与 release 日期双字段过滤,并在报告中写明 T 与 T+k 的具体日期。


§6 AI 就绪指南

§6.0 云端快速启动

GO 无官方云端镜像,但数据完全静态可直链,任意 Colab/Kaggle 会话一分钟内可用。直链稳定性经过了二十余年考验(PURL 永久解析),唯一需要注意 2026-06 类文件名变更事件(坑点 6)对自动脚本的影响——快速实验用 current 直链没问题,正式实验一律走固定 release 存档。

# Colab 一键拉取本体与人类注释(约 1 分钟)
# go-basic.obo: 无环基础版本体;goa_human.gaf.gz: 人类 GAF 注释
import urllib.request, gzip, shutil

urllib.request.urlretrieve("http://purl.obolibrary.org/obo/go/go-basic.obo", "go-basic.obo")
urllib.request.urlretrieve("http://current.geneontology.org/annotations/goa_human.gaf.gz", "goa_human.gaf.gz")
with gzip.open("goa_human.gaf.gz", "rt") as fin, open("goa_human.gaf", "w") as fout:
    shutil.copyfileobj(fin, fout)
print("ready")

§6.1 快速上手

以下代码预期目录结构为 data_root/ 下放置 go-basic.obo 与 goa_human.gaf(data_root 与文件名直接拼接,无子目录层级);最小可用子集 = 本体全部术语 + 人类 GAF 全部注释,约 1 分钟内可完成解析。

# 目录结构预期:
#   data_root/
#   ├── go-basic.obo        # 本体(PURL 直链下载)
#   └── goa_human.gaf       # 人类注释(解压后)
# data_root 与文件名拼接: os.path.join(data_root, "go-basic.obo")
import pandas as pd
from goatools.obo_parser import GODag

DATA_ROOT = "./data"
# 1) 加载本体 DAG(goatools 自动跳过 obsolete,可用 optional_attributes 取全字段)
dag = GODag(f"{DATA_ROOT}/go-basic.obo", optional_attrs={"namespace", "def"})

# 2) 解析 GAF 为 DataFrame(17 列标准名)
GAF_COLS = ["DB", "DB_Object_ID", "DB_Object_Symbol", "Qualifier", "GO_ID",
            "DB_Reference", "Evidence_Code", "With_From", "Aspect",
            "DB_Object_Name", "DB_Object_Synonym", "DB_Object_Type",
            "Taxon", "Date", "Assigned_By", "Annotation_Extension",
            "Gene_Product_Form_ID"]
gaf = pd.read_csv(f"{DATA_ROOT}/goa_human.gaf", sep="\t", comment="!",
                  names=GAF_COLS, dtype=str)
print(len(gaf), "annotations;", len(dag), "terms")   # 人工注释规模一览

# 3) 只保留强证据(EXP 家族),查看标签分布
strong = gaf[gaf["Evidence_Code"].isin(["EXP", "IDA", "IPI", "IMP", "IGI", "IEP"])]
print(strong["Aspect"].value_counts())

§6.2 数据获取

产物 获取方式 内容 稳定性提示
go-basic.obo PURL 直链 purl.obolibrary.org/obo/go/go-basic.obo 无环版本体 PURL 永久解析月度版
go.obo / go.owl PURL 直链 核心版(含跨方面关系) 同上
go-plus.owl PURL 直链 go/extensions/go-plus.owl 全公理化版 无 OBO 格式
各物种 GAF current.geneontology.org/annotations/*.gaf.gz 注释表 2026-06 release 曾改文件 URL/名称,自动脚本需跟进
历史版本 Zenodo DOI(如 10.5281/zenodo.20943148) 任意历史 release 复现 复现研究务必用 Zenodo 固定版本
# 可复现下载脚本:显式记录 release 日期与 checksum(官方引用政策要求注明 release 日期)
GO_DATE="2026-08-05"
wget -q "http://purl.obolibrary.org/obo/go/go-basic.obo" -O "go-basic_${GO_DATE}.obo"
wget -q "http://current.geneontology.org/annotations/goa_human.gaf.gz" -O "goa_human_${GO_DATE}.gaf.gz"
sha256sum "go-basic_${GO_DATE}.obo" "goa_human_${GO_DATE}.gaf.gz" > checksums_${GO_DATE}.txt

GAF 之外的两条注释通道:GPAD(2.0 代注释格式,列结构更规范,Qualifier 与证据代码语义与 GAF 对齐)与 GPI(基因产物元数据文件,含符号、同义词、产物类型与 taxon,适合做 ID 映射层的输入)。新管线建议优先评估 GPAD+GPI 组合,但注意部分社区工具仍只认 GAF;无论选哪种,同一实验内不要混用两种格式的同一来源注释,否则去重键不一致会产生语义重复行。

§6.3 预处理全流程

流程四步:GAF 解析 → 质量过滤(IEA/ND/obsolete/NOT)→ 祖先传播(go-basic 保证安全)→ 粒度截断(goslim)。可运行实现:

# 预处理:从原始 GAF 到可训练的多标签矩阵
import pandas as pd

GAF_COLS = ["DB", "DB_Object_ID", "DB_Object_Symbol", "Qualifier", "GO_ID",
            "DB_Reference", "Evidence_Code", "With_From", "Aspect",
            "DB_Object_Name", "DB_Object_Synonym", "DB_Object_Type",
            "Taxon", "Date", "Assigned_By", "Annotation_Extension",
            "Gene_Product_Form_ID"]
gaf = pd.read_csv("data/goa_human.gaf", sep="\t", comment="!",
                  names=GAF_COLS, dtype=str)

# Step 1 质量过滤
keep_ev = {"EXP", "IDA", "IPI", "IMP", "IGI", "IEP", "IBA"}
mask_ev = gaf["Evidence_Code"].isin(keep_ev)
mask_not = ~gaf["Qualifier"].fillna("").str.contains("NOT")     # 剔除负注释
mask_term = gaf["GO_ID"].isin(dag.keys())                        # 剔除 obsolete(goatools 已跳过的 ID)
clean = gaf[mask_ev & mask_not & mask_term].copy()

# Step 2 祖先传播:go-basic 无环,把每条注释扩展到全部祖先
def with_ancestors(go_id: str) -> set:
    return {go_id} | dag[go_id].get_all_parents()

clean["labels"] = clean["GO_ID"].map(with_ancestors)

# Step 3 粒度截断:只保留 goslim_generic 内的术语作为标签空间
slim_ids = {t.item_id for t in pd.read_csv(          # goslim 成员清单可由 OBO subset tag 导出
    "data/goslim_terms.txt", sep="\t", dtype=str)["go_id"]}
gene2labels = (clean.groupby("DB_Object_ID")["labels"]
               .agg(lambda s: set().union(*s) & slim_ids))
print(gene2labels.iloc[0])

第 4 步 ID 映射治理:GAF 的 DB_Object_ID 是来源库命名空间内的 ID(UniProtKB、MGI 等)。把 GO 标签接到你自己的特征(序列、表达谱、文献)上时,必须经官方交叉引用对齐——UniProt 入库号用 xref、Ensembl ID 经 EnsemblCompara/UniProt 映射、符号仅作展示不作主键。映射后统计三件事并写进数据卡:映射成功率、一对多映射的处理策略(保留全部/选 canonical)、以及无法映射样本的比例。跳过这一步的典型事故是同一蛋白以两个 ID 出现(UniProt 与 Ensembl 各一次),训练/测试划分后被误当成独立样本,制造同源泄漏(§5.3)。

§6.3b 术语子集(goslim)的获取与使用

goslim 不是"降采样",而是官方维护的语义摘要子集——每个 slim 术语代表其覆盖的一个功能主题。两种用法对应两种获取方式:

# 用法 A:下载现成 slim 文件(OBO 格式;官方 PURL 规则:go.obo 换为 go/subsets/goslim_generic.obo)
#   slim 清单见官方 Download the Ontology 文档的 GO slims 章节
from goatools.obo_parser import GODag
slim = GODag("goslim_generic.obo")
slim_ids = set(slim.keys())                     # 约 200 个术语的通用摘要集

# 用法 B:从 go-basic.obo 内嵌的 subset 标签提取(无需额外下载)
full = GODag("go-basic.obo")
slim_b = {t.item_id for t in full.values()
          if "goslim_generic" in (getattr(t, "subset", []) or [])}
assert slim_ids == slim_b                       # 两种来源应一致

# 映射策略:把全量标签"上卷"到最近的 slim 祖先(Map2Slim 语义)
def to_slim(go_id: str) -> set:
    term = full[go_id]
    anc = {go_id} | term.get_all_parents()
    hits = anc & slim_ids
    return hits if hits else {go_id}            # 无 slim 覆盖时保留自身

选型提示:goslim_generic 适合通用摘要;goslim_agr 面向 Alliance 模式生物核心基因集;还有植物、 curated 等变体(见 release 的 subsets/ 目录)。两个纪律:其一,同一项目内固定一种 slim 且写进配置,换 slim 等于换任务;其二,"上卷后无 slim 覆盖则保留自身"的兜底策略会产生非 slim 粒度的杂类标签,报告时须声明兜底比例。

§6.4 PyTorch DataLoader

以"基因序列嵌入 → 多标签 GO 术语"为例的完整可运行 Dataset(特征来自任意外部嵌入文件,标签来自上节 gene2labels):

<details>
<summary>展开完整 Dataset 与 DataLoader 代码(约 40 行)</summary>

import torch
from torch.utils.data import Dataset, DataLoader
import numpy as np

class GoMultiLabelDataset(Dataset):
    """每样本 = 一个基因产物;X = 预计算序列嵌入,Y = goslim 多标签 0/1 向量。
    预期目录: data/embeddings.pt 存 {gene_id: np.ndarray} 字典(TensorFlow/ESM 等导出均可)。"""

    def __init__(self, gene2labels: dict, label_index: dict, emb_path="data/embeddings.pt"):
        self.genes = [g for g in gene2labels if g in torch.load(emb_path, weights_only=False)]
        self.embs = torch.load(emb_path, weights_only=False)
        self.gene2labels, self.label_index = gene2labels, label_index
        self.n_labels = len(label_index)

    def __len__(self):
        return len(self.genes)

    def __getitem__(self, idx):
        gene = self.genes[idx]
        x = torch.as_tensor(np.asarray(self.embs[gene]), dtype=torch.float32)
        y = torch.zeros(self.n_labels)
        for term in self.gene2labels[gene]:
            y[self.label_index[term]] = 1.0
        return x, y

# 实例化:标签索引按使用频率排序,长尾术语自然沉底
freq = pd.Series([t for labs in gene2labels for t in labs]).value_counts()
label_index = {t: i for i, t in enumerate(freq.index)}
ds = GoMultiLabelDataset(gene2labels, label_index)
dl = DataLoader(ds, batch_size=64, shuffle=True, num_workers=2, pin_memory=True)

xb, yb = next(iter(dl))
print(xb.shape, yb.shape, float(yb.sum(1).mean()))   # 平均每基因标签数

</details>

§6.5 坑点(8 个)

以下 8 个坑点按"新手命中率高 + 后果严重"筛选,每个给出问题/症状/三级解法。前 5 个在任何 GO 教程里都有影子但依然高频翻车,后 3 个是工程与版本治理层面的深水区。每条坑点的"参考"链接指向官方文档或量化研究,深入排查时先读官方文档再动手。

⚠️ 坑点 1:IEA 电子注释污染训练集与富集结果(分类:标签理解)

问题:全量 GAF 中约 62.5% 的注释是 IEA——由 InterPro2GO 与 UniProt 词条映射自动生成、未经任何 curator 复核。把它们与人工审编注释混为同一监督信号,模型实际在拟合"域签名→术语"的映射规则,而不是生物学功能本身;富集分析则会因注释量暴增而放大虚假关联。
症状:功能预测模型在全部注释上训练后指标很高,但换成纯人工注释评测立刻崩塌;富集结果里充满"结合""催化"级别的宽泛 MF 术语;同批数据两次运行(一次含 IEA、一次不含)显著术语集差异巨大——文献报告的极端案例中含 IEA 得 141 个显著项、剔除后仅剩 55 个。
解决:

  1. 简单方法:按 Evidence_Code 过滤,仅保留 EXP/IDA/IPI/IMP/IGI/IEP 家族(可加 IBA 系统发育通道);富集分析在工具里勾选"exclude electronically annotated"。
  2. 进阶方法:把证据代码做成样本权重(EXP=1.0、IBA=0.7、IEA=0.2)参与加权损失,而非硬删除——保留覆盖面又抑制噪声;对富集分析,分别跑含/不含 IEA 两套并对比语义相似度(文献案例显示两种策略的语义相似度约 0.714-0.727,生物学结论可保持稳健)。
  3. SOTA 方法:弱监督框架——用 IEA 作预训练/伪标签种子,用人工注释作金标准微调;或训练时显式建模证据类型通道,让模型学习"这条标签有多可信"。
    参考:Guide to GO Evidence Codes;Molecular Ecology 跨物种 GO 使用研究

⚠️ 坑点 2:忽视 DAG 结构,把 GO 注释当扁平独立标签(分类:预处理陷阱)

问题:GO 是有向无环图而非互斥类别:注释了子术语的基因逻辑上必然属于其全部 is_a 祖先。直接用原始 GAF 的稀疏行做训练或评估,等于丢弃了结构先验,还会让"模型没预测子术语却预测了父术语"这类逻辑矛盾得不到惩罚。
症状:多标签评估中出现"预测了 GO:0006915(凋亡)却没预测其祖先 cellular process"的悖论;按术语独立计算 AUC 时父术语虚高(因为它天然继承了全部子术语正样本);两个模型比较时粒度不同的输出无法对齐。
解决:

  1. 简单方法:训练前做祖先传播(transitive closure),把每条注释沿 go-basic 的 is_a/part_of/regulates 扩展到全部祖先——代码见 §6.3 Step 2。
  2. 进阶方法:用层级约束的损失函数(如层次化 sigmoid + 祖先一致性惩罚),或按拓扑序解码保证"选子必选父";评估改用层级感知指标(hierarchical precision/recall)。
  3. SOTA 方法:图神经网络(R-GCN/GraphSAGE)直接在 GO DAG 上做消息传递,让术语嵌入本身编码结构;或用 OWL 推理器在 go-plus 上做逻辑校验后再导出训练集。
    参考:Download the Ontology(go-basic 无环保证);PLoS Comput Biol 富集与传播讨论

⚠️ 坑点 3:富集分析背景集选错(分类:评估误用)

问题:超几何/Fisher 检验的统计前提是"兴趣集"与"背景集"来自同一采样空间。用全基因组当背景而兴趣集实际只测了 2 万个芯片探针基因(或一个 panel 的 500 个基因),p 值被系统性扭曲——这是 GO 富集中最常见也最致命的错误。
症状:小 panel 数据富集出大量"全基因组里也罕见"的术语;换背景集后结果剧烈翻转;审稿人一句"你的 universe 是什么"就把分析打回。
解决:

  1. 简单方法:背景集 = 实验实际检测到的全部基因(芯片全部探针、RNA-seq 全部检出基因、质谱鉴定到的蛋白),并保证兴趣集 ⊆ 背景集。
  2. 进阶方法:对背景集施加与兴趣集相同的表达量/可检测性过滤(如 TPM > 1),避免"低表达基因进不了兴趣集却留在背景"的偏差;富集前按术语规模过滤(如 5-500 基因)以降低多重检验负担。
  3. SOTA 方法:改用不依赖显式背景的重排序类方法(GSEA 系)或可交换集检验;报告背景集定义与过滤阈值作为可复现性材料。
    参考:GO 富集常见错误清单;PLoS Comput Biol 参考 集 讨论

⚠️ 坑点 4:多重检验不校正或校正方法错配(分类:评估误用)

问题:富集分析同时测试成百上千个术语,不校正的话 p<0.05 下必然产出成片假阳性;而注释沿 DAG 传播到根节点后,测试数等于全图术语数,最保守的 Bonferroni 会把几乎全部真实信号也杀掉。
症状:无校正时 25%-40% 的"显著"通路是假的(基准研究在 6 个 RNA-seq 数据集上量化了这一膨胀);Bonferroni 之后什么都不显著;同一数据换工具显著性列表大幅变化。
解决:

  1. 简单方法:统一使用 Benjamini-Hochberg FDR 校正并报告 q 值,这是探索性基因组学的现行标准。
  2. 进阶方法:认识到 DAG 传播使同一路径上的检验强相关,独立性假设不成立时改用 Benjamini-Yekutieli,或用自举/置换法直接估计 FDR。
  3. SOTA 方法:用结构感知方法(如 topGO 的 elim/weight 算法)在检验层面利用 DAG 去相关,先测叶端再向根部去冗余。
    参考:通路富集校正量化研究(OSTI);PLoS Comput Biol 多重检验章节

⚠️ 坑点 5:富集结果父子术语冗余淹没真实信号(分类:工程陷阱)

问题:父术语聚合了多个子术语的基因,在超几何检验中天然比子术语更容易"显著",结果列表被同一生物主题的祖孙三代重复占据,人工解读与自动化下游(如以显著术语数为特征的建模)都被注入结构冗余。
症状:Top 20 显著术语其实是同一主题的 5 个变体;把显著术语当 token 喂给下游模型时性能反而下降;论文图里富集网络一团糊。
解决:

  1. 简单方法:只报告 goslim 粒度的富集,或对结果列表按 DAG 去冗余(子显著则抑制其父)。
  2. 进阶方法:用语义相似度聚类(REVIGO 类工具)把冗余术语折叠成主题簇,每簇选代表术语。
  3. SOTA 方法:GO trimming 类算法在 DAG 上做全局最优冗余消除;或在建模端直接用术语嵌入的语义向量代替 one-hot 显著性向量。
    参考:Molecular Ecology 冗余讨论(REVIGO/GO trimming);GO slims 与反子集说明

⚠️ 坑点 6:月度版本漂移与 2026-06 破坏性变更击穿自动管线(分类:工程陷阱)

问题:GO 每月发布新版本,术语增删、定义修订是常态(2026-08-05 版较上版净减 153 个术语);2026-06-19 release 更改了文件 URL 与名称,未适配的自动下载脚本一夜失效。生产系统若"永远拉 current",两个时间点的分析结果不可比,复现实验直接断裂。
症状:三个月前跑的富集结果今天对不上;pipeline 突然 404;论文审稿被要求"注明 GO 版本"时无法回答。
解决:

  1. 简单方法:锁定 release——下载后本地存档并在文件名/配置中记录日期,用 Zenodo DOI(如 10.5281/zenodo.20943148)作为引用锚点。
  2. 进阶方法:在数据版本控制(DVC/git-lfs)中登记 release 资产与 sha256;监控官方统计页的术语数与注释数变化作为漂移指标,超过阈值触发回归测试。
  3. SOTA 方法:建立"本体版本迁移层"——用 obsolete 与 merged 类目(每次 release 随文件发布 replaced_by 信息)自动改写历史标签,使旧标注资产平滑升级到新版本。
    参考:GO 官方发布账号变更公告;GO 引用政策(release 日期 + DOI 要求)

⚠️ 坑点 7:obsolete 与合并类目残留进特征矩阵(分类:预处理陷阱)

问题:GO 文件保留了全部 10,248 条废弃术语与 2,434 条合并记录(带 is_obsolete 标记或 replaced_by 指针)。旧缓存 GAF、第三方教程数据或跨版本拼接会让注释挂到已死类目上——它们不参与官方注释但会进入你自己的标签空间,制造只有历史意义的"幽灵标签"。
症状:标签空间比官方统计多出数千;个别标签全部样本来自同一历史时间窗(典型的死类目指纹);GO 官方工具报"unknown term"。
解决:

  1. 简单方法:解析 OBO 后过滤 is_obsolete: true 的术语,并在 GAF 侧用 GO_ID ∈ 当前有效术语集 做交集校验。
  2. 进阶方法:利用 replaced_by 指针把废弃术语的注释自动迁移到接替术语(注意 replaced_by 可能多值、需要人工裁决)。
  3. SOTA 方法:构建定期任务,用官方 go-stats 报告与 gorule-report 校验自有标签空间的合法率,把"幽灵标签率"纳入数据质量看板。
    参考:GO 官方统计(obsolete/merged 计数);发布管线与 QA 报告

⚠️ 坑点 8:跨物种迁移忽视 taxon 限制术语(分类:偏倚陷阱)

问题:GO 部分术语带有分类限制(only_in_taxon/never_in_taxon),如泌乳仅限哺乳动物、光合作用仅限植物。自动注释管线与跨物种模型常无视这些限制,把植物术语贴到昆虫基因上——文献中曾记录 Drosophila 的电子注释出现光合作用术语的乌龙。
症状:跨物种预测输出违反生物学常识;多物种联合训练后模型在单物种评测中反而退化;富集结果混入"该物种根本不具备"的生理过程。
解决:

  1. 简单方法:加载本体时读取 term 的 taxon 限制字段,按 NCBI 分类树过滤掉不适用的术语-基因组合。
  2. 进阶方法:训练管道按物种维护"合法标签掩码"(legal label mask),在损失计算中屏蔽非法类目。
  3. SOTA 方法:把分类约束编码为图结构先验(taxon 节点 + only_in_taxon 边),让模型在表示学习阶段就感知物种边界。
    参考:Molecular Ecology 分类限制案例;OBO Foundry GO 档案

§6.6 数据增强(安全与危险)

操作 判定 说明
基因符号/ID 同义词替换 ✅ 安全 使用 DB_Object_Synonym 列做符号归一,增强文本模型的鲁棒性
沿 DAG 采样祖先/后代做标签平滑 ✅ 安全 以 is_a 距离加权,符合本体语义
物种间直系同源映射扩充训练集 ⚠️ 谨慎 IBA 注释已做过系统发育扩展,重复迁移会双重计入
用 IEA 注释做数据增广 ❌ 危险 等于把自动映射规则当增强样本,放大坑点 1
随机删除术语标签模拟稀疏 ❌ 危险 破坏 DAG 一致性,父标签缺失让层级约束失效
富集工具默认参数直出训练特征 ❌ 危险 坑点 3/4/5 的复合风险叠加

GO 是知识库而非观测数据,传统增强(翻转/裁剪/噪声注入)在这里没有物理对应物——"增强"的正确打开方式只有两条:把本体结构变成模型归纳偏置(层级损失、GNN),或把证据层级变成采样策略(课程学习式:先 IEA 后 EXP,或反之)。任何制造"新标签"或"新样本"的操作都要回答一个问题:它对应哪个真实的生物学假设?答不出来就是污染。

§6.7 模型推荐表

任务 推荐模型族 输入特征 要点
富集分析(ORA) PANTHER 官方工具、topGO、clusterProfiler 差异基因列表 + 自定义背景集 统一 BH 校正;报告背景集与版本
基因集排序(GSEA 系) fgsea、GSEA-P 全基因排序列表 无需预选阈值,注意 gene set 相关性
功能预测(序列→GO) 蛋白质语言模型(ESM 系)嵌入 + 多标签头;DeepGOPlus/NetGO3 类公开基线 序列或预计算嵌入 结合 DAG 结构损失;证据分层评估
知识图谱推理 R-GCN/CompGCN on GO DAG + 基因节点 术语图 + 基因-术语边 go-plus 公理可作约束;注意环
文本→GO 标注 PubMed-BERT 类编码器 + 多标签头 摘要/全文 弱监督用 IEA 种子、人工注释微调
本体嵌入(辅助) 在 GO 图上预训练的术语向量(节点2vec/图自监督) go-basic 拓扑 作为下游模型的术语特征而非独立任务

选型次序建议:先复现一个公开基线(DeepGOPlus 类)校准数据管线,再上自研结构;结构信息(祖先传播 or GNN)与证据分层(坑点 1)是收益最稳定的两个改进点,其余特征工程边际收益递减。

§6.8 硬件需求表

场景 CPU 内存 GPU 说明
解析本体 + 单物种 GAF 4 核 8 GB 不需要 go-basic + goa_human 秒级加载
全物种注释矩阵 + 祖先传播 8 核 32 GB 不需要 全量 GAF 传播内存密集
蛋白质语言模型微调 8 核 64 GB 1×24 GB 嵌入预计算可离线
图神经网络(全 GO 图) 16 核 64 GB 1×24 GB 邻居采样降低显存

内存估计的依据:go-basic.obo 解析后约 4 万术语节点加约 8-10 万条边,纯图结构占用很小;开销大头是"术语 × 基因产物"的传播后邻接矩阵——全物种 1,783,055 个基因产物乘上长尾术语空间,稠密 0/1 矩阵不可行,实践中必须用稀疏结构(scipy.sparse、dict of sets)或按物种分片。这也是"全物种祖先传播要 32 GB"的原因:不是本体大,而是传播后的标签矩阵大。

§6.9 评估指标代码

# 多标签 + 层级感知双指标:macro-F1 与祖先约束违反率
import numpy as np

def macro_f1(y_true: np.ndarray, y_pred: np.ndarray, eps=1e-9):
    tp = ((y_true == 1) & (y_pred == 1)).sum(0)
    fp = ((y_true == 0) & (y_pred == 1)).sum(0)
    fn = ((y_true == 1) & (y_pred == 0)).sum(0)
    f1 = 2 * tp / (2 * tp + fp + fn + eps)
    return float(np.mean(f1[(tp + fn) > 0]))          # 仅统计出现过的标签

def dag_violation_rate(y_pred: np.ndarray, parents: dict):
    """y_pred: n×L 0/1 矩阵; parents: {term_idx: [parent_idx,...]}
    违反 = 预测了子术语但未预测其某个祖先(go-basic 上是纯逻辑错误)。"""
    viol = 0
    for row in y_pred:
        ones = set(np.nonzero(row)[0])
        for t in ones:
            if not parents.get(t, []).__len__() or not ones.issuperset(parents[t]):
                viol += 1
                break
    return viol / len(y_pred)

print(f"macro-F1 = {macro_f1(yb.numpy(), (torch.sigmoid(yb) > 0.5).float().numpy()):.4f}")

功能预测社区还常用两个补充指标:F_max(CAFA 评测采用的最大 F 值——对每个阈值 t 求全局 F 值后取最大,避免固定 0.5 阈值的任意性)与祖先保持率(预测集合闭包在 DAG 上的合法性)。实现骨架:

# F_max:在验证集上扫描全局阈值,报告 (best_t, f_max) 二元组
def f_max(y_true: np.ndarray, scores: np.ndarray, thresholds=np.arange(0.05, 0.96, 0.05)):
    best, best_t = 0.0, 0.0
    for t in thresholds:
        pred = (scores >= t).astype(int)
        tp = ((pred == 1) & (y_true == 1)).sum()
        fp = ((pred == 1) & (y_true == 0)).sum()
        fn = ((pred == 0) & (y_true == 1)).sum()
        f = 2 * tp / (2 * tp + fp + fn) if (2 * tp + fp + fn) else 0.0
        if f > best:
            best, best_t = f, float(t)
    return best_t, best

# 用法:scores = 模型对验证集输出的概率矩阵(n×L)
# 注意:F_max 的阈值在验证集选出后须原样用于测试集,不得在测试集上重扫

富集类任务的评估维度不同:不是评估"预测对不对",而是评估"结论稳不稳"——跨工具、跨背景集、跨版本重跑后显著术语集的语义相似度(RES 克/林语义相似度)与 Jaccard 重合率,即 §7.8 外部验证矩阵的思路。两类任务不可混用指标:用 F_max 评富集、用显著性评功能预测都是范畴错误。

§6.10 MLOps 笔记

  1. 数据版本:每个 release 记录(日期 + Zenodo DOI + sha256)三元组;CI 中用 checksum 阻断未登记数据进入训练。
  2. 漂移监控:每月对比官方统计页术语数/注释数与自家特征矩阵规模;术语数波动超 ±1% 或出现 breaking change 公告时触发全量回归。
  3. 标签空间治理:把 obsolete 过滤、taxon 掩码、NOT 处理沉淀为独立的数据质量断言层,任何一处失效即拒绝训练。
  4. 可复现报告:实验报告模板中固定字段——GO release 日期、本体版本(basic/go/plus)、证据过滤策略、祖先传播与否、goslim 截断集——与官方引用政策要求的"release 日期 + DOI"对齐。
  5. 更新节奏对齐:GO 每月 1 日前后发布,把自有管线的重训/评测窗口定在其后一周,配合月度回归而非滚动更新,可把"哪个 release 的问题"追踪成本降到最低。
  6. 降级预案:官方 PURL 或镜像不可达时(历史上因域名与 CDN 迁移发生过),Zenodo 存档是第二数据源;生产系统应同时登记两条获取路径并定期演练切换。

§7 质量评估与局限性

§7.1 已知偏倚表

偏倚类型 描述 严重程度 缓解措施
文献/引用偏倚 注释集中于研究热点(癌症、免疫、代谢),约 20% 基因无任何注释 高 富集结果解释时显式声明注释盲区;结合文本挖掘补充
模式生物偏倚 172 个直接注释物种高度集中于经典模型;多数物种仅自动注释 高 跨物种任务按证据代码分层;冷门物种结果降权
证据类型偏倚 62.5% 注释为 IEA 自动生成,宽泛术语预测准确率高于精细术语 高 证据分层训练/评估(坑点 1)
结构性冗余偏倚 DAG 父术语聚合子术语基因,富集显著性向宽泛术语倾斜 中 goslim 截断、语义聚类去冗余(坑点 5)
版本漂移 月度修订使任何静态快照迅速过时,旧版工具用旧版注释 中 锁定 Zenodo DOI;监控官方统计页(坑点 6)

§7.2 标注质量

人工审编注释的可信度建立在四级溯源链上(§3.10),系统发育通道(PAINT)自 2008 年起成为最大的人工审阅来源,每条 IBA 注释可回溯到直接实验注释。但官方明确"证据代码不是质量声明"——不存在跨标注者一致性指标,用户须自行以证据代码为代理做质量分层。ND 编码(93,502 条)是官方承认的信息性缺失,提醒用户"未注释 ≠ 无功能"。

质量分层的实操方法:

  1. 按证据分层评测:把测试集按 EXP 家族 / IBA / ISS 系 / IEA 切成四层,分别报告指标。若模型只在 IEA 层表现好,说明它学到的是映射规则(坑点 1)。
  2. 按注释日期分层:老注释可能引用已修订的术语定义,把 2020 年前与 2020 年后的注释分开评测可以观察定义演化带来的标签漂移。
  3. 按来源机构分层:不同成员库(GOA/MGI/SGD 等)的审编口径存在细微差异,跨库聚合的模型评测值得看一层按 Assigned_By 的分解。
  4. 权威指标缺失的应对:GO 没有"注释准确率"的官方金标准,社区的替代方案是 CAFA 类时序评测——用旧快照训练、新快照验证,把"时间"当作真值生成器。这是目前唯一可比的泛化性证据,引用时注明快照日期对。

§7.3 泛化性表

迁移场景 失效风险 证据/机制
模式物种 → 冷门物种 高 冷门物种几乎全为 IEA,注释分布与模式物种截然不同
历史版本 → 未来版本 中-高 每版净改百级术语;2016 版与 2009 版注释的富集结果 74% 不一致
含 IEA 训练 → 人工注释评测 高 模型学到的是映射规则而非功能;剔除 IEA 后指标显著变化
跨物种功能转移 中 同源迁移可信度与术语泛度相关:泛化术语预测更准,精细术语易错
生物过程 → 细胞组分跨方面推理 中 go-basic 排除跨方面关系;用 go/go-plus 需另行处理环

泛化性结论的统一逻辑:GO 的每一类泛化风险都源自"知识库反映的是注释投入的分布"。评估一个功能预测系统的泛化能力时,先画出测试集在物种 × 证据 × 日期三个维度上的分布,再与训练集对比——分布重叠度低的位置就是泛化断崖。这个"分布画布"检查五分钟即可完成,却能提前暴露绝大多数上线后才发现的失效模式。

§7.4 伦理

GO 不含人类受试者数据、无个人可识别信息(CC BY 4.0 开放知识库)。伦理考量集中于下游:功能注释引导的基因结论若进入临床叙事(如"该位点与凋亡相关"),其证据强度被注释的证据代码决定——把 IEA 级结论当作实验事实传递给临床合作者是不当的。署名合规(CC BY 4.0 要求标识 GO 联盟与 release 版本)既是法律义务也是学术伦理。

一个常被忽视的伦理触点在报告层:基于 GO 富集的疾病机制叙事会经论文、综述与 AI 生成内容放大。如果原始富集本身就带背景集错误或未校正的多重检验(坑点 3/4),错误叙事的传播成本远高于数据本身的成本。因此把"富集方法透明度"(背景集、校正方法、版本、证据过滤四要素齐全)视为伦理要求而非格式要求,是对这个数据集负责的使用方式。

§7.5 公平性

数据集层面的公平性体现为物种与主题覆盖的不均衡:人类与经典模式生物占据绝大多数人工注释,非模式生物与被忽视疾病相关基因的注释密度系统性偏低。用 GO 训练的功能预测模型会把这种"研究投入不平等"继承为"预测能力不平等"——对罕见病、被忽视热带病相关基因的预测应显式报告其注释稀疏背景。

公平性问题的三个可操作缓解:其一,报告模型性能时按注释密度分层(高/中/无注释基因组),让"对谁更准"可见;其二,冷门物种任务优先考虑迁移与同源方法而非从头训练,并明示 IBA 通道已在标签里做过一次迁移;其三,在临床语境下,对无注释基因输出"未知"而非强行预测——承认知识边界比编造功能叙事更安全。

§7.6 数据漂移

漂移源 频率 影响 监控建议
术语增删/修订 每月(2026-08-05 版净 -153) 标签空间漂移、历史模型口径失效 对比官方统计页 Δ 值
注释批量更新 每月 标签分布变化(MF 占比随 UniProt 映射扩展上升) 按方面/证据代码分层统计
格式与地址变更 不定期(2026-06 为破坏性变更) 下载管线失效 订阅官方发布渠道公告
废弃与合并 持续(累计 10,248 + 2,434) 幽灵标签 replaced_by 迁移任务(坑点 7)

最小可行的漂移监控脚本(每月 CI 运行一次,与官方统计页对数):

# drift_check.py:对比自有标签矩阵与官方 release 统计
# 官方数字来源:https://www.geneontology.org/stats.html(人工或脚本读 release_stats)
LOCAL = {
    "n_terms": len(label_space),          # 自有标签空间大小
    "n_annotated_genes": len(gene2labels),
    "ghost_rate": 0.004,                  # 挂到 obsolete 术语的注释占比(坑点 7)
}
THRESH = {"n_terms": 0.01, "ghost_rate": 0.001}
# n_terms 相对上月波动 >1% 或 ghost_rate >0.1% 即告警并触发回归

比数字对账更重要的是语义对账:每月抽 20 条新增/修订术语的 diff(GitHub 仓库 commit 可直接看),人工确认定义变化是否影响自己的标签语义。月度 diff 通常只有几十条,10 分钟可完成——这是所有监控里性价比最高的一项。

§7.7 DAIMS 24 项检查表

# 检查项 状态 说明
1 宽格式 ✅ GAF 单行一断言;本体与注释分离,表格化友好
2 唯一标识 ⚠️ GO ID 与基因产物 ID 稳定,但 GAF 注释行无主键,需复合键去重
3 特殊字符 ✅ 制表符分隔 UTF-8 文本,无注入风险;定义文本含转义规范
4 重复行 ✅ 官方 QA 管线去重;跨来源合并后可能出现语义重复,复合键可识别
5 缺失编码 ✅ ND 证据代码为官方"无数据"编码,With/From 空列语义明确
6 标签标识 ✅ Aspect 列(P/F/C)+ GO namespace 双重标识;Qualifier 支持 NOT 负标签
7 罕见类分组 ✅ GO slims 官方子集提供粒度归并;anti-slim 标注禁止直接注释类目
8 偏倚评估 ⚠️ 文献/物种/证据偏倚结构清楚(§7.1)但无官方量化报告,需用户自行评估
9 数据字典 ✅ OBO 文件即自描述字典;GAF 列有官方格式文档
10 信息性缺失解释 ✅ ND、NOT、空 With/From 均有官方语义文档
11 设备记录 ❌ 不适用——知识库无实验平台/设备元数据,文献方法描述不入库
12 共线性 ⚠️ DAG 冗余为"结构性共线"(祖先-后代标签强相关),需语义方法处理而非传统 VIF
13 编码映射 ✅ ECO(证据)、UniProt、EC 号、NCBI taxon 官方映射齐备,xref 体系成熟
14 时间戳处理 ✅ GAF Date 列 YYYYMMDD + release 日期 + Zenodo DOI 三层时间锚
15 划分建议 ⚠️ 无官方划分;时序/证据/物种划分均可行但需自建并防泄漏(§5)
16 泄漏讨论 ✅ 同源/文献/版本/IEA 自举四类泄漏路径明确且可操作(§5.3)
17 标签分布 ✅ 官方统计页按方面/证据全量公布,可机读回溯历史 release
18 测量偏倚 ⚠️ 证据类型即"测量质量"差异,IEA 与 EXP 混合分布需分层处理
19 外部验证建议 ✅ 跨物种/跨版本/独立证据三路验证均可行(§7.8)
20 版本记录 ✅ 月度 release + Zenodo DOI + 2018-09 起全历史存档,业界标杆
21 预处理脚本 ✅ goatools/obonet/官方 notebooks 社区成熟,官方维护 API 指南
22 合规要求 ✅ CC BY 4.0 单一许可、署名与版本声明要求明确成文
23 多模态对齐 ⚠️ 本体-注释-序列需经 UniProt/Ensembl ID 映射对齐,ID 漂移需治理
24 去标识化 ✅ 无任何人类受试者数据,天然无隐私风险

DAIMS 评分:19.5 / 24

评分解读:16 项 ✅、7 项 ⚠️、1 项 ❌。GO 的数据工程基础(版本治理、溯源链、编码映射、合规文档)达到知识库类数据集的最高水准;扣分集中在"它不是为机器学习而设计"的固有点上——无注释行主键、无官方划分、DAG 冗余需要结构化处理、多模态对齐依赖外部 ID 体系;设备记录一项对本数据集类型不适用。

对你意味着什么:(1)可以直接把它当生产级标签源,但必须在管道里补四件事——复合键去重、证据分层、obsolete 过滤、ID 映射治理(§6.3 与坑点 1/7 的代码可直接复用);(2)任何训练/评测实验锁定 release DOI,报告里写出"release 日期 + DOI",这是官方合规要求而非可选项;(3)不要试图从 GO 身上找"划分"——划分是你自己的实验设计,泄漏控制(§5.3)由你负责;(4)设备记录缺失意味着别指望从 GO 反推任何实验条件,需要方法级信息请回溯 DB:Reference 的原始文献。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性质指标 相对内部变化 关键发现
欧洲茴鱼胚胎蛋白组富集重分析 学术研究(Molecular Ecology) 含 IEA vs 剔除 IEA 的富集一致性 显著术语数与语义相似度 含 IEA 141/158 项 vs 剔除后 55/72 项 语义相似度 0.714-0.727,生物学结论可保持稳健
2016 版 vs 2009 版注释富集对比 系统综述(OSTI 报告) 版本稳定性 富集术语重合率 2016 版 74% 的富集项在 2009 版缺失 必须报告注释版本;web 工具 16/25 使用过时注释
6 个 RNA-seq 数据集多重检验基准 系统综述(OSTI 报告) p 值校正影响 显著通路数量 无校正多出 25%-40% 不校正的富集结果不可发表级使用

矩阵的读法:三行分别对应坑点 1(IEA 污染)、坑点 6(版本漂移)、坑点 4(多重检验)的量化证据。外部验证的设计原则是"每次只动一个变量"——重跑分析时固定其余配置,仅切换 IEA 过滤、release 版本或校正方法之一,才能把指标变化归因到该变量。这也是向审稿人/复核方证明"结论对方法选择稳健"的最经济路径。


§8 基准与生态

§8.1 官方工具与生态角色(无模型排行榜说明)

GO 不设"模型排行榜"——它是评测底座而非竞赛数据集。功能预测社区的公开评测以时序快照 + 层级指标的自组织评测为主,官方生态的基准角色由下表资源承担(各行资源能力互不可比,仅列定位):

生态角色 资源 能力定位 完整引用
官方富集分析 PANTHER over-representation(geneontology.org 内嵌) 全基因组系统发育级富集 Thomas PD, Ebert D, Muruganujan A, Mushayahama T, Albou LP, Mi H. PANTHER: Making genome-scale phylogenetics accessible to all. Protein Sci. 2022;31(1):8-22. DOI 10.1002/pro.4218
术语/注释浏览器 AmiGO 2 检索、浏览本体与注释 Carbon S, Ireland A, Mungall CJ, Shu S, Marshall B, Lewis S, et al. AmiGO: online access to ontology and annotation data. Bioinformatics. 2009;25(2):288-289. DOI 10.1093/bioinformatics/btn615
结构化功能模型 GO-CAM 注释链接为因果活性模型 Thomas PD, Hill DP, Mi H, Osumi-Sutherland D, Van Auken K, Carbon S, Balhoff JP, Albou LP, Good B, Gaudet P, Lewis SE, Mungall CJ. Gene Ontology Causal Activity Modeling (GO-CAM) moves beyond GO annotations to structured descriptions of biological functions and systems. Nat Genet. 2019;51(10):1429-1433. DOI 10.1038/s41588-019-0500-1
人类功能组 PAN-GO Functionome v2 全人类基因整合审编功能描述 Aleksander SA, Balhoff JP, Carbon S, et al. The Gene Ontology knowledgebase in 2026. Nucleic Acids Res. 2026;54(D1):D1779-D1792. DOI 10.1093/nar/gkaf1292

读表要点:这四类资源合起来覆盖了"查术语(AmiGO)→ 做分析(PANTHER)→ 看机制模型(GO-CAM)→ 取人类整合结论(PAN-GO)"的完整链路,且全部免费开放。若只记一个入口,记 geneontology.org 首页——它把四个资源的入口都放在导航栏,官方富集分析无需注册即可使用。

§8.2 SOTA 总结与选型建议

生态现状:富集分析一侧,官方 PANTHER + BH 校正已是默认合规基线,结构感知方法(topGO 系)用于处理 DAG 相关性;功能预测一侧,蛋白质语言模型嵌入 + 层级感知多标签头是当前公开方法的主流形态,评测以时序快照与证据分层为可信度门槛。

选型建议按任务分三档:

  1. 只要结论可发表:官方工具(PANTHER)+ 固定 release + 报告背景集与 q 值。这一档不训练任何模型,合规成本最低,适合临床合作论文。
  2. 要自研模型发方法论文:先复现 DeepGOPlus/NetGO3 级公开基线校准管线,再叠加结构改进(层级损失/GNN);评测必须含"剔除 IEA"与"时序快照"两个设置,否则审稿可信度不足。
  3. 要生产系统:在第二档基础上加版本治理层(坑点 6 的迁移层)与标签空间质量看板(坑点 7 的幽灵标签率),并接受"每月全量回归"的运维成本——GO 的月度节奏决定了静态系统必然漂移。

不同文章的数字不可直接比较的原因正是 release、证据过滤、粒度截断三者任一不同都会改变任务定义;引用他人结果时先核对这三个变量。

§8.3 评测协议

自建评测的六个必答项,缺一即不可比:

  1. 固定 release:报告日期 + Zenodo DOI(如 2026-08-05 + 10.5281/zenodo.20943148 式锚点),禁止"current"。
  2. 声明证据过滤:如"仅 EXP 家族"或"全量含 IEA",两者是不同的任务。
  3. 声明粒度与传播策略:全量 38,092 还是 goslim 截断;是否祖先传播、传播后标签密度是多少。
  4. 划分方式与防泄漏:时序/物种/文献分组三选一并给出划分键;同源与 IEA 自举泄漏的处理说明(§5.3)。
  5. 指标组合:macro-F1 为主指标;F_max(附阈值选择协议)与 DAG 违反率为结构附加项;逐方面(BP/MF/CC)分解报告。
  6. 基线对比:与"剔除 IEA"基线、与官方工具输出的对比必须内置,而非附录。

建议把六项写成实验配置的 YAML/JSON 字段,评测脚本直接读取配置生成报告——六项信息可机读,才能让第三方在他们的 release 上复算你的数字。这比"论文附录里的一段话"可靠一个量级。

数据集 类型 与 GO 的关系
Reactome 通路知识库 用 GO 描述分子功能;通路富集常与 GO 富集并列报告
KEGG 通路与基因/化合物 商业许可;通路视角互补 GO 的功能视角
ChEBI 化学实体本体 go-plus 直接导入其子集,为 MF 提供化学语义
Disease Ontology / MONDO 疾病本体 与 GO 正交,联合实现疾病-功能双向富集
UniProtKB 蛋白质知识库 最大注释贡献方之一;IEA 主力来源(EC 号/关键词映射)

§8.5 关键论文 Top 6

  1. Ashburner M, Ball CA, Blake JA, et al. Gene ontology: tool for the unification of biology. Nat Genet. 2000;25(1):25-29. DOI 10.1038/75556 —— GO 奠基论文,确立三大本体与受控词汇目标。
  2. Aleksander SA, Balhoff JP, Carbon S, et al. The Gene Ontology knowledgebase in 2026. Nucleic Acids Res. 2026;54(D1):D1779-D1792. DOI 10.1093/nar/gkaf1292 —— 最新官方更新:代谢/宿主-病原/染色质等领域扩展、PAN-GO functionome v2、1,500+ GO-CAM 模型与 AI 使用建议。
  3. The Gene Ontology Consortium. The Gene Ontology knowledgebase in 2023. Genetics. 2023;224(1):iyad031. DOI 10.1093/genetics/iyad031 —— 上一代官方综述,记录知识库扩张轨迹。
  4. Thomas PD, et al. Gene Ontology Causal Activity Modeling (GO-CAM). Nat Genet. 2019;51(10):1429-1433. DOI 10.1038/s41588-019-0500-1 —— 从词条到可推理功能模型的路线图。
  5. Thomas PD, Ebert D, Muruganujan A, et al. PANTHER: Making genome-scale phylogenetics accessible to all. Protein Sci. 2022;31(1):8-22. DOI 10.1002/pro.4218 —— 官方富集分析引擎的方法学。
  6. Carbon S, Ireland A, Mungall CJ, et al. AmiGO: online access to ontology and annotation data. Bioinformatics. 2009;25(2):288-289. DOI 10.1093/bioinformatics/btn615 —— 最广泛使用的官方浏览器。

阅读次序建议:新手先读 1(奠基论文,理解三本体哲学)→ 2(2026 更新,了解当前规模与新资源);做富集分析读 5(PANTHER 方法学);做功能预测或知识图谱读 2 与 4(GO-CAM,理解注释如何升级为可推理模型)。每篇论文的完整引用格式见 §9.2。

§8.6 社区活跃度

GO 联盟由 NIH NHGRI U41 基金长期资助,核心机构横跨美国(Stanford、USC、OICR 参与)与欧洲(EBI),月度 release 节奏稳定超过十五年;用户支持走 GO Helpdesk 与 GitHub tracker,重大变更(如 2026-06 破坏性变更)通过官方社交账号与 Alliance 社区论坛发布迁移指引,反馈-修订闭环成熟。

对使用者的实际意义:这是一个有维护方、有 SLA 节奏、有历史存档的活数据集。判断依据有三:本体源文件在 GitHub 上以公开 PR 方式修订,每条术语变更可追溯讨论记录;统计页回溯到 2018-09 的全部历史 release,任何历史实验都能对回当时口径;破坏性变更提前在官方渠道公告并给迁移指引(2026-06 事件即有正式通知)。对比多数"发布即冻结"的学术数据集,GO 的治理成熟度更接近基础设施而非一次性数据论文。风险面:成员库资源变化会改变注释通道权重(如某 MOD 缩减审编规模则该物种人工注释增速放缓),依赖单物种或单通道的下游项目应关注官方年报与资助公告。

§8.7 生态快照表

资源 类型 链接 推荐理由
geneontology.org 官方门户 https://geneontology.org/ 入口:下载、浏览器、富集、文档一站式
GO stats 官方统计 https://www.geneontology.org/stats.html 全历史 release 统计可回溯,漂移监控数据源
geneontology/go-ontology GitHub 仓库 https://github.com/geneontology/go-ontology 本体源文件与 issue tracker
goatools 社区解析库 https://github.com/tanghaibao/goatools Python 生态最常用 OBO/GAF 工具
AmiGO 2 在线浏览器 http://amigo.geneontology.org/ 术语/注释可视化查询
OBO Foundry 档案 标准组织页 https://obofoundry.github.io/ontology/go 格式、许可、PURL 权威登记

§9 相关资源与引用

§9.1 官方资源清单

§9.2 BibTeX 引用块

@article{ashburner2000gene,
  author  = {Ashburner, Michael and Ball, Catherine A. and Blake, Judith A. and Botstein, David and Butler, Heather and Cherry, J. Michael and Davis, Allan P. and Dolinski, Kara and Dwight, Selina S. and Eppig, Janan T. and Harris, Midori A. and Hill, David P. and Issel-Tarver, Laurie and Kasarskis, Andrew and Lewis, Suzanna and Matese, John C. and Richardson, Joel E. and Ringwald, Martin and Rubin, Gerald M. and Sherlock, Gavin},
  title   = {Gene ontology: tool for the unification of biology. {The Gene Ontology Consortium}},
  journal = {Nature Genetics},
  volume  = {25},
  number  = {1},
  pages   = {25--29},
  year    = {2000},
  doi     = {10.1038/75556}
}

@article{goc2026knowledgebase,
  author  = {{The Gene Ontology Consortium} and Aleksander, Suzi A. and Balhoff, James P. and Carbon, Seth and Cherry, J. Michael and Ebert, Dustin and Feuermann, Marc and Gaudet, Pascale and Harris, Nomi L. and Hill, David P. and Mi, Huaiyu and Mungall, Christopher J. and Thomas, Paul D. and Westerfield, Monte and others},
  title   = {The {Gene Ontology} knowledgebase in 2026},
  journal = {Nucleic Acids Research},
  volume  = {54},
  number  = {D1},
  pages   = {D1779--D1792},
  year    = {2026},
  doi     = {10.1093/nar/gkaf1292}
}

@article{goc2026erratum,
  author  = {{The Gene Ontology Consortium}},
  title   = {Erratum: The {Gene Ontology} knowledgebase in 2026},
  journal = {Nucleic Acids Research},
  volume  = {54},
  number  = {12},
  pages   = {gkag678},
  year    = {2026},
  doi     = {10.1093/nar/gkag678}
}

@article{goc2023genetics,
  author  = {{The Gene Ontology Consortium}},
  title   = {The {Gene Ontology} knowledgebase in 2023},
  journal = {Genetics},
  volume  = {224},
  number  = {1},
  pages   = {iyad031},
  year    = {2023},
  doi     = {10.1093/genetics/iyad031}
}

@article{thomas2019gocam,
  author  = {Thomas, Paul D. and Hill, David P. and Mi, Huaiyu and Osumi-Sutherland, David and Van Auken, Kimberly and Carbon, Seth and Balhoff, James P. and Albou, Laurent-Philippe and Good, Benjamin and Gaudet, Pascale and Lewis, Suzanna E. and Mungall, Christopher J.},
  title   = {Gene Ontology Causal Activity Modeling ({GO-CAM}) moves beyond {GO} annotations to structured descriptions of biological functions and systems},
  journal = {Nature Genetics},
  volume  = {51},
  number  = {10},
  pages   = {1429--1433},
  year    = {2019},
  doi     = {10.1038/s41588-019-0500-1}
}

@article{thomas2022panther,
  author  = {Thomas, Paul D. and Ebert, Dustin and Muruganujan, Anushya and Mushayahama, Tremayne and Albou, Laurent-Philippe and Mi, Huaiyu},
  title   = {{PANTHER}: Making genome-scale phylogenetics accessible to all},
  journal = {Protein Science},
  volume  = {31},
  number  = {1},
  pages   = {8--22},
  year    = {2022},
  doi     = {10.1002/pro.4218}
}

@article{carbon2009amigo,
  author  = {Carbon, Seth and Ireland, Amber and Mungall, Christopher J. and Shu, Shengqiang and Marshall, Brad and Lewis, Suzanna and {AmiGO Hub} and {Web Presence Working Group}},
  title   = {{AmiGO}: online access to ontology and annotation data},
  journal = {Bioinformatics},
  volume  = {25},
  number  = {2},
  pages   = {288--289},
  year    = {2009},
  doi     = {10.1093/bioinformatics/btn615}
}

§9.3 引用指南

使用 GO 数据的最低引用要求 = Ashburner 2000 + 最新官方更新论文(2026)两篇;使用官方工具另加对应工具论文(PANTHER/AmiGO/GO-CAM);数据发布场景必须展示 release 日期与 Zenodo DOI。详细条款见 官方引用政策。

按使用方式的引用清单:

你的使用方式 必引 建议加引
只读本体文件(go-basic) Ashburner 2000 + GO 2026 引用政策页
用 GAF/GPAD 注释 上述两篇 + 注释来源库(如 UniProt-GOA、MGI 的库引用) 证据代码指南
用 PANTHER 富集 上述两篇 + PANTHER 2022 —
用 GO-CAM/PAN-GO 资源 上述两篇 + 对应资源论文 —
商业产品集成 上述全部 + CC BY 4.0 署名与许可链接 法务复核许可兼容性

两个常见引用错误:其一,只引 2000 年奠基论文不引最新更新论文——官方政策明确要求跟随最新版;其二,引用时不写 release 日期,导致他人无法复现你的注释口径。论文里一句"As of GO release 2026-08-05"的成本极低,换来的是整个实验的可复现性。


§10 AI 使用声明卡

§10.1 AI 模型列表

  • 大语言模型(文本起草与结构组织):本次词条编辑使用。
  • 检索增强(WebSearch 事实核验):6 次检索,覆盖官方统计、论文、许可、格式、坑点与最新更新论文。

§10.2 AI 参与范围

AI 参与了以下环节:检索结果汇总、初稿撰写、代码示例起草、表格整理与 DAIMS 自评草案。事实性数字全部来源于 FACTS.md 登记的检索结果;AI 未进行任何独立实验或原始数据验证。

边界声明:AI 无法访问 GO 文件本体做实测(如验证 go-basic.obo 的确切行数、解析耗时),文中涉及文件大小的表述均为量级定性而非实测值;代码示例经静态逻辑走查而非运行验证。上述两类信息若用于生产,请以实际下载与运行为准。

§10.3 输入来源列表

  1. Ashburner M, et al. Gene ontology: tool for the unification of biology. Nat Genet. 2000;25(1):25-29. DOI 10.1038/75556.
  2. Aleksander SA, Balhoff JP, Carbon S, et al. The Gene Ontology knowledgebase in 2026. Nucleic Acids Res. 2026;54(D1):D1779-D1792. DOI 10.1093/nar/gkaf1292.
  3. The Gene Ontology Consortium. The Gene Ontology knowledgebase in 2023. Genetics. 2023;224(1):iyad031. DOI 10.1093/genetics/iyad031.
  4. Thomas PD, et al. Gene Ontology Causal Activity Modeling (GO-CAM). Nat Genet. 2019;51(10):1429-1433. DOI 10.1038/s41588-019-0500-1.
  5. Thomas PD, Ebert D, Muruganujan A, et al. PANTHER: Making genome-scale phylogenetics accessible to all. Protein Sci. 2022;31(1):8-22. DOI 10.1002/pro.4218.
  6. Carbon S, Ireland A, Mungall CJ, et al. AmiGO: online access to ontology and annotation data. Bioinformatics. 2009;25(2):288-289. DOI 10.1093/bioinformatics/btn615.
  7. GO Consortium. GO Citation Policy and License. https://geneontology.org/docs/go-citation-policy/
  8. GO Consortium. GO Statistics(release 2026-08-05). https://www.geneontology.org/stats.html
  9. GO Consortium. Guide to GO Evidence Codes. https://geneontology.org/docs/guide-go-evidence-codes
  10. GO Consortium. Download the Ontology. https://geneontology.github.io/docs/download-ontology
  11. GO Consortium. GO Wiki: Release Pipeline. https://wiki.geneontology.org/index.php?title=Release_Pipeline
  12. GO Consortium. GO Wiki: Authorship Guidelines(资助信息). https://wiki.geneontology.org/index.php?title=Authorship_guidelines
  13. OBO Foundry. Gene Ontology 档案页. https://obofoundry.github.io/ontology/go
  14. PubMed. Gene ontology: tool for the unification of biology(PMID 10802651). https://pubmed.ncbi.nlm.nih.gov/10802651/
  15. PubMed. The Gene Ontology knowledgebase in 2026(PMID 41413728). https://pubmed.ncbi.nlm.nih.gov/41413728/
  16. Molecular Ecology. Annotated genes and nonannotated genomes: cross-species use of Gene Ontology in ecology and evolution research. DOI 10.1111/mec.12309.
  17. PLoS Comput Biol. Chapter 9: Analyses Using Disease Ontologies. DOI 10.1371/journal.pcbi.1002827.
  18. OSTI. Interpreting omics data with pathway enrichment analysis. https://www.osti.gov/pages/servlets/purl/2420751
  19. GO 官方发布账号(release 公告与 2026-06 变更通知). https://dju.social/@go@genomic.social
  20. OMOPHub. A Developer’s Guide to Gene Ontology in Clinical Data. https://omophub.com/blog/gene-ontology

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
规模数字(术语数/注释数/物种数) 千方病案医学编辑部 对照官方 stats 页与 release 公告逐项核对 ✅ 已通过
论文信息(作者/年份/DOI/卷期页码) 千方病案医学编辑部 对照 PubMed 与官方引用政策核对 ✅ 已通过
证据代码体系与占比 千方病案医学编辑部 对照官方指南与统计页核对 ✅ 已通过
许可与引用合规表述 千方病案医学编辑部 对照官方引用政策核对 ✅ 已通过
代码示例可运行性 数据工程审核者 依赖库与 API 静态复核 + 逻辑走查 ✅ 已通过
坑点与统计陷阱表述 数据工程审核者 对照检索来源逐条核对 ✅ 已通过
勘误信息(NAR 2026 勘误 gkag678) 千方病案医学编辑部 对照 PubMed 勘误记录核对 ✅ 已通过

§10.5 AI 生成章节标注

本页面正文由 AI 辅助起草,经人工审核修订后发布;§10.4 表列各模块的审核对应关系即为本节标注。

§10.6 最后人工审核日期

2026-09-05(与 §0.3 审核日期一致)。

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • pharos — 共享标签:基因组学与多组学 / 医疗NLP / 知识图谱
  • string — 共享标签:基因组学与多组学 / 知识图谱 / 蛋白质组学
  • omim — 共享标签:基因组学与多组学 / 医疗NLP / 知识图谱
  • reactome — 共享标签:基因组学与多组学 / 医疗NLP / 知识图谱
  • hgnc — 共享标签:基因组学与多组学 / 医疗NLP
  • mondo — 共享标签:基因组学与多组学 / 医疗NLP / 知识图谱
  • pharmgkb — 共享标签:基因组学与多组学 / 医疗NLP / 知识图谱
  • hpo — 共享标签:基因组学与多组学 / 医疗NLP / 知识图谱
  • uniprot — 共享标签:基因组学与多组学 / 蛋白质组学
  • alphafold — 共享标签:基因组学与多组学 / 蛋白质组学

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集