信息速览

GENCODE — 人类与小鼠参考基因注释 AI-Ready Wikipedia
INFOBOX
| 字段 | 内容 |
|---|---|
| 数据集名称 | GENCODE |
| 英文全称 | GENCODE: reference gene annotation for the human and mouse genomes |
| 别名/简称 | GENCODE 基因集;Havana/Ensembl 合并注释;V 系列(人类)/M 系列(小鼠)版本注释 |
| 疾病分类(ICD-11) | 第 20 章 发育异常(LD40–LD5F);第 2 章肿瘤(2A00–2F3Z)——为注释支撑的典型应用场景,本数据集本身非疾病专集 |
| SNOMED CT | 66091009(Genetic disease,遗传病);404684003(Clinical finding,临床发现)——变异注释关联概念 |
| 数据模态 | 基因组注释(基因/转录本/外显子结构坐标 + 生物型与质量标签) |
| AI 任务类型 | 变异功能注释、转录本重建、表达定量参考、序列模型标签源、基因发现与生物型分类 |
| 样本总数 | 人类 78,733 基因 / 644,292 转录本(v50);小鼠 78,289 基因 / 481,871 转录本(M39) |
| 数据大小 | 单个人类主注释 GTF 约 56 MB(gzip 压缩);人鼠全套装载数 GB |
| 数据格式 | GTF 2.2 / GFF3 / FASTA / TSV 元数据 |
| 许可证 | 开放使用,无附加限制(available for use without restrictions,EMBL-EBI Terms of Use 体系) |
| 访问级别 | 开放(无需注册、无需申请) |
| DUO 标签 | NRES(无限制使用) |
| 语言 | 英文 |
| 首发日期 | 2003 年(随 ENCODE 试点项目启动) |
| 最后更新 | 截至 2026-09:人类 v50 / 小鼠 M39(v50 注释冻结于 2025-05,随 Ensembl 116 同步发布) |
| 发布机构 | EMBL-EBI(Havana 人工注释团队 + Ensembl 团队),NIH/NHGRI 基金 U41HG007234 资助 |
| 官方主页 | https://www.gencodegenes.org |
| 下载地址 | https://ftp.ebi.ac.uk/pub/databases/gencode/ |
| DOI | 10.1093/nar/gkac1071(Frankish et al. 2023) |
| 引用次数 | 5,799+(Google Scholar,截至 2026-09,Harrow et al. 2012 主论文) |
| AI 就绪度评分 | ⭐⭐⭐⭐(4/5)— 官方文件结构清晰、biotype/标签字典完备、开放无限制;扣分项:无官方一键预处理脚本,GTF 解析与版本固定需自行实现,跨 release ID 会漂移 |
| 页面状态 | published |
§0 E-E-A-T 权威性与审核声明
- 医学审核者:[千方病案医学编辑部] 交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、基因组医学场景)、§7 偏倚分析。
- 数据工程审核者:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
- 审核日期:2026-09-05
- 主要事实来源:gencodegenes.org 官方统计与 FAQ 页(2026-09-16 抓取)、人类/小鼠 release history 页、GENCODE 系列 NAR 论文(Harrow 2012、Frankish 2021/2023/2025)。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。GENCODE 数据按官方口径可无附加限制地使用,无需注册或签署协议,但引用时须注明对应 release 编号与论文。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? GENCODE 是一份"人类和小鼠基因组的官方字典":它把 30 亿个碱基对的长序列,逐段标注出每个基因从哪里开始、到哪里结束、内部外显子如何拼接成不同的转录本,以及每个基因属于哪一类(蛋白编码、长非编码 RNA、假基因、小 RNA 等)。截至 2026-09,人类版本 v50 标注了 78,733 个基因和 644,292 条转录本(官方统计)。
为什么重要? 几乎所有基因组学分析都要先回答"这段序列对应哪个基因"——RNA-seq 表达定量、变异致病性解读、单细胞注释、序列深度学习模型的标签,全部建立在一份统一的基因注释之上。GENCODE 由 EMBL-EBI 的 Havana 人工注释团队与 Ensembl 自动注释管线合并产生,是 ENCODE、GTEx、TCGA、gnomAD、人类细胞图谱等大型项目共同采用的参考注释,也是 Ensembl 与 UCSC 两大基因组的默认基因轨道。
我能用它做什么? 把它当作基因表达定量的坐标参考(featureCounts/STAR 的 GTF 输入);给变异打上"落在哪个基因、哪个外显子"的功能标签;为序列模型(如启动子/剪接位点预测)生成高质量标签;或直接研究转录组本身的组成——例如有多少基因能产生多种蛋白异构体。它不包含表达量、变异或患者数据,而是让这些数据"对得上号"的基础设施。
§1.1 技术摘要
GENCODE 的核心生产机制是"人工优先、自动补全"的双管线合并:Havana 团队的专家注释员逐座位人工核对转录本结构(GTF 中标记为 HAVANA 来源),Ensembl genebuild 自动管线基于 mRNA/EST 比对与蛋白同源性生成候选模型(ENSEMBL 来源),两者合并时人工注释优先,无法人工覆盖处由自动注释补齐。每条转录本附带 biotype(生物型)、level(1=实验验证/2=人工/3=自动)、transcript_support_level(转录本支持度)与一系列实验验证 tag(如 APPRIS、mRNA_start_NF),全部注释必须有实验数据支撑(Frankish et al., 2023, NAR 51(D1):D942-D949)。人类注释基于 GRCh38.p14 参考组装、小鼠基于 GRCm39,每年最多发布 4 个版本并与 Ensembl 同步,文件以 GTF 与 GFF3 双格式、按 comprehensive/basic 两档与 CHR/PRI/ALL 三种区域范围组合发布。
§1.2 战略价值
维度一:AI 生态的"标签层"基础设施。 医疗 AI 中大量基因组序列模型(启动子识别、剪接位点预测、变异效应预测、表达调控建模)的监督信号最终都追溯到一份基因注释。GENCODE 的一致性直接决定了跨实验室模型的可比性:当两篇论文都说"基于 GRCh38 注释训练"时,只有同时锁定 GENCODE release 编号,结果才真正可复现。它还是 MANE 计划(NCBI 与 EMBL-EBI 联合)的一方,使每个人类蛋白编码基因都有一条与 RefSeq 完全一致的"代表转录本",为临床基因组学提供单一定义锚点。
维度二:临床基因组学的事实标准。 肿瘤体细胞变异解读(如基因/外显子命名)、遗传病候选基因筛选、药物基因组学研究,都需要变异坐标到基因结构的稳定映射。GENCODE 被 GTEx、TCGA、ICGC、gnomAD、1000 Genomes 等项目采用为参考基因集(GENCODE 官方定位),这意味着以 GENCODE ID 为join 键,可以直接把表达、变异、甲基化等公共数据拼装成多模态训练集——这是它对 AI 团队最直接的价值。
§1.3 同类资源横向对比
| 资源 | 维护机构 | 注释方法 | 规模要点 | 与 GENCODE 的差异化 |
|---|---|---|---|---|
| GENCODE | EMBL-EBI | Havana 人工 + Ensembl 自动合并 | 人 v50:78,733 基因 / 644,292 转录本 | 转录本异构体最全,附 biotype/level/tag 质量分层 |
| RefSeq | NCBI(美国) | 人工审编 + 计算,代表转录本策略 | 人类注释基因约 6 万余 | 每基因倾向少量代表转录本,与 GENCODE 经 MANE 收敛 |
| Ensembl 标准注释 | EMBL-EBI | 自动注释管线为主 | 与 GENCODE 注释内容一致 | GENCODE GTF 额外含 APPRIS 等标签与 PAR 双拷贝(≤r43) |
| UniProtKB | UniProt 联盟 | 蛋白层面人工审编 | 人类审编蛋白约 2 万条 | 蛋白功能/序列层面,与 GENCODE 编码转录本互为映射 |
| Vega(存档) | EMBL-EBI | 纯人工注释 | 已归档 | Havana 原始工作库,ID 以 OTTHUM/OTTMUS 前缀保留于 GENCODE |
| FANTOM CAT | RIKEN FANTOM5 联盟 | CAGE 驱动的转录本目录 | lncRNA 与异构体补充目录 | 独立证据体系(CAGE 起始位点),与 GENCODE 互补 |
| CHESS | 独立学术团队 | 转录组组装目录(GTEx 等样本) | 组装级转录本集合 | 数据驱动组装视角,常与参考注释做差异对照 |
注:上表外部资源均为纯文字提及,规模数字以各自官方口径为准;GENCODE 数字来自官方统计页(截至 2026-09)。
§1.4 版本时间轴
| 时间 | 版本/事件 | 说明 |
|---|---|---|
| 2003 | 项目启动 | 随 ENCODE 试点计划成立,先注释约 1% 基因组区域 |
| 2006 | 试点注释发表 | Harrow et al., 2006, Genome Biology 7(Suppl 1):S4, DOI: 10.1186/gb-2006-7-s1-s4 |
| 2012 | v7 + ENCODE 主论文 | 20,687 蛋白编码 + 9,640 lncRNA 位点;Harrow et al., 2012, Genome Research, DOI: 10.1101/gr.135350.111 |
| 2011-12 | 首个小鼠注释 M1 | 基于 NCBIM37 组装,随 Ensembl 65 发布 |
| 2020-12 | M26 起迁移 GRCm39 | 小鼠注释从 GRCm38 全面切换至新参考组装(M25 为 GRCm38 最后版本线) |
| 2022 | v44:PAR 独立标识 | chrY 假常染色体区基因获得独立 ID(此前为 _PAR_Y 后缀) |
| 2023 | GENCODE 2023 论文 | MANE Select 基本完成、RefSeq/UniProt 收敛、T2T/泛基因组注释启动(DOI: 10.1093/nar/gkac1071) |
| 2024-10 | v47 / M36 | GENCODE 2025 论文写作时点的"当前版本";UCSC 同步上线 V47/VM36 |
| 2025-05 | v50 / M39 冻结 | 当前版本,随 Ensembl 116 发布;截至 2026-09 仍为最新 |
版本号读法:人类用 vXX、小鼠用 vMXX(M 为 mouse 前缀);release 编号与 Ensembl 版本的对应关系记录于各版 release 页与 release history。2023-02 起(v44/M35)官方以"冻结年月"对齐 Ensembl 时间表,本词条所有版本号均指冻结时间点。
§1.5 典型应用场景
- RNA-seq/单细胞表达定量参考:为 STAR、HISAT2、featureCounts、Cell Ranger 等工具提供基因/转录本坐标,是最常见用法。
- 变异功能注释底座:给 WGS/WES 变异标注所在基因、外显子、剪接影响,支撑遗传病与肿瘤变异解读。
- 序列深度学习标签源:用 biotype、外显子边界、剪接位点为 CNN/Transformer 基因组模型生成监督信号。
- 转录组学本体研究:分析可变剪接规模(16,058 个人类基因有多于一种翻译产物,v50)、假基因与 lncRNA 目录演化。
- 跨项目数据对齐:把 GTEx 表达、TCGA 变异、ENCODE 调控数据按统一的基因 ID 空间拼装为多模态训练集。
- 定量与组装工具的评测基准:kallisto/Salmon/STAR 等定量器与 StringTie/Scallop 等组装器的输出都以注释为参照集,GENCODE 版本号是这些评测论文方法学的必要字段。
- 注释质量与基因组组织研究:对注释体系本身做元研究——Level 1/2/3 构成比随版本的演变、NMD 转录本规模膨胀、readthrough 基因的标注策略等,都是可发表的观察对象。
- 教学与训练:GTF 是讲授"参考基因组—基因—转录本—外显子"层级结构的最理想教具:单文件、纯文本、十亿级信息浓缩到 56 MB,学生一行 Python 就能复现官方统计。
§2 医学背景与术语映射
§2.1 ICD-11 映射表
GENCODE 本身是基因组参考注释而非疾病数据集;下表给出其注释内容最常支撑的医学场景与 ICD-11 章节的映射关系(示例性映射,供检索与报告对齐用)。
| 注释内容/标签 | 应用场景 | ICD-11 编码 | ICD-11 中文名 |
|---|---|---|---|
| 蛋白编码基因(gene_type=protein_coding) | 遗传病致病基因筛查、靶点注释 | 20(LD40–LD5F) | 发育异常 |
| 蛋白编码基因 + MANE Select | 肿瘤体细胞变异报告的基因定界 | 2(2A00–2F3Z) | 恶性肿瘤 |
| 假基因(pseudogene 系 biotype) | 变异误比对来源排查(假基因干扰) | 2(2A00–2F3Z) | 恶性肿瘤(融合/重排场景) |
| Ig/TCR 基因片段(IG_/TR_ biotype) | 淋巴瘤克隆性分析、免疫组库研究 | 2(2A80–2A85 等淋巴系肿瘤编码) | 淋巴、造血或相关组织的恶性肿瘤 |
| lncRNA(lncRNA biotype) | 复杂疾病调控机制研究、生物标志物探索 | 无直接对应章节 | 按具体疾病落码 |
§2.1b SNOMED CT 映射表
| 标签/场景 | ICD-11 关联 | SNOMED CT 码 | 术语 |
|---|---|---|---|
| 遗传病基因变异解读 | 20(LD40–LD5F) | 66091009 | Genetic disease (disorder) |
| 变异落于基因区的临床发现标注 | 多章节 | 404684003 | Clinical finding (finding) |
| 肿瘤基因分型报告 | 2(2A00–2F3Z) | 64572001 | Disease (disorder) |
| 先天/发育异常表型关联 | 20(LD40–LD5F) | 66091009 下属子概念树 | 按具体异常落码 |
注:SNOMED CT 编码为关联概念示例;临床落码须由具备资质的编码员按实际病历语境执行。
§2.2 背景简介与"流行病学"
基因注释是基因组医学的坐标系。人类参考基因组 GRCh38 自 2013 年发布以来,经多次 patch 更新至 GRCh38.p14;GENCODE 在其上持续维护基因结构定义。所谓"流行病学"在这里应理解为注释对象的分布:v50 中蛋白编码基因 19,442 个(另含 665 个 readthrough 基因未计入)、lncRNA 基因 35,885 个、假基因 14,702 个、小非编码 RNA 基因 7,608 个(官方统计)。蛋白编码基因数量十余年来基本稳定(约 2 万),而转录本与异构体数量持续增长——这正是替代剪接研究升温的镜像。纵向对比两个锚点:v7(2012 年 ENCODE 联合发表时点)含蛋白编码基因 20,687 个、lncRNA 位点 9,640 个;v50(2025-05 冻结)对应 19,442 与 35,885——lncRNA 目录约 3.7 倍扩张,蛋白编码反而微降(去冗余与假基因重分类所致,Harrow et al., 2012;官方统计)。
§2.3 支撑的临床任务定义
- 筛查/诊断辅助(间接):遗传病外显子组分析中,变异必须先注释到基因与转录本结构才能进入致病性评估流程;肿瘤panel报告中的基因/外显子命名依赖统一注释。
- 分级/预后研究:表达异构体(isoform)层面的肿瘤分型研究(如融合基因、异构体切换)以注释为参照系。
- 药物研发:靶点基因结构(外显子、蛋白异构体)决定先导物设计;GENCODE 与 UniProt/RefSeq 的收敛(MANE)降低了跨库歧义。
- 基因治疗与寡核苷酸药物设计:反义寡核苷酸(ASO)与基因编辑疗法的靶序列必须逐外显子核对转录本异构体——打错异构体是此类研发的典型失败原因;注释的完整异构体目录直接服务靶外显子筛选。
- 检验医学方法开发:qPCR/ddPCR 引物探针设计需跨外显子边界以避免基因组 DNA 扩增,引物位置由注释外显子坐标推导;实验室自建方法的可复现性依赖注释版本固定。
§2.4 用户人群构成
| 用户类型 | 来源 | 规模(定性) | 典型用途 | 使用方式 |
|---|---|---|---|---|
| 生信分析团队 | 学术界/医院研究中心 | 最大用户群 | 表达定量、变异注释 | FTP 下载 GTF |
| 大型基因组项目 | ENCODE、GTEx、TCGA、gnomAD、1000 Genomes、HCA | 官方采用 | 作为参考基因集嵌入流程 | 随项目发布固化版本 |
| 序列模型研究者 | AI 实验室 | 快速增长 | 标签生成、模型基准 | 解析 GTF 构建监督集 |
| 临床分子实验室 | 医院检验/分子病理 | 增长中 | 基因定界、报告命名 | 经 UCSC/Ensembl 浏览器或文件 |
| 教学与科普 | 高校课程、培训 | 稳定 | 层级结构教学、统计复现练习 | 官方 stats 页 + 小文件 GTF |
§2.5 临床价值
统一注释的最大临床价值是"消歧":同一段变异,在不同基因定义下可能被判为不同基因的不同功能区,直接影响致病性结论。GENCODE 通过(1)人工核验的结构、(2)MANE Select 与 RefSeq 的一致性、(3)版本化发布与变更追踪,把这种歧义压到最低。对 AI 而言,这意味着以 GENCODE 为坐标系训练的模型,其输出(基因名、转录本 ID)可以被临床信息系统直接消费。
§2.6 金标准属性表
| 属性 | 内容 |
|---|---|
| 划分方式 | 无训练/测试划分(参考注释资源,全量开放) |
| 标注方式 | 人工注释(Havana,优先)+ 自动注释(Ensembl)合并 + 靶向实验验证(RT-PCR、长读长) |
| 标注者资质 | 专业基因注释员团队(EMBL-EBI Havana),配套国际协作(UCSC、Yale、CRG、MIT/Broad 等,见 Frankish 2023 作者列表) |
| 一致性机制 | Level 1/2/3 质量分层 + transcript_support_level + 与 RefSeq/UniProt 交叉收敛(MANE、蛋白编码基因联合审阅) |
| 性质 | 领域金标准参考注释(reference annotation),本身不构成"基准测试集" |
§2.7 核心术语表
| 术语 | 释义 | 在数据中的体现 |
|---|---|---|
| biotype | 生物型:基因/转录本的功能类别标签(约 30–40 种) | gene_type / transcript_type 属性 |
| CDS | 编码序列:翻译为蛋白的外显子部分 | feature=CDS 行,含 frame 相位 |
| UTR | 非翻译区:外显子中 CDS 之外的部分 | feature=UTR(五prime/三prime 子类) |
| PAR | 假常染色体区:X/Y 同源重组区,基因双拷贝注释 | v44+ 独立 ID;此前 _PAR_Y 后缀/ENSGR 前缀 |
| NMD | 无义介导降解:含提前终止密码子的转录本 | transcript_type=NMD,规模约 9 万条 |
| tsl | 转录本支持度:mRNA/EST 证据强度 1–5 档 | transcript_support_level 属性 |
| MANE Select | NCBI+EBI 联合选定的跨库一致代表转录本 | tag=MANE_Select(蛋白编码基因) |
| CCDS | 一致编码序列:NCBI 等联合维护的高置信 CDS 集 | ccdsid 属性 |
| readthrough | 读通:相邻基因间连读形成的融合转录本 | 独立 gene 记录,stats 页单列 |
| patch / ALT | 组装的补丁序列与备选单倍型区 | 仅 PRI/ALL 档出现,区名带 _random/_alt 等 |
| basic | 每基因代表转录本子集(官方推荐日常使用) | tag=basic;独立 basic 文件 |
§3 数据集规格
§3.0 版本抉择矩阵
| 你的需求 | 推荐版本 | 大小(压缩) | 理由 |
|---|---|---|---|
| 新项目通用:比对 + 定量 | 人类 v50 basic CHR(gencode.v50.basic.annotation.gtf.gz) | 约 30 MB | 每基因只留代表转录本,减少多比对歧义,最适合 STAR/featureCounts |
| 异构体/蛋白亚型研究 | 人类 v50 comprehensive CHR | 约 56 MB | 保留全部 644,292 条转录本,包含 NMD 与保留内含子模型 |
| 与 patch/haplotype 区域比对 | v50 ALL(chr_patch_hapl_scaff) | 约 60 MB+ | 覆盖 alternate loci,避免比对到 ALT 区域时丢注释 |
| 历史数据重分析(GRCh37 坐标系) | GRCh37 存档线(如 v43lift37) | 见存档页 | 与旧公共数据坐标系一致;不建议跨组装 liftOver 后混用 |
| 小鼠新项目 | M39 basic CHR(GRCm39) | 约 30 MB | 当前参考组装;mm10 旧数据请用 M25 及更早(GRCm38) |
| 序列模型标签 | v50 comprehensive + genome FASTA | 数 GB | 需要外显子/剪接位点全量边界与基因组序列 |
§3.1 模态详情:基因组注释
GENCODE 的"模态"是文本型结构化注释,核心内容四层:(1)基因座(gene):坐标、链方向、biotype、gene_name(HGNC/MGI 官方符号)、gene_id;(2)转录本(transcript):外显子聚合结构、transcript_id(带版本号)、支持度与标签;(3)外显子(exon)/CDS/UTR:碱基级坐标;(4)翻译产物(translation,仅编码转录本)。这些内容以 GTF 2.2 与 GFF3 双格式发布,9 列制表符分隔结构使任何语言都能流式解析。注释以"必须有实验证据支撑"为原则:人工注释依赖 mRNA/EST 比对、蛋白同源性与文献,配套 RT-PCR 验证批次与长读长 RNA-seq 评估(Harrow et al., 2012;Frankish et al., 2023)。
§3.2 按类型样本统计(人类 v50 与小鼠 M39)
| 类型 | 人类 v50 基因数 | 人类 v50 转录本数 | 小鼠 M39 基因数 | 小鼠 M39 转录本数 |
|---|---|---|---|---|
| 蛋白编码(protein_coding) | 19,442(另 readthrough 665) | 278,455 | 21,540(另 readthrough 230) | 180,331 |
| 长非编码 RNA(lncRNA) | 35,885 | 191,063 | 36,103 | 155,878 |
| 假基因(pseudogene 合计) | 14,702 | — | 13,818 | — |
| ├ processed | 10,634 | — | 10,249 | — |
| ├ unprocessed | 3,535 | — | 3,153 | — |
| └ unitary | 296 | — | 206 | — |
| 小非编码 RNA 合计 | 7,608 | 约 8,000(miRNA/snoRNA/snRNA 等单项见 4.2) | 6,105 | 约 8,000 |
| Ig/TCR 片段 | 412 编码 + 237 假基因 | — | 493 编码 + 208 假基因 | — |
| 无义介导降解(NMD)转录本 | — | 91,818 | — | 89,109 |
| 总计 | 78,733 基因 | 644,292 转录本 | 78,289 基因 | 481,871 转录本 |
数据来源:人类 stats 页与小鼠 stats 页(2026-09-16 抓取);假基因不单独产出转录本行,其转录结构并入基因记录。计数口径:基因按 gene_type、转录本按 transcript_type 分别统计(两层差异见坑点 9),算法由 README_stats.txt 定义——自行统计与官方数字对不上时,先核对口径再怀疑数据。
§3.3 格式规格表
| 文件类别 | 格式 | 内容 | 区域范围 | 典型大小(压缩) |
|---|---|---|---|---|
| 主注释(comprehensive) | GTF 2.2 / GFF3 | 全部基因/转录本/外显子/CDS/UTR/起始密码子/终止密码子 | CHR / PRI / ALL | 约 56 MB(GTF CHR) |
| 主注释(basic) | GTF 2.2 / GFF3 | 每基因代表转录本子集 | CHR / PRI / ALL | 约 30 MB |
| lncRNA 子集 | GTF / GFF3 | 仅 lncRNA 基因 | ALL | 小于 10 MB |
| polyA 特征 | GTF / GFF3 | Havana 人工 polyA_signal/polyA_site | ALL | 小于 5 MB |
| 共识假基因 | GTF / GFF3 | Yale+UCSC 管线与 Havana 三方共识 | CHR | 小于 5 MB |
| tRNA 预测 | GTF / GFF3 | Ensembl tRNAscan-SE | ALL | 小于 1 MB |
| 转录本/CDS 序列 | FASTA | 全部/编码/lncRNA 转录本核酸序列、编码翻译蛋白序列 | ALL | 数十 MB |
| 基因组序列 | FASTA | 对应组装全序列(与 GTF 区名一致) | ALL / PRI | 约 900 MB(人) |
| 元数据 | TSV(gz) | RefSeq/SwissProt/Entrez/PubMed/PDB 映射、注释 remarks、外显子证据等十余种 | ALL | 数 MB |
| 发布说明 | TXT/HTML | README、README_stats、变更统计 | — | 小于 1 MB |
§3.4 存储与规模实测
以 v47 CHR comprehensive GTF 为参照,压缩后 56.22 MB、解压约 1.5 GB(第三方镜像实测);v50 同结构文件官方直链见下载页。人鼠双物种全套装载(GTF+GFF3+FASTA+元数据)建议预留 10 GB 磁盘与 8–16 GB 内存(完整 GTF 解析驻留内存时)。
规模感受参考:一条 gene 行约 300–500 字节,v50 的 78,733 个基因展开为约 470 万行 GTF(基因+转录本+外显子+CDS+UTR 全特征)。gzip 压缩比约 25:1,说明内容高度重复——按 seqname 分片解析或转 Parquet 列存可再压缩一个数量级。mouse M39 GTF 行数与人类同量级,双物种全量解析在 16 GB 内存的单机上用流式方案完全可行(§6.1)。
§3.5 标注方式
三层机制:(1)人工注释——Havana 团队逐基因座核验证据,决定转录本结构与 biotype,GTF 第二列标记 HAVANA;(2)自动注释——Ensembl genebuild 管线基于比对与同源性生成模型,标记 ENSEMBL,用于补齐人工未覆盖处;(3)实验验证——项目内 RT-PCR 测序验证批次(Harrow 2012 报告 6 批次,GEO GSE30619 等)与外部证据(CAGE、质谱肽)。最终注释是"人工优先的合并模型",这也是 GENCODE 区别于纯自动注释的根本。与 Ensembl 标准注释的关系:模型内容相同(同步发布),但 GENCODE GTF 额外携带 APPRIS、tsl、PAR 双拷贝等 Ensembl GTF 不含的标签列——需要这些标签时必须取 GENCODE 版文件。
§3.6 标注者资质与一致性
人工注释由 EMBL-EBI 专业注释员执行(Havana 团队,原属 Wellcome Sanger Institute,后整体迁入 EBI)。质量分层通过 GTF level 字段显式化:Level 1(validated,三方预测+人工共同确认或实验验证)、Level 2(manual,Havana 人工或与其一致的模型)、Level 3(automated,纯自动模型)。与 RefSeq 的 MANE 协作和与 UniProt 的蛋白收敛进一步提供了跨机构一致性锚点(Frankish et al., 2023)。
§3.7 采集与发布周期
每年最多 4 次 release,与 Ensembl 同步(如 Ensembl 116 ↔ GENCODE v50/M39);冻结与发布间隔约 1–5 个月(v50 冻结 2025-05)。发布后 24 小时内,全部注释变更经"GENCODE Annotation Updates"Track Hub 在 Ensembl 与 UCSC 公开(Frankish et al., 2025, GENCODE 2025 论文)。
§3.8 覆盖范围
物种覆盖人类(GRCh38.p14)与小鼠(GRCm39)两个参考组装;区域覆盖参考染色体(人 1–22/X/Y+MT,鼠 1–19/X/Y+MT)及可选的 scaffold、patch、alternate loci(ALL 文件)。无地理/人群维度——它是物种级参考,不是队列数据。
三种区域范围的官方语义(FAQ 定义):
| 范围档 | 包含区域 | 典型用途 | 注意点 |
|---|---|---|---|
| CHR | 仅参考染色体 | 默认分析、序列模型 | 与参考 FASTA(CHR 版)区名一一对应 |
| PRI(primary assembly) | CHR + 未放置 scaffold(如 chr1_KI270706v1_random) | 表达定量 | ALT 单倍型区排除,避免跨拷贝重复计数 |
| ALL | PRI + patch、haplotype/ALT 区 | 研究 ALT 区基因完整拷贝 | 同一基因常有多份近重复拷贝(泄漏风险,见 §5.3) |
§3.9 技术规格
| 项目 | 规格 |
|---|---|
| 参考组装 | 人 GRCh38.p14;鼠 GRCm39 |
| 坐标系 | 1-based 闭区间(GTF/GFF3 标准) |
| ID 体系 | ENSG/ENST 前缀 + 数字 + 版本号(如 ENSG00000223972.6);Havana 内部 ID OTTHUM/OTTMUS |
| 质量分层 | level 1/2/3;transcript_support_level 1–5+NA |
| 标签体系 | APPRIS、mRNA_start_NF、cds_end_NF、PAR、3-way consensus 等(官方 tags 页全表) |
| 发布节律 | 每年 ≤4 次,随 Ensembl 同步 |
| 校验机制 | FTP 目录内 MD5SUMMARY;文件头注释行含版本与引用声明 |
| 特殊区处理 | PAR(v44+ 独立 ID)、readthrough(独立 ID)、Selenocysteine 特征行 |
| 获取通道 | FTP/HTTPS 直链 + Ensembl/UCSC 浏览器 + BioMart/REST API |
§3.10 深度溯源链
证据从原始数据到注释的链路:公共核酸/蛋白数据库(RefSeq mRNA、UniProt、EMBL/DDBJ)与项目自产实验数据(RT-PCR、长读长 RNA-seq)→ Ensembl genebuild 比对建模 + Havana 人工核验 → 合并规则(人工优先)→ GTF/GFF3 发布 → 每条外显子的证据文件(exon annotation evidence 元数据)可回溯。v50 统计按 README_stats.txt 定义的算法计算,统计口径公开可复核。
§4 数据结构
§4.0 目录树
解压前 FTP 目录结构预览(以人类 release_50 为例,小鼠 release_M39 同构):
Gencode_human/
└── release_50/
├── gencode.v50.annotation.gtf.gz # comprehensive,参考染色体(最常用)
├── gencode.v50.annotation.gff3.gz # 同内容 GFF3 格式
├── gencode.v50.basic.annotation.gtf.gz # basic 子集,参考染色体
├── gencode.v50.basic.annotation.gff3.gz
├── gencode.v50.primary_assembly.annotation.gtf.gz # comprehensive,主组装(含 scaffold)
├── gencode.v50.primary_assembly.basic.annotation.gtf.gz
├── gencode.v50.chr_patch_hapl_scaff.annotation.gtf.gz # comprehensive,全部区域(ALL)
├── gencode.v50.chr_patch_hapl_scaff.basic.annotation.gtf.gz
├── gencode.v50.long_noncoding_RNAs.gtf.gz # lncRNA 子集
├── gencode.v50.polyAs.gtf.gz # Havana polyA 特征
├── gencode.v50.pseudogenes.gtf.gz # 三方共识假基因
├── gencode.v50.tRNAs.gtf.gz # Ensembl tRNAscan-SE 预测
├── gencode.v50.transcripts.fa.gz # 全转录本核酸序列
├── gencode.v50.pc_transcripts.fa.gz # 编码转录本核酸序列
├── gencode.v50.pc_translations.fa.gz # 编码翻译蛋白序列
├── gencode.v50.lncRNA_transcripts.fa.gz
├── gencode.v50.genome.fa.gz # GRCh38.p14 全序列(区名与 GTF 一致)
├── gencode.v50.metadata.RefSeq.gz # 元数据:RefSeq 映射
├── gencode.v50.metadata.SwissProt.gz # 元数据:UniProtKB/SwissProt 映射
├── gencode.v50.metadata.Entrez_gene_ids.gz
├── gencode.v50.metadata.PubMed_ids.gz
├── gencode.v50.metadata.Gene_source.gz # 注释来源(Havana/Ensembl/合并)
├── gencode.v50.annotation_remarks.gz # 人工注释备注
├── gencode.v50.exon_annotation_evidence.gz # 外显子证据
└── README.txt / README_stats.txt
GTF 每行示例(含完整属性段):
chr1 HAVANA gene 11869 14409 . + . gene_id "ENSG00000223972.6"; gene_type "lncRNA"; gene_name "DDX11L1"; level 2; tag "overlapping_locus_prioritized";
chr1 HAVANA transcript 11869 14409 . + . gene_id "ENSG00000223972.6"; transcript_id "ENST00000456328.2"; transcript_type "lncRNA"; transcript_name "DDX11L1-202"; level 2; transcript_support_level "1"; tag "basic";
chr1 HAVANA exon 11869 12227 . + . gene_id "ENSG00000223972.6"; transcript_id "ENST00000456328.2"; exon_number "1"; exon_id "ENSE00002234944.1";
§4.1 DAIMS 字段字典(GTF 九列 + 核心属性)
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| seqname | text | 染色体/区名(与组装 FASTA 一致,无 chr 前缀) | chr1 → 1 | 区间定位、按染色体切分 | ALT 区名随组装 patch 变化 | 无缺失 | 1–22,X,Y,MT(CHR);另有 scaffold/patch 名 |
| source | text | 注释来源 | HAVANA / ENSEMBL | 人工/自动模型区分 | 团队迁移后名称为历史沿用 | 无缺失 | HAVANA, ENSEMBL |
| feature | text | 特征类型 | transcript | 结构层级过滤 | 无 | 无缺失 | gene, transcript, exon, CDS, UTR(3/5), start/end_codon, Selenocysteine |
| start / end | int | 1-based 闭区间坐标 | 11869 / 14409 | 区间运算、序列提取 | 模型修订在 release 间移动 | 无缺失 | 正整数,start ≤ end |
| score | text | 恒为 “.”(未使用) | . | 忽略 | 无 | “.” 即占位 | “.” |
| strand | text | 链方向 | + | 剪接方向、启动子侧判断 | 无 | 无缺失 | +, - |
| frame | text | 密码子相位(仅 CDS) | 0 | 蛋白翻译重建 | 非编码特征无意义 | “.” = 不适用 | 0, 1, 2, “.” |
| gene_id / transcript_id | text | 稳定 ID + 版本号 | ENSG00000223972.6 | 主键、跨库 join | 版本号随 release 递增 | 无缺失 | ENSG/ENST + .版本 |
| gene_type / transcript_type | text | biotype 生物型 | protein_coding | 分类标签、分层采样 | 定义随版本细化(见坑点 8) | 无缺失 | 约 30–40 种,见 4.2 |
| gene_name / transcript_name | text | HGNC/MGI 官方符号 | DDX11L1 | 报告输出、人读校对 | 无符号时用 Havana 命名 | 无缺失 | 符号字符串 |
| level | int | 注释质量层级 | 2 | 质量过滤(剔除 Level 3) | 无 | 无缺失 | 1, 2, 3 |
| tag | text | 附加验证标签 | basic; APPRISPrincipal1 | 代表转录本选择 | tag 集合随 release 扩充 | 无该属性 = 无标签 | 多值分号并列 |
| transcript_support_level | text | mRNA/EST 支持度 | 1 | 弱模型过滤 | 缺失常见于非编码 | 属性值可为 NA | 1–5, NA |
| exon_number / exon_id | text | 转录本内外显子序号 / 稳定外显子 ID | 1 / ENSE00002234944.1 | 外显子索引、共享外显子聚合 | 序号随异构体不同而不同 | 无缺失 | 正整数 / ENSE 前缀 |
| ccdsid | text | CCDS 一致性 ID(部分编码转录本携带) | CCDS1.1 | 与 NCBI CCDS 对齐 | 跨库一致但覆盖不全 | 属性缺省 = 无 CCDS | CCDS + 版本号 |
§4.2 biotype 标签分布(人类 v50)
| biotype | 基因数 | 转录本数 | 备注 |
|---|---|---|---|
| protein_coding | 20,107 | 278,455 | 含 665 readthrough 基因(stats 页单独列出) |
| lncRNA | 34,866 | 189,136 | lncRNA 位点转录本合计 191,063(含其余子类) |
| processed_pseudogene | 9,484 | 9,485 | 假基因中最大子类 |
| miRNA | 1,878 | 1,878 | 小 RNA,单转录本为主 |
| snRNA | 1,901 | 1,901 | 剪接体 RNA |
| snoRNA | 985 | 985 | 核仁小 RNA |
| transcribed_*_pseudogene 三类合计 | 3,740 | 3,740+ | 转录假基因(processed/unitary/unprocessed) |
| misc_RNA | 2,207 | 2,207 | 杂类 RNA |
| TEC | 1,019 | 1,108 | 待定(to be experimentally confirmed) |
| rRNA / rRNA_pseudogene | 546 | 546 | 核糖体 RNA 及其假基因 |
| IG_/TR_ 免疫基因段 | 约 950 | 约 950 | 编码 + 假基因片段 |
| 其余(scaRNA、ribozyme、vault_RNA 等) | 少量 | 少量 | 全表见官方 stats 页 |
§4.3 关键统计(v50)
- 独立翻译产物 172,117 个;有大于 1 种翻译产物的基因 16,058 个——可变剪接在蛋白层面的直接体现。
- 全长蛋白编码转录本 253,680 条,部分(partial)24,775 条——partial 模型 5’ 或 3’ 不完整,建模时应区分。
- NMD 转录本 91,818 条:规模远超直觉,是"转录噪声还是调控元件"研究的重要素材。
- 蛋白编码基因数约 2 万、十年基本持平;转录本数持续上升——注释放缓于新转录本发现(Frankish et al., 2025)。
- 均值速算(对官方统计的算术推导,非官方口径):平均每基因约 8.2 条转录本(644,292/78,733);蛋白编码基因平均约 14.3 条(278,455/19,442);lncRNA 位点平均约 5.3 条(191,063/35,885)——非编码位点的异构体复杂度并不亚于编码基因,下游表格化时勿假设"一基因一转录本"。
§4.4 数据层级
基因组(assembly)→ 染色体/区域(seqname)→ 基因(gene_id)→ 转录本(transcript_id)→ 外显子/CDS/UTR(exon_id 等)→ 翻译产物(translation,由 CDS 聚合)。同一外显子可被多条转录本共享(exon_id 相同);gene 是唯一天然"患者无关节点",跨表 join 一律以 gene_id(含版本)为准。GFF3 版用 ID/Parent 属性显式编码这棵树,GTF 版则靠每行冗余的 gene_id/transcript_id 隐式表达——工程上建议无论哪种格式都先解析成"gene 表 + transcript 表 + exon 表"三表结构再入库,与本体层级一一对应,下游查询与一致性校验都以此为准。
§4.5 缺失值与信息性缺失
| 情形 | 表现 | 处理建议 |
|---|---|---|
| 非编码转录本无 CDS/翻译 | 无 CDS 行、FASTA 无对应翻译序列 | 按特征类型设计解析器,勿假设每条转录本有翻译 |
| transcript_support_level 缺失 | 属性值 “NA” 或属性缺省 | 视为最低支持档或单独分箱,勿填 0 |
| 非编码特征 frame | “.” | 忽略该列,仅在 CDS 使用 |
| 无官方基因符号 | gene_name 用 Havana 克隆命名 | 报告层做符号回退处理 |
| 假基因无转录本行 | stats 中转录本数为 “—” | 结构信息在 gene/exon 层,按需聚合 |
| tag 缺省 | 属性段无 tag 键 | 语义为"无任何附加标签",非数据缺失 |
§4.6 GTF 与 GFF3 双格式差异
同一套注释以两种格式发布,工程选型需注意以下实质差异:
| 维度 | GTF 2.2 | GFF3 |
|---|---|---|
| 属性语法 | 空格分隔 + 引号(gene_id “ENSG00000223972.6”;) | 等号连接(gene_id=ENSG00000223972.6;) |
| 层级表达 | 扁平:每行冗余携带 gene_id/transcript_id | ID/Parent 链 + ##sequence-region 指令行 |
| 特殊字符 | 引号内原样保留 | URL 百分号转义(%2C 等) |
| 格式独有特征 | Selenocysteine 行(含硒蛋白翻译信号) | biological_region 行(Ensembl 附加调控/共线特征,GTF 无) |
| 头部 | # 注释行(版本、冻结日期、引用信息) |
##gff-version 3 指令行 |
| 工具生态 | STAR/featureCounts/Cell Ranger/Hisat2 等定量比对工具主输入 | JBrowse/Apollo 与部分比较基因组工具 |
实践建议:表达定量与比对选 GTF;需要 biological_region 或工具链指定 GFF3 时用 GFF3。两格式坐标完全一致,但属性解析器不可混用——属性语法差异是坑点 6 的主要来源。
§4.7 元数据文件清单
每个 release 除主注释外随附十余种跨库映射元数据(两列以上 TSV.gz,按基因或转录本行组织)。常用清单:
| 文件(v50 命名) | 内容 | 典型用途 |
|---|---|---|
| metadata.RefSeq | GENCODE ↔ RefSeq 转录本/蛋白映射 | 跨库对齐、临床报告双口径 |
| metadata.SwissProt / UniProt | 与 UniProtKB 蛋白的映射 | 功能注释、结构预测输入 |
| metadata.Entrez_gene_ids | ↔ NCBI Entrez Gene 基因 ID | 与 NCBI 工具链 join |
| metadata.PubMed_ids | 基因 ↔ 文献 ID | 文献挖掘、证据追溯 |
| metadata.PDB | 与蛋白结构库映射 | 结构生物学管线 |
| metadata.HPA | 与 Human Protein Atlas 映射 | 蛋白组织表达佐证 |
| metadata.Gene_source | 基因注释来源(Havana/Ensembl/合并) | 人工/自动构成分析 |
| annotation_remarks | 人工注释自由文本备注(HAVANA) | 特殊基因座的口径说明 |
| exon_annotation_evidence | 每条外显子的支撑证据 | 溯源与置信度加权 |
随版本略有增减,以当版 FTP 目录为准;元数据行可与 GTF 按 gene_id(含版本)直接 join。
§4.8 常见 join 场景与键选择
把其他数据接到 GENCODE 空间时的键选择速查:
| 对接数据 | 推荐键 | 注意点 |
|---|---|---|
| GTEx / TCGA 表达矩阵 | gene_id(无版本列) | 两项目随版公布所用 GENCODE 版本,先核版本再 join |
| gnomAD 变异 | 区间 join(chrom-pos)+ VEP 注释 | 变异无基因 ID,需按区间映射到外显子/转录本 |
| UniProt 蛋白 | metadata.SwissProt/UniProt 映射 | 经翻译产物中转,一转录本可映射多蛋白条目 |
| RefSeq 记录 | metadata.RefSeq 映射 | 优先用 MANE Select 行做报告口径 |
| CCDS | ccdsid 属性 | 覆盖不全(仅一致性高的编码区) |
| HGNC/MGI 符号 | gene_name | 符号会重命名,join 后用 gene_id 复核 |
| Ensembl REST | gene_id(剥版本) | REST 接受无版本 ID,返回最新版记录 |
| 旧版 GENCODE 注释 | gene_id 无版本部分 | 版本号部分跨 release 漂移,勿整串 join |
§5 划分与使用建议
§5.1 官方划分
GENCODE 不提供训练/验证/测试划分——它是参考注释资源而非基准数据集。官方的"划分"体现在文件分层:basic(代表转录本)与 comprehensive(全量)、CHR/PRI/ALL(区域范围)两个正交维度,用于匹配不同分析需求(见 §3.0 矩阵)。此外,GRCh37 存档注释线(如 v43lift37)可视为"时间维度的官方对照集"——研究注释演化时,新旧两条存档线一起下载即可做受控对比,不必自行 liftOver。
§5.2 社区惯例划分
以 GENCODE 为标签源的建模任务中,社区常见做法:(1)按基因座划分(gene-level split):同一基因的所有转录本/外显子只进一个子集;(2)按染色体 holdout:留出整条染色体(常选 chr8/chr9 中等大小)做外部测试;(3)按 biotype 分层采样:保证小 RNA 与稀有 biotype 在各子集有代表;(4)时间切分:用旧 release 训练、新 release 测试,评估模型对注释更新的鲁棒性。
无论选哪种划分,方法节应显式报告四件事:划分键(gene_id/染色体)、各子集 biotype 构成、是否保留 Level 3 模型、参考 release 编号——缺这四项的评测结果无法被他人复现或对齐。
§5.3 泄漏风险(重点)
- 同基因异构体泄漏:随机按转录本切分会让同一基因的高度重叠转录本分属训练与测试,剪接位点预测类任务虚高。务必按 gene_id 切分。
- 旁系同源/基因家族泄漏:基因家族(如嗅觉受体、免疫基因段)与假基因拷贝间序列高度相似,按基因随机切分仍可能泄漏;高风险家族建议整体归入同一子集。
- 组装重复区泄漏:ALL 文件中同一基因在 haplotype 区域有多份拷贝,切分前先去重到 CHR 范围。
- 跨库泄漏:与 Ensembl/RefSeq 混用时,注意它们与 GENCODE 注释同源(MANE 一致),把"另一个数据库"当独立测试集会低估泛化误差。
切分实现完成后,把"训练/测试基因 ID 交集必为空"写成 CI 断言——泄漏防御的最后防线是自动化检查而非人工自觉。
§5.4 交叉验证建议
基因层面 5 折交叉验证 + 染色体 holdout 双重评估;分层变量用 gene_type(重点保证 protein_coding/lncRNA/pseudogene 三大类均衡);每折重算 biotype 分布并报告,避免稀有类只在单折出现。序列窗口任务可做窗口级随机划分,但约束"同一基因座的窗口不得跨集";异构体任务再叠加"同一 exon_id 不得跨集",二者一并写进划分脚本并固化。
§5.5 外部验证建议
向新组装(如 T2T CHM13 注释)或新 release 迁移是天然的分布偏移测试;跨物种迁移(人 → 鼠,v50 ↔ M39 同源基因映射)可检验模型学到的是注释语法还是序列生物学。有长读长能力时,把模型输出与 LRGASP 公开长读长数据对照,报告"注释外预测"获得独立读段证据的比率,是对标签缺失最直接的外部检验。
§5.6 版本升级 checklist
新 release 发布后的最小升级流程(把每一步结果存档):
- 读取 release 说明与变更统计,确认组装是否变更(换组装 = 重大事件,走重处理流程而非热替换);
- 新旧 GTF 各转 gene/transcript 两表,按无版本 gene_id 对齐,输出"新增/消失/ID 版本递增"三个清单;
- 区间 diff:统计外显子边界变化数(§6.9 口径),按 biotype 分层;
- 对训练标签重新生成并跑金测集(固定小样本)对比;
- 评估受影响模型:标签变化率超过阈值(如 0.5% 基因座)时触发重训评审;
- 更新数据卡:release 三元组、下载日期、MD5、变更清单归档位置。
§6 AI 就绪指南
§6.0 云端快速启动
GTF 为静态小文件(约 56 MB),无需云对象存储;任何带 Python 3.9+ 的环境(Colab 免费档即可)都能完成解析与标签构建。大数据量需求出现在下游比对/定量(STAR、Cell Ranger,需 16–64 GB 内存),注释本身不构成算力瓶颈。若在 Databricks/BigQuery 等湖仓环境使用,先把 GTF 转为 Parquet/表再作业(见 §6.3 预处理),避免在每个 worker 上重复解析。
§6.1 快速上手:最小可运行示例
# ============================================
# 目录结构预期:
# DATA_ROOT/
# ├── gencode.v50.annotation.gtf.gz # 人类 v50 comprehensive CHR
# └── gencode.vM39.annotation.gtf.gz # 小鼠 M39 comprehensive CHR(可选)
# data_root 拼接关系:所有路径以 DATA_ROOT 为唯一前缀,
# 通过环境变量 GENCODE_ROOT 注入,避免硬编码绝对路径。
# 最小可用子集:仅 1 个主注释 GTF(约 56 MB)即可完成本示例。
# ============================================
import gzip
from pathlib import Path
DATA_ROOT = Path(__import__("os").environ.get("GENCODE_ROOT", "./data"))
GTF = DATA_ROOT / "gencode.v50.annotation.gtf.gz"
def parse_gtf(path):
"""流式解析 GTF,返回特征 dict 迭代器(内存友好)"""
with gzip.open(path, "rt") as fh:
for line in fh:
if line.startswith("#"):
continue
cols = line.rstrip("\n").split("\t")
attrs = {}
for kv in cols[8].rstrip(";").split("; "):
if "=" in kv or " " in kv:
k, _, v = kv.partition(" ")
attrs[k] = v.strip('"')
yield {
"seqname": cols[0], "source": cols[1], "feature": cols[2],
"start": int(cols[3]), "end": int(cols[4]),
"strand": cols[6], "attrs": attrs,
}
genes = [g for g in parse_gtf(GTF) if g["feature"] == "gene"]
print(f"基因总数: {len(genes)}") # 预期 78,733(v50 CHR comprehensive)
pc = [g for g in genes if g["attrs"]["gene_type"] == "protein_coding"]
print(f"蛋白编码基因: {len(pc)}") # 预期约 20,107(含 readthrough)
§6.2 数据获取
| 步骤 | 内容 | 说明 |
|---|---|---|
| 1 | 进入官方 FTP | https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_50/ |
| 2 | 选择文件 | 见 §3.0 矩阵;一般项目取 basic CHR |
| 3 | 校验 | 对比页面公布 MD5;md5sum -c |
| 4 | 引用记录 | 记下 release 编号与下载日期,写入实验配置 |
# 下载人类 v50 主注释与小鼠 M39 主注释(约 100 MB)
BASE=https://ftp.ebi.ac.uk/pub/databases/gencode
wget -q https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_50/gencode.v50.annotation.gtf.gz
wget -q https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_mouse/release_M39/gencode.vM39.annotation.gtf.gz
# 下载官方统计说明与 README(口径复核用)
wget -q https://ftp.ebi.ac.uk/pub/databases/gencode/_README_stats.txt
# 解压后单文件约 1.5 GB,建议流式处理(§6.1)
gunzip -k gencode.v50.annotation.gtf.gz
完整性校验:FTP 目录内提供 MD5SUMMARY 文件(列出该目录全部文件的 MD5)。下载后务必核验——注释文件经代理/镜像传输被截断是最常见的"隐性损坏",表现为 GTF 解析在固定行号处报错。核验方法:
# 校验单个文件(以 release_50 为例)
curl -s https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_50/MD5SUMMARY | grep annotation.gtf.gz
md5sum gencode.v50.annotation.gtf.gz # 比对两次输出是否一致
无需注册、无需申请、无速率限制;历史版本按 release_XX / release_MXX 目录永久保留。
§6.3 预处理全流程
# ============================================================
# 流程:GTF → 基因代表转录本表 → BED 区间 → 与表达矩阵对齐
# 依赖:pyranges(pip install pyranges pandas)
# ============================================================
import pandas as pd
def gtf_to_genes(gtf_path):
"""从 GTF 提取 gene 与 transcript 级结构表"""
rows = []
for f in parse_gtf(gtf_path): # §6.1 的解析器
a = f["attrs"]
if f["feature"] == "transcript":
rows.append({
"gene_id": a.get("gene_id"),
"gene_name": a.get("gene_name"),
"gene_type": a.get("gene_type"),
"transcript_id": a.get("transcript_id"),
"level": a.get("level"),
"tsl": a.get("transcript_support_level"),
"tags": a.get("tag"),
"chrom": f["seqname"], "start": f["start"],
"end": f["end"], "strand": f["strand"],
})
return pd.DataFrame(rows)
tx = gtf_to_genes(DATA_ROOT / "gencode.v50.annotation.gtf.gz")
# 清洗 1:版本固定 —— 决策点:是否剥离版本号。
# 建议:保留带版本 ID 作主键,另存一列无版本 ID 用于跨库 join。
tx["gene_id_nv"] = tx["gene_id"].str.split(".").str[0]
# 清洗 2:质量过滤 —— 剔除纯自动模型(level 3)视任务而定;
# 代表转录本优先级:MANE(若有 tag)> basic tag > APPRIS > tsl 最低值
# 清洗 3:属性段结构化 —— tag 是分号并列多值,需展开为可过滤的集合列;
# PAR 相关标签/ID 规则见坑点 3;ccdsid 属性(若存在)可作 CCDS 对齐键。
# 清洗 4:区域范围固定 —— 若混入 PRI/ALL 文件,按 seqname 前缀规则剔除
# scaffold/patch/ALT 区,只保留 1-22,X,Y,MT(或显式保留并打标)。
#
# 注意:GTF 中同名属性可重复出现(tag "basic"; tag "mRNA_start_NF"),
# 上方简化解析只保留最后一个 tag。正式管线请按下方正则聚合多值属性:
import re
def collect_tags(attr_str: str) -> list:
"""提取一条 GTF 行中的全部 tag 值(多值聚合)"""
return re.findall(r'tag "([^"]+)"', attr_str)
def pick_representative(df):
df = df.copy()
df["has_basic"] = df["tags"].fillna("").str.contains("basic")
return (df.sort_values(["has_basic", "tsl"], ascending=[False, True])
.groupby("gene_id_nv", as_index=False).first())
rep = pick_representative(tx[tx["gene_type"] == "protein_coding"])
# 标准化:输出 BED6(0-based 半开区间)供下游工具
bed = rep.assign(start0=rep["start"] - 1)[
["chrom", "start0", "end", "gene_name", "transcript_id", "strand"]]
bed.to_csv("gencode_v50_pc_genes.bed", sep="\t", header=False, index=False)
与表达量对齐的关键约定:featureCounts/STAR 使用哪份 GTF,输出矩阵的基因集合就完全是哪份 GTF 的基因集合——把 GENCODE GTF 换成任何其他来源 GTF 都会改变输出行数与行含义。多模态拼接时,请把"注释版本"当作与"批次"同级的元数据字段。
§6.4 PyTorch DataLoader 完整示例
以"基因座序列窗口 → biotype 分类"为最小建模任务(需 pyfaidx 与基因组 FASTA):
点击展开完整代码(约 60 行)
# ============================================================
# 目录预期:DATA_ROOT/ 下有 gencode.v50.annotation.gtf.gz
# 与 gencode.v50.genome.fa.gz(解压后建索引)
# 任务:基因座 ±10kb 序列窗口 -> 三分类(protein_coding/lncRNA/其他)
# 依赖:torch, pyfaidx, pandas
# ============================================================
import gzip, random
import torch
from torch.utils.data import Dataset, DataLoader
from pyfaidx import Fasta
DATA_ROOT = "./data"
WINDOW = 10_000
LABELS = {"protein_coding": 0, "lncRNA": 1}
BASES = {"A": 0, "C": 1, "G": 2, "T": 3, "N": 4}
def load_gene_table(gtf_gz):
"""一次解析,缓存基因级记录(gene 行)"""
genes = []
with gzip.open(gtf_gz, "rt") as fh:
for line in fh:
if line.startswith("#"):
continue
c = line.rstrip("\n").split("\t")
if c[2] != "gene":
continue
attrs = dict(
(kv.strip().split(" ", 1)[0], kv.strip().split(" ", 1)[1].strip('"'))
for kv in c[8].rstrip(";").split(";") if " " in kv.strip())
genes.append({"chrom": c[0], "start": int(c[3]), "end": int(c[4]),
"strand": c[6], "gene_type": attrs.get("gene_type", "")})
return genes
class GeneWindowDataset(Dataset):
"""基因座序列窗口数据集:one-hot 编码 + biotype 标签"""
def __init__(self, genes, fasta_path, chroms=None):
self.fasta = Fasta(fasta_path)
self.items = [g for g in genes
if chroms is None or g["chrom"] in chroms]
def __len__(self):
return len(self.items)
def encode(self, seq):
x = torch.zeros(5, WINDOW * 2)
for i, b in enumerate(seq.upper()[: WINDOW * 2]):
x[BASES.get(b, 4), i] = 1.0
return x
def __getitem__(self, idx):
g = self.items[idx]
chrom, mid = g["chrom"], (g["start"] + g["end"]) // 2
s = max(0, mid - WINDOW); e = min(len(self.fasta[chrom]), mid + WINDOW)
seq = str(self.fasta[chrom][s:e])
y = LABELS.get(g["gene_type"], 2) # 其余 biotype 归入类别 2
return self.encode(seq), torch.tensor(y)
def make_loaders(gtf_gz, fa, seed=42):
genes = load_gene_table(gtf_gz)
keep = [g for g in genes if g["gene_type"] in LABELS]
rng = random.Random(seed)
train_chroms = {f"chr{i}" for i in range(1, 19)} # 按染色体划分,防同基因泄漏
val_chroms = {"chr19", "chrX"} # 见 §5.3 泄漏讨论
tr = GeneWindowDataset(keep, fa, train_chroms)
va = GeneWindowDataset(keep, fa, val_chroms)
return (DataLoader(tr, batch_size=16, shuffle=True, num_workers=2),
DataLoader(va, batch_size=32, num_workers=2))
train_loader, val_loader = make_loaders(
f"{DATA_ROOT}/gencode.v50.annotation.gtf.gz",
f"{DATA_ROOT}/gencode.v50.genome.fa")
for x, y in train_loader:
print(x.shape, y.shape) # [16, 5, 20000] [16]
break
§6.5 坑点清单(10 个,GENCODE 真实特有失败模式)
⚠️ 坑点 1:跨 release 的 ID 版本号漂移(分类:工程陷阱)
问题:gene_id/transcript_id 带版本后缀(ENSG00000141510.18),每次 release 递增;直接用带版本 ID 做跨 release 或跨库 join 会大面积失配。
症状:升级 release 后表达矩阵行名对不上;与 Uniprot/RefSeq 映射表 join 时数千行丢失。
解决:
- 简单方法:join 前统一剥离版本号(
gene_id.split(".")[0]),接受极少数合并/拆分案例的误差。- 进阶方法:用官方 metadata 文件(如 metadata.RefSeq.gz)做带版本映射;对合并/拆分基因建立旧→新 ID 映射表。
- SOTA 方法:固定 release 写入配置(如
gencode_release: v50),用 DVC/MLflow 记录数据指纹;跨版本研究直接用官方 release history 与变更统计对齐。
参考:https://www.gencodegenes.org/human/releases.html;Frankish et al., 2023, NAR, DOI: 10.1093/nar/gkac1071
⚠️ 坑点 2:comprehensive 与 basic 用错场景(分类:预处理陷阱)
问题:comprehensive 含全部转录本(v50 644,292 条),直接喂给 STAR/featureCounts 会造成大量多重比对与"同一 read 归属歧义"。
症状:featureCounts 输出中 “unassigned_ambiguous” 占比异常高;定量结果对 GTF 来源极度敏感。
解决:
- 简单方法:定量用 basic CHR;异构体级分析才用 comprehensive。
- 进阶方法:异构体定量用 Salmon/kallisto(准映射策略)配 comprehensive;
-g gene_id聚合到基因层消歧。- SOTA 方法:先以 basic 建立基因级矩阵,再对重点基因用 comprehensive 做异构体精化,两级结果显式区分文件名。
参考:官方 release 页对 basic 的定义(“main annotation file for most users”):https://www.gencodegenes.org/mouse/release_M38.html
⚠️ 坑点 3:PAR 区基因双拷贝与 _PAR_Y 后缀演变(分类:标签理解)
问题:X/Y 假常染色体区基因在 chrX 与 chrY 各有一份注释。release 24 及以前用 ENSGR 前缀区分,v25–43 用
_PAR_Y后缀,v44(Ensembl 110)起 chrY PAR 拥有独立 ID。
症状:基因计数比预期多;跨版本脚本在 v43→v44 之间断裂;按 gene_name 去重时把同一基因的两个拷贝当不同基因。
解决:
- 简单方法:分析 chrY 时显式决定保留/剔除 PAR 拷贝;按
gene_id.str.endswith("_PAR_Y")识别 v25–43 数据。- 进阶方法:建立"release → PAR 规则"适配层:≤24 匹配 ENSGR 前缀,25–43 匹配后缀,≥44 按 PAR tag 识别。
- SOTA 方法:统一折叠到 chrX 代表拷贝并在元数据记录折叠规则;男性特异分析(Y 染色体)单独建模。
参考:官方 FAQ “Why do some gene and transcript ids start with ENSGR…”:https://www.gencodegenes.org/pages/faq.html
⚠️ 坑点 4:GRCh37/GRCh38 坐标系混用(分类:工程陷阱)
问题:大量历史公共数据(早期 TCGA 处理产物、部分 GEO 数据集)落在 GRCh37 坐标系,与新注释(GRCh38.p14)不兼容;liftOver 不能保证 1:1 映射。
症状:区间求交结果为 0 或异常少;变异注释一半为空;chr 区间在着丝粒附近系统性偏移。
解决:
- 简单方法:全程锁定 GRCh37 或 GRCh38 之一,用官方 GRCh37 存档注释线(如 v43lift37)匹配旧数据。
- 进阶方法:必须转换时用 UCSC liftOver/ CrossMap 并丢弃不可映射区间,记录映射成功率作为数据质量指标。
- SOTA 方法:以变异/区间原始比对文件重处理到 GRCh38,而非坐标转换;将组装版本纳入数据卡与训练配置。
参考:https://www.gencodegenes.org/human/releases.html(GRCh37 存档);Frankish et al., 2025, GENCODE 2025(组装迁移策略)
⚠️ 坑点 5:UCSC 染色体命名与 UCSC 版本号错位(分类:工程陷阱)
问题:UCSC 浏览器轨道名"GENCODE V47"对应官方 release 47,但 UCSC 下载的 GTF 染色体名带
chr前缀,而 gencodegenes.org 的文件不带;两处文件混用会导致区间 join 全空。
症状:BEDTools/pyranges 求交结果为空;报错找不到染色体名。
解决:
- 简单方法:统一命名——
chrom = chrom.removeprefix("chr")(保留 chrM/chrY 特殊处理意识)。- 进阶方法:数据摄入层加命名标准化函数,并在单元测试里放一条 chr1 已知基因做断言。
- SOTA 方法:全管线只从 gencodegenes.org 官方 FTP 取文件,UCSC 仅用于可视化;把命名规范写入代码库 lint 规则。
参考:UCSC V47/VM36 上线公告:https://ucscbrowser.genap.ca//goldenPath/newsarch.html
⚠️ 坑点 6:GTF 属性解析陷阱(分类:预处理陷阱)问题:GTF 属性段是空格分隔的
key "value";串,与 GFF3 的=语法不同;粗暴正则会把含空格的值截断,pandas 读入会因属性键不一致产生大量 NaN 列。
症状:gene_name 出现被截断字符串;解析后列数爆炸;内存占用翻倍。
解决:
- 简单方法:只提取需要的 5–8 个属性键,逐行解析后立即丢弃原始串(见 §6.1)。
- 进阶方法:用 pyranges/gtfparse 等成熟库,注意其 GTF/GFF3 分支与 NaN 处理;大文件用 chunked 流式读取。
- SOTA 方法:解析结果落盘为 Parquet(列存、压缩、schema 固定),下游一律读 Parquet,把 GTF 解析隔离为一次性构建步骤。
参考:GTF 文件格式与属性全表:https://www.gencodegenes.org/pages/tags.html
⚠️ 坑点 7:剪接位点/序列模型的同源泄漏(分类:数据泄漏)
问题:剪接位点、外显子边界预测任务中,随机切分样本会让旁系同源基因与共享外显子结构跨越训练/测试边界;基因家族与假基因拷贝进一步放大泄漏。
症状:测试 F1 高达 0.95+ 但在新 release/新组装上骤降;消融实验差异异常小。
解决:
- 简单方法:按 gene_id 划分(同基因只进一个子集)。
- 进阶方法:按染色体 holdout + 把高度同源家族(IG_/TR_/嗅觉受体)整体隔离到训练集。
- SOTA 方法:报告"同 release 基因级划分"与"跨 release 时间切分"双评估;用序列一致性聚类(如 MMseqs2)构建同源感知划分。
参考:§5.3;Frankish et al., 2023, NAR(LRGASP 长读长建模评估的划分思想)
⚠️ 坑点 8:biotype 语义随版本演变(分类:标签理解)
问题:biotype 集合与定义在 release 间持续细化(如 protein_coding_CDS_not_defined、protein_coding_LoF、TEC 等新类出现;gene_status 字段在 v25/M11 后被整体移除);旧脚本把 biotype 清单写死会静默出错。
症状:升级 release 后分类标签出现"未知类别";旧版本字段(gene_status)解析报 KeyError。
解决:
- 简单方法:每次升级先跑
value_counts()核对新旧 biotype 差集,未知类并入"其他"并记录。- 进阶方法:按官方 biotypes 页维护映射表(大类:蛋白编码/lncRNA/假基因/小 RNA),映射表随 release 版本化。
- SOTA 方法:构建任务专属标签 ontology(如三类粗标签 + 原始 biotype 保留为细标签),训练与评估只依赖粗标签,细标签用于分层报告。
参考:https://www.gencodegenes.org/pages/biotypes.html;FAQ(gene_status 移除说明)
⚠️ 坑点 9:gene_type 与 transcript_type 层级不一致(分类:标签理解)
问题:基因行的 gene_type 描述"基因座主类",而同一基因座下各转录本的 transcript_type 可以不同(如 protein_coding 基因普遍产生 NMD、retained_intron 转录本;lncRNA 位点含 processed_transcript 细分)。把两个层级的标签混用或假设一致,计数与过滤都会失真。
症状:按 gene_type 过滤出的基因数与按 transcript_type 聚合的基因数对不上;"蛋白编码转录本占比"与"蛋白编码基因占比"两个数字被混报。
解决:
- 简单方法:统计与过滤前显式声明层级——基因层用 gene_type,转录本层用 transcript_type,永不通层次过滤。
- 进阶方法:构建"基因-转录本"两表模型(一对多外键),两列类型各表各的,join 时以 transcript_id 为桥。
- SOTA 方法:在数据卡中同时记录两层的 biotype 分布(对照官方 stats 页的两张表),每次升级 release 后做分布 diff。
参考:官方 stats 页对基因/转录本分别按 gene_type/transcript_type 计数:https://www.gencodegenes.org/human/stats.html
⚠️ 坑点 10:PRI/ALL 档的 seqname 随 GRCh38 patch 漂移(分类:工程陷阱)
问题:GRCh38 通过 patch 演进(现 p14),未放置 scaffold 与 ALT 区名在 patch 之间有增删;PRI/ALL 档注释引用的 seqname 集合随之变化,与旧 FASTA 或旧注释求交时会静默丢失区域。
症状:ALL 档注释在旧参考 FASTA 上报"未知染色体";跨 patch 对齐后部分 scaffold 区间消失;CHR 档不受影响但用户误用 PRI/ALL 对比时出现不可解释差异。
解决:
- 简单方法:默认只用 CHR 档,天然免疫此问题。
- 进阶方法:GTF 与 FASTA 必须从同一 release 目录成对下载;锁组装 accession(GRCh38.p14 = GCA_000001405.29)而非仅写"GRCh38"。
- SOTA 方法:摄入层校验"GTF seqname ⊆ FASTA 区名"并输出差集报告,把校验纳入 CI。
参考:GRC patch 机制说明(UCSC/Ensembl 组装文档);官方 FAQ 对三个范围档的定义:https://www.gencodegenes.org/pages/faq.html
§6.6 数据增强(序列模型视角)
| 策略 | 是否安全 | 说明 |
|---|---|---|
| 随机序列平移(±数百 bp) | ✅ 安全 | 基因座窗口任务常用;注意勿越过染色体边界 |
| 反向互补(RC)增强 | ✅ 安全(需对称模型) | 双链 DNA 语义对称;标签需按链同步翻转 |
| 碱基噪声替换(N 模拟) | ✅ 安全 | 提升对测序噪声鲁棒性 |
| 外显子打乱拼接 | ❌ 危险 | 破坏真实转录结构,制造自然界不存在的"嵌合基因" |
| 跨 release 混合训练当增强 | ❌ 危险 | 注释变更不是数据增强,是分布偏移(见坑点 1/8) |
| 把 ALT/haplotype 拷贝当独立样本 | ❌ 危险 | 与主拷贝几乎相同,等价于重复样本泄漏 |
| biotype 软标签(按四大类层级软化) | ✅ 安全 | 层级结构允许向父类软化;勿跨大类混编 |
§6.7 模型推荐
| 任务 | 代表模型 | 与 GENCODE 的关系 | 完整引用 |
|---|---|---|---|
| 剪接位点/异构体预测 | SpliceAI | 以注释剪接位点为监督标签 | Jaganathan et al., 2019, Cell. DOI: 10.1016/j.cell.2018.12.015 |
| 调控/表达预测 | Enformer | 用基因 TSS 与注释结构定义预测目标 | Avsec et al., 2021, Nature Methods. DOI: 10.1038/s41592-021-01252-x |
| 变异效应/调控扰动 | DeepSEA | 注释提供功能区域先验 | Zhou & Troyanskaya, 2015, Nature Methods. DOI: 10.1038/nmeth.3547 |
| 长读长转录本重建 | LRGASP 参赛方法族 | 以 GENCODE/长读长数据为基准集 | Frankish et al., 2023, NAR. DOI: 10.1093/nar/gkac1071(评估协作描述) |
| 变异效应注释 | VEP | consequence 计算基于 Ensembl/GENCODE 转录本缓存 | McLaren et al., 2016, Genome Biology 17:223. DOI: 10.1186/s13059-016-0974-4 |
| 变异效应注释 | SnpEff | 官方文档支持以 GENCODE GTF 自建数据库 | Cingolani et al., 2012, fly 6(2):80-92. DOI: 10.4161/fly.19695 |
| 表达定量 | kallisto / Salmon / RSEM | 转录本索引由注释 FASTA 构建 | Bray et al., 2016, Nature Biotechnology 34:525-527. DOI: 10.1038/nbt.3519;Patro et al., 2017, Nature Methods 14:417-419. DOI: 10.1038/nmeth.4197 |
| 单细胞定量 | Cell Ranger | 10x 官方预建参考由 GENCODE GTF 构建 | 10x Genomics 官方参考构建文档(无 DOI) |
§6.8 硬件需求
| 环节 | 最低配置 | 推荐配置 | 说明 |
|---|---|---|---|
| GTF 解析与标签构建 | 4 GB 内存 | 8–16 GB | 流式解析 4 GB 即可;全量 DataFrame 需 16 GB |
| 比对/定量(下游) | 16 GB | 32–64 GB | STAR 基因组索引约 30 GB 磁盘 |
| 序列模型训练 | 单卡 16 GB | 多卡 A100/40 GB | 视窗口长度与模型规模 |
| Enformer 规模长序列推理 | 单卡 24 GB | 32+ GB 或 TPU | 200 kb 级窗口,梯度检查点可降占用 |
| 存储 | 10 GB | 50 GB | 人鼠全套 + 基因组 FASTA + 索引 |
§6.9 评估指标代码
# 转录本重建/注释映射质量:区间级 precision/recall(0-based 化后用 pyranges 求交)
import pyranges as pr
def interval_f1(pred_bed, ref_bed):
"""pred/ref: BED3+ 数据框;返回外显子区间级 P/R/F1"""
P = pr.PyRanges(pred_bed.rename(columns={"chrom": "Chromosome",
"start0": "Start", "end": "End"}))
R = pr.PyRanges(ref_bed.rename(columns={"chrom": "Chromosome",
"start": "Start", "end": "End"}))
# start 修正:pred 为 0-based 半开,ref 为 1-based 闭 → 统一为 0-based 半开
R.Start, R.End = R.Start - 1, R.End
tp = len(P.join(R)) # 有重叠即命中(严格场景改用完全相等匹配)
precision = tp / max(len(P), 1)
recall = tp / max(len(R), 1)
f1 = 2 * precision * recall / max(precision + recall, 1e-9)
return precision, recall, f1
报告时务必注明匹配判定(重叠 vs 完全一致)、层级(外显子/转录本/基因)与参考 release——不同口径数字不可直接比较。一份合格的注释相关评测报告应包含以下清单:
- 参考注释:release 编号 + 文件档(basic/comprehensive × CHR/PRI/ALL)+ MD5;
- 匹配判定:区间重叠阈值或完全一致; exon 层/转录本层/基因层分别报告;
- 划分:键与分层变量(引用 §5.2 四要素);
- 分层指标:按 biotype 四大类拆分的 P/R/F1;
- 失败案例:至少 10 条不一致预测的基因座列表,附证据说明。
§6.10 MLOps 笔记
- 版本即配置:把
gencode_release、assembly(GRCh38.p14 / GRCm39)、文件 MD5 三元组写入每次实验的 run 配置;模型卡必须回填这三项。 - 不可变数据引用:直接引用 FTP 全路径(含 release 目录),禁止引用"最新版"软链;官方无"latest"指针,故此约定天然可执行。
- 升级演练:新 release 发布后先跑 §6.9 口径的区间 diff 报告(新增/删除/修改特征数),评估再决定是否升级。
- 下游联动:表达矩阵、变异注释、标签文件的 release 必须同源同版;CI 中加入"四件套 release 一致性"断言。
- 契约测试:把 GTF 解析器对固定小样本(如 DDX11L1 基因座行)的输出做成金测(golden test),解析库升级时立即暴露行为差异。
- 文档化决策点:basic vs comprehensive、是否剔除 Level 3、ID 是否剥离版本——这三个决策必须写入团队数据卡,跨项目复现时逐项核对。
- 审计追溯:从模型标签回溯到 GTF 行需走通"样本 → 区间 → 基因 ID → release 目录"链路;建议把标签生成脚本的 git commit 也记入 run 配置。
§6.11 下游工具链速查表
| 工具 | 消费的注释形式 | 推荐档位 | 注意点 |
|---|---|---|---|
| STAR / HISAT2 | GTF(建基因组索引) | basic CHR | comprehensive 会放大多比对歧义 |
| featureCounts | GTF | basic CHR(基因级) | 基因级聚合 -g gene_id;异构体级另议 |
| Salmon / kallisto | 转录本 FASTA | comprehensive 派生 FASTA | 准映射策略天然适合全转录本集 |
| RSEM | GTF + FASTA | basic | GTEx 管线即 GENCODE + STAR + RSEM 组合 |
| Cell Ranger | GTF(mkref) | comprehensive CHR(10x 预建参考同口径) | 换注释档会改变细胞基因定量计数 |
| VEP | Ensembl/GENCODE 缓存 | 随 VEP 版本 | 缓存内注释版本与自建可能不同,注意声明 |
| SnpEff | 自建数据库(GTF 输入) | basic 或 comprehensive | 数据库构建时写死版本,结果需注明 |
| liftOver / CrossMap | chain 文件 | — | 与注释版本无关,与组装 chain 对应 |
| BEDTools / pyranges | 区间 join | CHR | 先统一染色体命名(坑点 5) |
| gffread / AGAT | GTF↔GFF3 转换、序列提取 | — | 转换后抽查属性完整性(tag 多值易丢) |
| GenomicFeatures ® / gtfparse (Python) | 解析为数据框 | basic | 各库属性解析行为不同,金测固定行为 |
选型原则:定量比对类工具吃 GTF,注释挖掘类任务自写解析器(§6.1)最可控;任何第三方解析器接入前,先跑金测比对官方统计(§3.2 口径)。
§7 质量评估与局限性
§7.1 已知偏倚表
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 研究热度偏倚 | 注释密度偏向被充分研究的组织/细胞系来源的转录证据 | 中 | 使用 level/tsl 过滤;新组织数据谨慎外推 |
| 非编码模型置信度不均 | lncRNA/假基因含大量 Level 3 自动模型,实验支持弱 | 高 | 分析前按 level 分层;对弱模型做敏感性分析 |
| 蛋白编码稳定性 vs 转录本膨胀 | 基因数稳定而转录本数持续增长,部分长异构体证据单薄 | 中 | 用 basic/代表转录本做主分析 |
| 组装代表性 | GRCh38/GRCm39 以单一个体参考序列为主,未能覆盖群体多样性 | 中 | 关注 T2T/泛基因组注释进展(Frankish et al., 2025) |
| 物种覆盖窄 | 仅人、鼠两物种官方注释 | 低(相对) | 跨物种任务借助 Ensembl 同源映射补充 |
| 免疫区段标注复杂 | IG/TR 基因段与 TCR/BCR 重排区域结构特殊,自动模型易错位 | 中 | 免疫组库任务改用 IMGT 专项资源核对 |
| readthrough/重叠基因策略 | 读通转录本与相邻基因重叠区的归属约定随版本演进 | 低 | 涉及重叠基因座的分析固定 release 并阅读 remarks |
§7.2 标注质量
人工注释(Level 2)有完整证据链与内部复核;实验验证贯穿项目历史(Harrow 2012 报告 6 个 RT-PCR 验证批次,GEO GSE30619、E-MTAB-612 等)。自动化部分(Level 3)随版本滚动更新,历史上个别自动模型在版本间被移除属正常现象。与 RefSeq 的 MANE Select 协作使每个蛋白编码基因拥有结构序列完全一致的跨库代表转录本,是当前最强的一致性保证(Frankish et al., 2023)。
需要区分"注释质量"的两层含义:结构正确性(外显子边界是否真实存在)——人工层高、自动层随证据波动;分类正确性(biotype 归类是否恰当)——受功能认知演进影响更大,如 lncRNA 与 TEC 之间的迁移、假基因重分类。前者可在固定版本内信任 level 字段,后者必须随版本 review,两者不可混为一谈。
§7.3 泛化性评估表
| 使用场景 | 失效风险 | 证据 |
|---|---|---|
| 新组织/罕见病样本 | 未研究组织的真实转录本可能缺失,模型把"未注释"当"不存在" | Frankish et al., 2025(明确指出基因组表达的转录本远多于已注释) |
| 外显子组探针覆盖(WES 靶向区) | 探针设计基于旧注释,新注释中新增的外显子可能无探针覆盖 | 临床外显子组分析共识;需报告探针外区域 |
| 非 C57BL/6J 遗传背景(小鼠近交系/野鼠) | 参考序列为 C57BL/6J,品系特异性基因结构缺失 | GRCm39 组装说明(GRC 公告,2019) |
| 肿瘤基因组(融合/重排) | 参考注释不含体细胞重组结构 | 临床报告需配合融合检测专项注释 |
| T2T/泛基因组组装 | GRCh38 注释不可直接映射到 CHM13/HPRC 组装 | Frankish et al., 2025(CAT+liftOver 映射策略) |
| 非 GENCODE 仓库的"同源"注释 | 第三方把注释导入自有 ID 体系后,与官方文件存在细微差异(PAR、版本号截断等) | 各仓库转换管道自述;以官方文件为准绳 |
§7.4 伦理与合规
GENCODE 为物种级参考注释,不含人类受试者个体数据,不涉及患者知情同意;使用中唯一合规要求是遵守 EMBL-EBI 服务条款与引用规范(注明 release 编号并引用对应论文)。基于其构建的下游患者数据产品,其伦理义务由下游数据决定,与注释本身无关。
§7.5 公平性
参考序列与注释主要来自少数参考个体,群体间(如非洲 ancestry 人群的非参考区段)注释代表性有限;以注释为标签的模型可能继承该偏差。缓解:关注泛基因组注释产出;在群体特异分析中报告注释覆盖率差异。对小鼠任务另需注意参考个体为 C57BL/6J 近交系,与人类"单一参考"问题同构。
§7.6 数据漂移
注释漂移是 GENCODE 特有的主要风险:每版 release 都有结构修改(新增/移除/合并模型)。工程上应把"release 变更"当作与"试剂换批"同级的事件管理——先跑区间 diff,评估影响面,再切换;跨版本研究固定冻结时间点并写入数据卡。官方在每次发布时同步提供"变更统计"(README_stats 与 release history 页),可作为 diff 报告的基准核对源。
§7.7 DAIMS 24 项检查
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ⚠️ | 本体为长格式区间记录;基因×样本宽矩阵需下游自行构建 |
| 2 | 唯一标识 | ✅ | gene_id/transcript_id 稳定且带版本号,可作全局主键 |
| 3 | 特殊字符 | ✅ | 制表符分隔、值段引号包裹规范,无制表符内嵌值 |
| 4 | 重复行 | ✅ | 无重复特征行;外显子可共享但以 exon_id 唯一标识 |
| 5 | 缺失编码 | ✅ | 不适用字段用 “.” 占位,无魔法数字 |
| 6 | 标签标识 | ✅ | biotype/level/tag 三层标签体系,官方全表文档化 |
| 7 | 罕见类分组 | ⚠️ | TEC、ribozyme 等稀有 biotype 需按任务显式归组 |
| 8 | 偏倚评估 | ✅ | §7.1 给出研究热度/置信度偏倚及缓解 |
| 9 | 数据字典 | ✅ | biotypes/tags/FAQ/README_stats 官方文档完备 |
| 10 | 信息性缺失解释 | ✅ | 属性缺省与 NA 的语义在 FAQ/README 有据可查 |
| 11 | 设备记录 | ❌ | 不适用:无湿实验设备元数据(注释资源属性决定) |
| 12 | 共线性 | ✅ | start ≤ end 恒成立,坐标随组装版本内部一致 |
| 13 | 编码映射 | ✅ | biotype→四大类映射官方维护;HGNC/MGI 符号经 xref 管线 |
| 14 | 时间戳处理 | ✅ | 以 release 编号+冻结日期管理,无行级时间戳需求 |
| 15 | 划分建议 | ✅ | §3.0/§5 给出按任务选文件与切分建议 |
| 16 | 泄漏讨论 | ✅ | §5.3 专章讨论同基因/旁系/组装拷贝泄漏 |
| 17 | 标签分布 | ✅ | 官方 stats 页逐 biotype 公布基因/转录本分布 |
| 18 | 测量偏倚 | ⚠️ | 转录证据的批次/平台结构未随文件发布,需使用者自查证据元数据 |
| 19 | 外部验证建议 | ✅ | §7.8 给出 MANE/蛋白组/CAGE 等外部锚点 |
| 20 | 版本记录 | ✅ | 完整 release history 页 + 24h 更新 Track Hub |
| 21 | 预处理脚本 | ⚠️ | 官方无脚本;社区解析器成熟但行为差异需固定(§6.3) |
| 22 | 合规要求 | ✅ | 开放无限制,无注册/DUA 负担 |
| 23 | 多模态对齐 | ⚠️ | 与表达/变异/序列对齐需显式固定组装与 release(§6.3) |
| 24 | 去标识化 | ✅ | 无人类受试者信息,天然无需去标识化 |
DAIMS 评分:20.5 / 24
评分解读:结构化、文档化与版本化三个维度接近满分(唯一标识/字典/版本记录全 ✅),这是参考型资源的优势;失分集中在"它不是为机器学习表格化准备的数据"——宽格式、预处理脚本、多模态对齐都需要使用方补齐;设备记录一项为资源性质所决定的不适用。
对你意味着什么:(1)可以直接把 GTF 当作稳定的坐标与标签源接入管线,不必担心主键与字典问题;(2)必须自建"release 固定 + 解析器版本固定"的工程护栏,否则版本漂移会在数月后制造静默失配;(3)若做表格化/多模态训练,先补一个 GTF→Parquet 构建层,并把 release 三元组写进每条样本的元数据。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| MANE Select | NCBI + EMBL-EBI | 蛋白编码基因代表转录本跨库一致性 | 结构与序列 100% 一致 | — | MANE 项目基本完成,跨库歧义消除(Frankish et al., 2023) |
| PeptideAtlas 质谱肽 | ISB 等多机构 | 蛋白编码基因翻译证据 | 超 1/3 蛋白编码基因有肽证据(v7 时点) | — | 独立蛋白组证据支撑注释(Harrow et al., 2012) |
| CAGE(FANTOM 系列) | RIKEN 等 | 转录起始位点支持 | 35% TSS 有 CAGE 簇(v7 时点) | — | 5’ 边界外部佐证(Harrow et al., 2012) |
| polyA 位点数据 | 公共数据聚合 | 3’ 端加工位点支持 | 62% 蛋白编码基因有注释 polyA 位点(v7 时点) | — | 3’ 边界外部佐证(Harrow et al., 2012) |
| T2T CHM13 组装 | T2T 联盟 | 注释向新组装传播 | WASHC1 等基因在 T2T 上重新定位 | 部分基因定义改变 | GRCh38 上的部分旁系拷贝可能实为假基因(Frankish et al., 2025) |
| Human Protein Atlas | HPA 蛋白证据体系 | 蛋白编码基因组织表达佐证 | 每版随附 metadata.HPA 映射 | — | 蛋白证据独立于注释管线(元数据文件随版发布) |
| APPRIS | CNIO | 主异构体(principal isoform)排序 | 以 tag 形式并入 GTF | — | 结构/功能重要性独立评估,跨版本渐进扩展 |
§8 基准表现与生态
§8.1 注释质量评估里程碑
GENCODE 是参考注释而非预测系统,下表以"评估活动/收敛工程"代替常规排行榜;各行口径不同,数值不可直接比较(参考集、平台与指标逐轮变化)。
| 序 | 评估/工程 | 结果 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | RT-PCR 实验验证管线(批次 I–VI) | 覆盖逐批模型验证,GEO GSE30619 等可复核 | 2012 | 靶向 RT-PCR + 测序 | Harrow et al., 2012, Genome Research 22(9):1760-1774. DOI: 10.1101/gr.135350.111 | 不适用(湿实验) |
| 2 | MANE(NCBI+EBI 联合) | 每个蛋白编码基因一条跨库一致代表转录本 | 2023 | 双机构人工联合复核 | Frankish et al., 2023, NAR 51(D1):D942-D949. DOI: 10.1093/nar/gkac1071 | 官方页面查询 |
| 3 | LRGASP 长读长评估协作 | 识别长读长转录本建模最佳实践 | 2023 | PacBio/ONT 长读长基准 | Frankish et al., 2023, NAR. DOI: 10.1093/nar/gkac1071(协作描述) | 评估集公开 |
| 4 | 泛基因组/T2T 注释传播 | CAT 计算 + 人工补漏映射到 CHM13/HPRC | 2025 | Comparative Annotation Toolkit + liftOver | Frankish et al., 2025, NAR(GENCODE 2025). https://bura.brunel.ac.uk/bitstream/2438/30258/4/FullText.pdf | 部分开源 |
| 5 | 与 RefSeq/UniProt 蛋白收敛 | 蛋白编码基因定义跨库一致化持续推进 | 2023 | 联合审阅流程 | Frankish et al., 2023, NAR. DOI: 10.1093/nar/gkac1071 | 不适用 |
§8.2 SOTA 总结与选型建议
对"以 GENCODE 为标签源"的建模任务,当前实践共识是:(1)表达/定量类任务用 basic 注释 + 成熟定量器;(2)异构体与长读长建模以 LRGASP 评估过的工具族为起点;(3)序列模型优先复用 Enformer/SpliceAI 一类已验证的输入表征,再以 GENCODE 边界自定义标签头。没有"最好的注释版本"——只有与下游数据同源的最合适版本。
再强调一个反模式:不要把 basic 与 comprehensive 的转录本混在同一训练集里——两者是同一注释的两种视图而非两种数据,混入等价于对代表转录本重复加权,会系统性偏置异构体分布。
§8.3 评测协议
若需自行组织注释相关基准(如转录本重建评测):固定参考 release 与组装 → 声明区间匹配判定(重叠/完全一致)与层级 → 同源感知切分 → 报告基因级 P/R/F1 与 biotype 分层指标 → 全部数字附带 release 三元组。§6.9 给出了可直接复用的区间 F1 代码骨架。评测脚本与参考文件应一起冻结归档(记录 MD5),保证数年后仍可重跑并复现同一数字。
§8.4 相关数据集与资源(纯文字提及)
| 资源 | 机构 | 与 GENCODE 的关系 | 典型配合用法 |
|---|---|---|---|
| RefSeq | NCBI | 平行人工注释,经 MANE 收敛 | 变异注释双口径互校 |
| Ensembl | EMBL-EBI | 同源注释与同步发布 | REST/BioMart 取关联元数据 |
| UniProtKB | UniProt 联盟 | 蛋白层面映射(SwissProt/TrEMBL 元数据文件) | 编码转录本功能注释 |
| GTEx | NHGRI/NISC 等 | 采用 GENCODE 为参考基因集的表达项目 | 表达矩阵 + 注释联合分析 |
| TCGA | NCI | 使用 GRCh38 系注释的癌症多组学队列 | 变异/表达对齐基因空间 |
| gnomAD | Broad 等 | 采用 GENCODE 注释的变异频率库 | 变异约束与频率查询 |
| 人类细胞图谱 HCA | 国际联盟 | 细胞图谱注释采用 GENCODE 基因空间 | 单细胞数据对齐 |
| ENCODE | NHGRI 计划 | GENCODE 为其附属基因注释项目 | 调控元件 + 基因结构联合建模 |
| MGI | Jackson Laboratory | 小鼠基因命名权威(MGI 符号即注释 gene_name 来源) | 小鼠任务命名核对与表型关联 |
| HGNC | EMBL-EBI 运营 | 人类基因命名权威 | 符号标准化与历史名回溯 |
| APPRIS | CNIO | 主异构体功能排序,以 tag 并入注释 | 代表转录本选择的补充依据 |
| FANTOM CAT | RIKEN FANTOM5 | CAGE 驱动的独立转录本目录 | 注释外转录本的发现对照 |
| IMGT | IMGT 联盟 | 免疫遗传学专项数据库 | IG/TR 段与免疫组库任务复核 |
注:上表各资源的规模、许可与更新政策以各自官方说明为准,本站规范不对相关数据集添加外链;此处仅作生态定位参考。
§8.5 关键论文 Top 8
- Harrow et al., 2012, Genome Research 22(9):1760-1774. DOI: 10.1101/gr.135350.111 — ENCODE 主论文:人工+自动+实验验证的生产体系与 v7 全景统计。
- Frankish et al., 2023, NAR 51(D1):D942-D949. DOI: 10.1093/nar/gkac1071 — MANE 完成、非经典 ORF、LRGASP、泛基因组注释路线。
- Frankish et al., 2021, NAR 49(D1):D916-D923. DOI: 10.1093/nar/gkaa1087 — 小鼠人工注释首pass完成、lncRNA 人工监督自动注释。
- Frankish et al., 2019, NAR 47(D1):D766-D773. DOI: 10.1093/nar/gky955 — 参考注释体系综述(合并机制与证据原则)。
- Frankish et al., 2025, NAR(GENCODE 2025). https://bura.brunel.ac.uk/bitstream/2438/30258/4/FullText.pdf — T2T/泛基因组注释、小鼠 GRCm39 迁移收尾。
- Derrien et al., 2012, Genome Research 22(9):1775-1789. DOI: 10.1101/gr.132159.111 — GENCODE v7 人类 lncRNA 目录的奠基性分析。
- Pei et al., 2012, Genome Biology 13(9):R51. DOI: 10.1186/gb-2012-13-9-r51 — GENCODE 假基因资源与分类。
- Harrow et al., 2006, Genome Biology 7(Suppl 1):S4. DOI: 10.1186/gb-2006-7-s1-s4 — 项目试点阶段方法论原点。
§8.6 社区活跃度
- 版本节律:每年最多 4 次 release,且 24h 更新 Track Hub 持续公开增量变更——是生物信息基础设施中更新最纪律化的资源之一(Frankish et al., 2025)。
- 制度认可:获 Global Biodata Coalition 认证为 Global Core Biodata Resource(全球核心生物数据资源)。
- 用户生态:ENCODE、GTEx、TCGA、ICGC、gnomAD、1000 Genomes、HCA 等官方采用;UCSC/Ensembl 默认轨道;gencode-help@ebi.ac.uk 官方支持通道。
- 学术影响:主论文被引 5,799+(Google Scholar,截至 2026-09);GENCODE 2021 论文被引 1,458+(Google Scholar,截至 2026-09)。
- 支持与反馈:官方邮件支持(gencode-help@ebi.ac.uk)响应活跃;重大语义变更(如 PAR 标识演变)在 FAQ 与 release 说明中显式记录,社区问题可追溯。
- 工程可靠性:FTP 全部历史版本永久保留(re3data.org 收录其仓库档案),旧 release 不会下线——这对纵向研究与可复现性是关键承诺。
§8.7 生态快照表
| 资源 | 类型 | 链接 | 推荐理由 |
|---|---|---|---|
| 官方 stats 页 | 文档 | https://www.gencodegenes.org/human/stats.html | 当前 release 权威数字 |
| 官方 FAQ | 文档 | https://www.gencodegenes.org/pages/faq.html | PAR/level/basic 等全部语义澄清 |
| biotype 与 tags 页 | 文档 | https://www.gencodegenes.org/pages/biotypes.html | 标签字典(随版本更新) |
| FTP 下载 | 数据 | https://ftp.ebi.ac.uk/pub/databases/gencode/ | 全版本历史文件永久保留 |
| UCSC 基因组浏览器 | 可视化 | https://genome.ucsc.edu | 结构直观核对(注意 chr 命名差异) |
| Ensembl 基因组浏览器 | 可视化/API | https://www.ensembl.org | 默认基因注释即 GENCODE;REST API 取元数据 |
| release history 页 | 文档 | https://www.gencodegenes.org/human/releases.html | 版本-Ensembl-UCSC 对应关系权威表 |
§9 相关资源与引用
§9.1 官方资源清单
- 官方主页(项目定位、新闻、参与机构):https://www.gencodegenes.org
- 人类数据页:https://www.gencodegenes.org/human.html;小鼠数据页:https://www.gencodegenes.org/mouse.html
- 下载主站(FTP/HTTPS):https://ftp.ebi.ac.uk/pub/databases/gencode/
- 官方联系:gencode-help@ebi.ac.uk
- 文献列表页:https://www.gencodegenes.org/pages/publications.html
- 官方支持通道:FAQ 页 + 邮件支持;重大变更经 mailing list 与 Track Hub 公告
- 数据格式文档:https://www.gencodegenes.org/pages/data_format.html(GTF/GFF3 逐列与元数据格式定义)
- 标签字典:https://www.gencodegenes.org/pages/tags.html(tag 全表语义)
- 人类历史版本索引:https://www.gencodegenes.org/human/releases.html(逐版冻结日期与变更摘要)
- 许可与使用条款:EMBL-EBI Terms of Use(官网页脚);引用要求见本节 §9.3
§9.2 BibTeX 引用块
@article{harrow2012gencode,
title = {GENCODE: the reference human genome annotation for {The ENCODE Project}},
author = {Harrow, Jennifer and Frankish, Adam and Gonzalez, Jose M. and Tapanari, Electra and Diekhans, Mark and Kokocinski, Felix and Aken, Bronwen L. and Barrell, Daniel and Zadissa, Amonida and Searle, Stephen and Barnes, If and Bignell, Alexandra and Boychenko, Veronika and Hunt, Toby and Kay, Mike and Mukherjee, Gaurab and Rajan, Jeena and Despacio-Reyes, Gloria and Saunders, Gary and Steward, Charles and Harte, Rachel and Lin, Michael and Howald, C{\'e}dric and Tanzer, Andrea and Derrien, Thomas and Chrast, Jacqueline and Walters, Nathalie and Balasubramanian, Suganthi and Pei, Baikang and Tress, Michael and Rodriguez, Jose Manuel and Ezkurdia, Iakes and van Baren, Jeltje and Brent, Michael and Haussler, David and Kellis, Manolis and Valencia, Alfonso and Reymond, Alexandre and Gerstein, Mark and Guig{\'o}, Roderic and Hubbard, Tim J.},
journal = {Genome Research},
volume = {22},
number = {9},
pages = {1760--1774},
year = {2012},
doi = {10.1101/gr.135350.111}
}
@article{frankish2021gencode,
title = {GENCODE 2021},
author = {Frankish, Adam and Diekhans, Mark and Jungreis, Irwin and Lagarde, Julien and Loveland, Jane E. and Mudge, Jonathan M. and Sisu, Cristina and Wright, James C. and Armstrong, Joel and Barnes, If and others},
journal = {Nucleic Acids Research},
volume = {49},
number = {D1},
pages = {D916--D923},
year = {2021},
doi = {10.1093/nar/gkaa1087}
}
@article{frankish2023gencode,
title = {GENCODE}: reference annotation for the human and mouse genomes in 2023},
author = {Frankish, Adam and Carbonell-Sala, S{\'i}lvia and Diekhans, Mark and Jungreis, Irwin and Loveland, Jane E. and Mudge, Jonathan M. and Sisu, Cristina and Wright, James C. and Arnan, Carme and others},
journal = {Nucleic Acids Research},
volume = {51},
number = {D1},
pages = {D942--D949},
year = {2023},
doi = {10.1093/nar/gkac1071}
}
@article{derrien2012gencode,
title = {The {GENCODE} v7 catalog of human long noncoding {RNAs}: analysis of their gene structure, evolution, and expression},
author = {Derrien, Thomas and Johnson, Rory and Bussotti, Giovanni and Tanzer, Andrea and Djebali, Sarah and Tilgner, Hagen and others},
journal = {Genome Research},
volume = {22},
number = {9},
pages = {1775--1789},
year = {2012},
doi = {10.1101/gr.132159.111}
}
@article{pei2012gencode,
title = {The {GENCODE} pseudogene resource},
author = {Pei, Baikang and Sisu, Cristina and Frankish, Adam and Howald, C{\'e}dric and Habegger, Lukas and Mu, Xinmeng Jasmine and others},
journal = {Genome Biology},
volume = {13},
number = {9},
pages = {R51},
year = {2012},
doi = {10.1186/gb-2012-13-9-r51}
}
§9.3 引用指南
引用本资源时:正文中注明物种与 release 编号(如"GENCODE v50(GRCh38.p14)");文末引用对应时期论文(2021 年后数据建议引 Frankish 2023,方法学体系引 Harrow 2012);网页与 FTP 数据同样以论文为准。若使用 MANE 相关产物,同时注明 NCBI RefSeq 与 EMBL-EBI 联合产出。审稿场景常见要求是同时报告下载日期与文件 MD5——这是注释类资源引用的最低可复现标准。
§10 AI 使用声明卡
§10.1 本词条使用的 AI 模型列表
| 模型/工具 | 用途 | 使用范围 |
|---|---|---|
| 大语言模型(CodeBuddy Code 内置模型) | 资料整合、结构化撰写 | 全词条初稿撰写与格式化 |
§10.2 AI 参与范围说明
AI 负责将经核实的公开来源(官方统计页、FAQ、release history、NAR 论文摘要与全文)整合为本词条行文;全部关键数字、版本号、许可表述与坑点机制均直接对应 §10.3 所列来源;事实核验清单另存于同目录 FACTS.md。AI 未编造未经来源支撑的数字;无法核实的字段已省略或标注口径。
§10.3 输入来源列表
- Harrow, J. et al. (2012). GENCODE: The reference human genome annotation for The ENCODE Project. Genome Research 22(9), 1760-1774. DOI: 10.1101/gr.135350.111
- Frankish, A. et al. (2023). GENCODE: reference annotation for the human and mouse genomes in 2023. NAR 51(D1), D942-D949. DOI: 10.1093/nar/gkac1071
- Frankish, A. et al. (2021). GENCODE 2021. NAR 49(D1), D916-D923. DOI: 10.1093/nar/gkaa1087
- Frankish, A. et al. (2019). GENCODE reference annotation for the human and mouse genomes. NAR 47(D1), D766-D773. DOI: 10.1093/nar/gky955
- Frankish, A. et al. (2025). GENCODE 2025: reference gene annotation for human and mouse. NAR. https://bura.brunel.ac.uk/bitstream/2438/30258/4/FullText.pdf
- Harrow, J. et al. (2006). GENCODE: producing a reference annotation for ENCODE. Genome Biology 7(Suppl 1), S4. DOI: 10.1186/gb-2006-7-s1-s4
- Derrien, T. et al. (2012). The GENCODE v7 catalog of human long noncoding RNAs. Genome Research 22(9), 1775-1789. DOI: 10.1101/gr.132159.111
- Pei, B. et al. (2012). The GENCODE pseudogene resource. Genome Biology 13(9), R51. DOI: 10.1186/gb-2012-13-9-r51
- GENCODE 官方统计页(人类,v50):https://www.gencodegenes.org/human/stats.html(2026-09-16 抓取)
- GENCODE 官方统计页(小鼠,M39):https://www.gencodegenes.org/mouse/stats.html(2026-09-16 抓取)
- GENCODE 官方 FAQ:https://www.gencodegenes.org/pages/faq.html(2026-09-16 抓取)
- GENCODE 人类 release history:https://www.gencodegenes.org/human/releases.html(2026-09-16 抓取)
- GENCODE 小鼠 release history:https://www.gencodegenes.org/mouse/releases.html(2026-09-16 抓取)
- UCSC GENCODE V47/VM36 上线公告与 v47 统计:https://ucscbrowser.genap.ca//goldenPath/newsarch.html(2024-10-23 条目)
- UCSC GENCODE track 页(数据政策与资助信息):https://genome-euro.ucsc.edu/cgi-bin/hgTrackUi?db=mm10&g=wgEncodeGencodeSuper
- re3data.org GENCODE 仓库档案:https://www.re3data.org/repository/r3d100011733
- v47 GTF 实测大小(第三方镜像):https://grr.iossifovlab.com/hg38/gene_models/GENCODE/47/comprehensive/CHR/index.html
- Google Scholar 引用计数(Harrow 2012;GENCODE 2021),截至 2026-09
- EMBL-EBI 服务条款与许可口径(gencodegenes.org 页脚链接),2026-09-16 核对
- FTP 目录实测:MD5SUMMARY 文件与 release_50 目录结构,2026-09-16 核对
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §1 概览与版本时间轴 | 千方病案医学编辑部 | 对照官方 stats/release history 页逐数字核对 | ✅ 已通过 |
| §2 医学背景与 ICD-11/SNOMED 映射 | 千方病案医学编辑部 | 编码权威来源交叉核对 | ✅ 已通过 |
| §3-§4 规格与数据字典 | 千方病案医学编辑部(数据工程) | 对照官方文件页与 FAQ 逐项核对 | ✅ 已通过 |
| §6 AI 就绪指南与坑点 | 千方病案医学编辑部(数据工程) | 代码逻辑走查 + 坑点来源回溯 | ✅ 已通过 |
| §7 质量评估与 DAIMS | 千方病案医学编辑部 | 24 项逐项复核 | ✅ 已通过 |
| §8-§9 生态与引用 | 千方病案医学编辑部 | 引用逐条与 DOI 核对 | ✅ 已通过 |
§10.5 AI 生成章节标注
本词条各章节均由 AI 辅助整合公开来源撰写,人工校验覆盖全部模块(见 §10.4);关键数字溯源关系见 §10.2 与同目录 FACTS.md。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核声明一致)
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- geo — 共享标签:基因组学与多组学 / 测序数据 / 转录组
- fantom5 — 共享标签:基因组学与多组学 / 测序数据 / 转录组
- gtex — 共享标签:基因组学与多组学 / 测序数据 / 转录组
- gtex — 共享标签:基因组学与多组学 / 测序数据 / 转录组
- gnomad — 共享标签:基因组学与多组学 / 测序数据
- uniprot — 共享标签:基因组学与多组学 / 测序数据
- 1000-genomes — 共享标签:基因组学与多组学 / 测序数据
- encode — 共享标签:基因组学与多组学 / 测序数据
- hmp — 共享标签:基因组学与多组学 / 测序数据
- dbsnp — 共享标签:基因组学与多组学 / 测序数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

