AACR GENIE — 泛癌临床基因组真实世界注册库 AI-Ready Wikipedia

28.9 万+ 测序样本的泛癌临床基因组真实世界注册库

来源 美国癌症研究协会(AACR) url: https://aacrprojectgenie.org/发布时间: 2026-09-14最后更新: 2026-09-25 阅读 42
AACR GENIE — 泛癌临床基因组真实世界注册库 AI-Ready Wikipedia

信息速览

数据集名称AACR GENIE — 泛癌临床基因组真实世界注册库 AI-Ready Wikipedia
数据类型289,000+ 测序样本,242,000+ 患者,20 家国际癌症中心,MAF/TSV/BED 格式,注册后开放获取,每年两次发布
规模24.2 万+ 名患者
接入方式美国癌症研究协会(AACR) url: https://aacrprojectgenie.org/
AI 就绪度

数据集封面

AACR GENIE — 泛癌临床基因组真实世界注册库 AI-Ready Wikipedia


INFOBOX

数据集名称 AACR GENIE(基因组学证据信息交流库)
英文全称 Genomics Evidence Neoplasia Information Exchange(AACR Project GENIE)
别名/简称 AACR Project GENIE、GENIE Registry、GENIE BPC(衍生深度临床注释队列)
疾病分类 恶性肿瘤全域泛癌登记(ICD-11:2A00-2F9Z;经 OncoTree 本体映射)
SNOMED CT 经 OncoTree 官方映射至 SNOMED CT 与 ICD-9/10(如 254637007 肺原发恶性肿瘤 / 254837009 乳腺原发恶性肿瘤,详见 §2.1b)
数据模态 肿瘤靶向 panel 下一代测序(体细胞突变 / 拷贝数 / 融合)+ 有限临床结局
AI 任务类型 突变景观挖掘、生物标志物发现、肿瘤突变负荷建模、癌种分类、临床试验匹配、真实世界疗效比较
样本总数 289,000+ 测序样本 / 242,000+ 患者(20.0-public,截至 2026-09)
数据大小 多文件 TSV 发布包(扩展 MAF 突变表 + 临床样本/患者表 + CNA + 融合 + 组合 BED 面板,Synapse 托管)
数据格式 MAF(扩展格式)、TSV、BED、TXT
许可证 AACR Project GENIE 数据使用条款(受控访问;禁止未经协调中心书面许可再分发)
访问级别 注册后开放(Synapse 账号 + 接受使用条款 + Request Access)
语言 英文
首发日期 2017-01(首次公开发布 18,980 样本)
最后更新 2026-07(20.0-public;21.0-public 预计 2027-01)
发布机构 美国癌症研究协会(AACR),联合 Sage Bionetworks 与 cBioPortal
官方主页 https://aacrprojectgenie.org/
下载地址 https://genie.synapse.org/
DOI 10.1158/2159-8290.CD-16-1087(注册库概述论文)
引用次数 1,650+(GENIE 相关文献 10 年累计,AACR 2025 年报口径,截至 2025-12)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 版本化发布、panel 元数据(SEQ_ASSAY_ID + BED)与数据指南完善;扣分项:无官方训练划分与预处理脚本、panel 差异需自行建模、临床结局字段有限
页面状态 published

§0 E-E-A-T 信任声明与免责声明

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(OncoTree 与 ICD-11/SNOMED CT 映射、泛癌疾病与临床任务定义、金标准描述)、§7 偏倚分析。

数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(三表主键体系与 MAF 字段)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与 AACR、Sage Bionetworks、Memorial Sloan Kettering Cancer Center 无任何商业利益关联。本页面不销售 AACR GENIE 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。AACR GENIE 要求用户注册 Synapse 账号、接受数据使用条款后通过 genie.synapse.org 申请访问,且不得尝试识别或联系数据来源患者、不得未经 AACR Project GENIE 协调中心书面许可再分发数据。具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? AACR GENIE(Genomics Evidence Neoplasia Information Exchange,基因组学证据信息交流库)是由美国癌症研究协会(AACR)牵头、20 家国际顶级癌症中心共同参与的泛癌临床基因组注册库。各家医院把日常诊疗中已经做过的肿瘤 panel 测序结果(哪些基因发生了突变)连同基本临床信息汇总到一个数据库里,统一清洗后向全球研究者免费开放。

为什么重要? 单家医院的病例数不足以研究罕见突变和罕见癌种,而 GENIE 把多家医院的"临床级"测序数据汇集起来:截至 2026-09 的 20.0-public 版本已包含 289,000+ 测序样本、242,000+ 患者,覆盖 835 种以上癌症亚型,是国际上规模最大、持续更新的全公开肿瘤临床基因组数据集之一。它不是科研专用测序,而是真实世界临床决策中产生的数据,更贴近真实患者群体。

我能用它做什么? 你可以统计某个基因突变在特定癌种中的真实频率、为罕见癌种拼出足够大的队列、在大 panel 样本上建模肿瘤突变负荷(TMB)、研究耐药突变分布,或结合 GENIE BPC 深度临床注释队列做真实世界疗效比较。本词条的 §6 提供了从 Synapse 下载到 PyTorch 加载的完整代码与 8 个真实坑点。

§1.1 摘要

AACR Project GENIE 于 2015 年 11 月由时任 AACR 主席 Charles L. Sawyers 倡议启动,2017 年 1 月完成首次公开发布(18,980 个样本、18,500 名患者、8 家创始机构),此后每年 1 月与 7 月各发布一次版本化快照,截至 2026-09 最新 20.0-public 版本已累积 289,000+ 测序样本与 242,000+ 患者(AACR 数据页)。各参与中心在 CLIA/ISO 认证的分子病理实验室完成临床靶向 panel 测序,将高置信度体细胞变异调用(MAF/VCF 格式)、panel 范围定义(BED 文件)与有限临床字段提交至 Sage Bionetworks 的 Synapse 平台;Sage 负责数据版本管理、质控、Genome Nexus 变异注释、基于 gnomAD 人群频率的生殖系过滤与跨中心合并,随后通过 Synapse(下载)与 cBioPortal(在线浏览)双通道公开。数据按语义化版本命名(X.X-public),机构享有 6 个月专属访问期加 6 个月联盟内访问期,之后对全球开放。使用数据须引用 Cancer Discovery 2017 注册库概述论文并注明数据版本(19.0 数据指南)。

§1.2 战略价值

维度一:罕见问题的统计功效。 TCGA 等科研型项目对每种癌种的采样有限,罕见突变与罕见癌种的证据长期不足。GENIE 的定位正是"把多家医院的临床测序数据汇集起来":10 周年时注册库已超 250,000 测序样本,Charles Sawyers 指出,在如此规模下可以找到 TCGA 错过的极罕见突变患者,并追踪携带同一突变但患不同癌种的患者接受靶向药后的真实结局(Leading Discoveries 十周年报道)。对 AI 团队而言,这是构建罕见癌种分类器、罕见突变检测器时几乎唯一可扩展的公开样本来源。

维度二:真实世界的证据链条。 GENIE 的数据产生于常规诊疗而非科研协议,因此携带真实世界偏倚的同时也具备真实世界证据(RWE)价值:GENIE 数据曾被纳入 sotorasib 的监管申报证据体系(AACR 新闻页);2025 年发表的 larotrectinib 与真实世界非 TRK 抑制剂治疗的比较效果研究亦基于 GENIE 数据(JCO Precision Oncology,卷 9)。2019 年启动的 BioPharma Collaborative(BPC)由 10 家药企参与,用 PRISSMM 框架为约 8,000 名患者(Phase 1)补充了深度纵向临床注释,使基因组数据得以对接治疗时间轴与结局(MSK BPC 页面)。

维度三:AI 方法学研究的天然试金石。 对机器学习研究者,GENIE 提供了三个极少同时出现的性质:其一,跨中心异质性——20 家机构、数十种 panel、两套历史注释管线的叠加,使其成为检验"分布外泛化"与"多中心联邦学习"方法的真实战场;其二,元数据完备性——每条样本携带 SEQ_ASSAY_ID、BED 靶区、测序日期与中心代码,足以把"协变量漂移"量化到基因坐标层面;其三,持续滚动发布——每年两次快照构成天然的时间外推验证集,可研究模型在真实世界数据流上的性能衰减。这也是本词条把 panel 掩码与患者级划分作为一等公民写进 §5-§6 的原因。

§1.3 同类数据集横向对比

数据集 规模 模态 标注/临床信息 差异化定位
AACR GENIE 20.0-public 289,000+ 样本 / 242,000+ 患者 20 中心临床 panel 测序(突变/CNA/融合) OncoTree 癌型、样本类型、年龄、性别、种族、随访/死亡年份 规模最大、持续更新的全公开泛癌临床基因组注册库,每年两次发布
TCGA(MC3) 约 11,000 患者、33 癌种 全外显子/全基因组科研测序 深度临床与病理注释、配对正常对照 科研级全景注释深度高,但规模小、静态、非真实世界
GENIE BPC NSCLC 1,846 患者、CRC 1,486 患者等 6 队列 主注册库基因组 + PRISSMM 深度临床注释 治疗方案、影像/肿瘤医生评估的 PFS、OS 纵向临床结局最完整,适合真实世界疗效比较
MSK-IMPACT 公开队列(2018 Science) 约 10,000 患者、单中心 MSK-IMPACT 468 基因 panel 单中心深度临床注释 单中心同质性高,无跨中心 panel 差异问题
cBioPortal 其他公开研究 各研究数百至数千样本 单研究测序数据 各研究自定义 适合聚焦单一研究,规模与跨度不及 GENIE

§1.4 版本时间轴

版本 发布时间 规模里程碑 关键变化
1.0/1.1-public 2017-01 18,980 样本 / 18,500 患者 / 8 中心 首次公开发布;论文版记为 18,804 样本 / 18,324 患者
2.0-public 2017-11 超过 32,000 样本 新增 13,000+ 记录
3.0/4.0-public 2018-01 / 2018-07 近 40,000 → 超过 47,000 样本 参与中心持续扩容
10.1-public 2021 约 10 万样本量级 首次加入随访年份与死亡年份,支持总生存分析
11.0-public 2022-01 持续增长 数据指南更新(2022-01-07)
16.0-public 2024-06 约 15 万样本量级 数据指南重构(2024-06-25)
18.0-public 2025-07 250,018 样本 / 211,526 患者 / 835 亚型 十周年版本,注册库突破 25 万样本
19.0-public 2026-01 271,837 样本 / 227,696 患者 首次纳入 cfDNA 液体活检样本
20.0-public 2026-07 289,000+ 样本 / 242,000+ 患者 当前最新版;21.0-public 预计 2027-01

时间轴的三个跳变节点值得记住:2017-01(从零到 1.9 万,8 中心打样)、2022 前后(v10.1 引入生存字段,解锁结局研究)、2026-01(v19.0 引入 cfDNA,开启液体活检模态)。它们分别对应"数据规模、临床深度、模态广度"三类能力的跃迁。

§1.5 典型应用场景

  1. 突变频率与可行动性地图:按 panel 感知分母统计基因突变在特定 OncoTree 亚型中的真实频率,识别可用药突变人群(注册库首个分析显示超过 30% 样本携带临床可行动突变)。
  2. 罕见癌种队列构建:为收集管癌等超罕见癌种汇聚多中心样本做分子特征验证(2025 年 AACR 年会即有研究用 25 例 GENIE 样本验证 22 例自测收集管癌的 22q 缺失与 Hippo 通路失调发现)。
  3. 肿瘤突变负荷(TMB)建模:在 DFCI/MSK/VICC 大 panel(约 1 Mb 以上覆盖)样本上训练 TMB 相关预测模型。
  4. 临床试验匹配与人群测算:估算特定突变(如 TP53 R175H,在 18 万+ 肿瘤中约占 2%)的地址人群规模,支持肿瘤无关(tumor-agnostic)试验设计。
  5. 真实世界疗效比较:结合 GENIE BPC 队列的治疗时间轴与 PFS/OS 结局,做外部对照臂或比较效果研究。

场景与坑点的对应关系:场景 1/2 直接受坑点 1(分母)与坑点 6(粒度)制约;场景 3 受坑点 2 制约;场景 4/5 受坑点 3(去重)与坑点 8(BPC 合并)制约。动手前先读对应坑点,能把返工率降到最低。


§2 医学背景

§2.1 ICD-11 疾病编码映射

GENIE 使用 MSK 开发的 OncoTree 本体作为癌型主索引(官方提供至 SNOMED、ICD-9/10 的映射),下表给出注册库主要癌种与 ICD-11 的对应关系:

癌种(OncoTree 常用类目) ICD-11 编码 ICD-11 中文名
非小细胞肺癌(NSCLC) 2C25 气管、支气管或肺恶性肿瘤
乳腺浸润性癌(BRCA) 2C60 乳腺恶性肿瘤
结直肠癌(COADREAD) 2B91 / 2B92 结肠恶性肿瘤 / 直肠恶性肿瘤
胰腺癌(PAAD) 2C10 胰腺恶性肿瘤
皮肤黑色素瘤(SKCM) 2C30 皮肤黑色素瘤
前列腺癌(PRAD) 2C82 前列腺恶性肿瘤
膀胱癌(BLADDER) 2C94 膀胱恶性肿瘤
肝胆系统癌(HCC/CHOL 等) 2C12 / 2C13 肝细胞癌 / 胆道恶性肿瘤
泛癌登记(全库) 2A00-2F9Z 恶性肿瘤全域(835 种以上 OncoTree 亚型,v18.0)

§2.1b SNOMED CT 映射表

OncoTree 标签 ICD-11 SNOMED CT 码 SNOMED 术语
Lung adenocarcinoma / NSCLC 2C25 254637007 Primary malignant neoplasm of lung(肺原发恶性肿瘤)
Breast cancer(BRCA) 2C60 254837009 Primary malignant neoplasm of breast(乳腺原发恶性肿瘤)
Colon adenocarcinoma 2B91 363406005 Malignant tumour of colon(结肠恶性肿瘤)
Pancreatic cancer 2C10 65966004 Malignant tumour of pancreas(胰腺恶性肿瘤)
Melanoma 2C30 372244000 Malignant melanoma(恶性黑色素瘤)
Prostate cancer 2C82 399068003 Malignant tumour of prostate(前列腺恶性肿瘤)

注:GENIE 数据文件中的 CANCER_TYPE 取值为 OncoTree 代码,研究者需借助 OncoTree 官方工具 完成到 SNOMED/ICD 的最终映射;不同版本的 OncoTree 层级与编码会随时间演进,详见坑点 6。

§2.2 疾病简介与流行病学

GENIE 是泛癌注册库,不针对单一疾病,而是覆盖恶性肿瘤全域的真实世界分子快照。其癌种构成交由参与中心的临床测序实践决定:肺癌、乳腺癌、结直肠癌等"测序驱动治疗决策"的癌种样本最多——v1.1 时期非小细胞肺癌(2,985 样本)、结直肠癌(2,081)与黑色素瘤(785)即居前列;到 18.0-public,肺癌累计 31,812 名患者 / 37,763 个样本,乳腺癌 18,463 名患者 / 21,002 个样本(含 204 个男性患者样本),胰腺癌 10,227 名患者 / 10,684 个样本(AACR Featured Cancers)。高频突变基因谱与文献一致:肺癌以 TP53、KRAS、EGFR、STK11 为主,乳腺癌以 TP53、PIK3CA、GATA3、CDH1 为主,胰腺癌以 KRAS、TP53、CDKN2A、SMAD4 为主。约 0.1% 的 GENIE 样本与 TCGA 重叠(AACR FAQ),两个数据源可近似视为互补而非重复。

从流行病学视角解读这组数字需要警惕"临床测序漏斗"的三层筛选:第一层是就医渠道——GENIE 样本几乎全部来自北美与欧洲的学术癌症中心,晚期与难治性患者占比远高于人群发病率结构;第二层是测序指征——各中心只为"测序结果会改变决策"的癌种与场景开单,因此 NSCLC(指南级驱动基因)与未知原发灶等富集,而常见但测序价值有限的癌种相对偏少;第三层是时间窗——2015 年前后的 panel 与 2025 年的 panel 覆盖面差异巨大,早期样本集中在少数大 panel 中心。理解这个漏斗,才能正确使用 GENIE 回答"真实世界中的突变频率"——答案取决于你定义的真实世界分母(见坑点 1)。此外,GENIE 覆盖 835 种以上 OncoTree 亚型(v18.0),这一长尾正是其区别于单癌种队列的核心价值:对收集管癌、阑尾癌等罕见癌种,GENIE 常常是公开可得的唯一较大样本源。

§2.3 临床任务定义

  • 分子诊断与治疗分层:注册库记录的直接临床场景是"测序指导治疗"——各中心对晚期或难治患者做 panel 测序,匹配靶向药或临床试验;注册库首个可行动性分析发现约 7% 样本匹配标准治疗、另约 7% 匹配跨适应证标准治疗(AACR 2017 年会报道)。
  • 预后建模:v10.1 起提供随访年份与死亡年份,可做总生存相关建模;更精细的无进展生存需使用 GENIE BPC 队列。
  • TMB 与免疫治疗标志物研究:大 panel 样本的 mut/Mb 分布可近似 WES 级 TMB(详见坑点 2)。
  • 癌种分类/溯源:以突变矩阵预测 OncoTree 癌型,是跨中心泛化能力的天然试金石。

从 AI 任务设计的角度,这四类任务对数据的要求依次升高:突变频率统计只要求正确的分母(掩码);TMB 建模要求 panel 面积元数据;预后建模要求结局字段(年精度)与删失处理;疗效比较则基本需要迁移到 BPC。本词条的任务覆盖度与该阶梯一致——§6.3-§6.4 完整支持前两类,§6.9 给出第三类的评估要点,第四类以坑点 8 的协议指引为主。

§2.4 患者人群表

属性 描述
来源 20 家国际癌症中心的常规肿瘤门诊与住院患者(北美与欧洲为主:美国、加拿大、英国、法国、荷兰、西班牙等)
时间跨度 2015 年注册库启动至今,样本测序日期随各中心临床实践回溯与推进
就医类型 三级转诊的学术癌症中心,晚期、难治与寻求靶向治疗的患者占比高
年龄 以测序时年龄(AGE_AT_SEQ_REPORT)记录,成人为主
性别 SEX 字段记录;乳腺癌库中含 204 个男性样本(18.0-public)
种族 RACE/ETHNICITY 字段,填报完整度不均(详见 §7.5)
癌种分布 835 种以上 OncoTree 亚型(v18.0),测序驱动的常见癌种富集

§2.5 临床价值

对临床研究者,GENIE 提供三个不可替代的价值:其一,真实世界突变频率——在"所有做过临床测序的患者"这一分母上回答"某突变到底多常见",而非科研入选人群;其二,跨机构罕见证据——同一罕见突变在不同癌种中的分布可以指导泛癌种靶向药(如 NTRK 抑制剂)的适应证拓展与人群测算;其三,监管级 RWE 先例——数据已进入 sotorasib 监管申报证据链与 larotrectinib 真实世界比较研究(AACR 新闻页),证明其可用于产生监管关注的真实世界证据。对医院信息科与 AI 团队,GENIE 的 OncoTree 标准化、双平台版本化发布与完整 panel 元数据,使其成为搭建院内"测序数据 ↔ 临床结局"学习系统时的参照架构。一个被低估的用法是"注册库当外部对照臂":当你的机构开展单臂试验或新技术评估时,GENIE 中携带相同分子标志的历史患者可作为天然外部对照(larotrectinib 研究即此范式),这要求你的院内数据模型与 GENIE 的字段语义对齐——从 OncoTree 编码、样本类型枚举到 panel 记录方式,本词条 §4 的字段字典可以直接作为映射蓝本。

§2.6 金标准与标注方式

维度 描述
变异判读金标准 各中心 CLIA/ISO 认证分子病理实验室的临床级变异调用(非科研复测序),注册库不做二次变异重判
癌型标注 各中心按自身 OncoTree 指派策略人工赋予 CANCER_TYPE/CANCER_TYPE_DETAILED,协调中心提供指派指南
变异注释 Release 1-8 用 VEP + vcf2maf;Release 9 起统一由 Genome Nexus 注释(AACR FAQ)
生殖系过滤 Tumor-only 样本经 gnomAD 人群频率(≥0.0005)过滤,保留 JAK2 p.V617F 与 DNMT3A p.R882H
标注者资质 各中心临床分子病理团队;协调中心(AACR + Sage)执行月度质控复核与发布前校验
质控流程 测序日期窗口校验、BED 坐标内过滤、参考等位基因校验、MNVAR in-cis 标记、发布 dashboard 与人工复核(CD-21-1547)

表中没有"ML 训练标签"这一行是有意的:GENIE 的全部字段都是"临床事实的登记"而非"为建模而设的标注",标签质量讨论(如金标准一致性)应替换为"登记质量"讨论——这也是真实世界数据与标注数据集在方法学上的根本差异。把它当标注集用的人会遇到粒度漂移,把它当登记库用的人则能从元数据完整性中获得巨大红利。


§3 数据集规格

§3.0 版本抉择矩阵

GENIE 每年两次快照式发布且衍生资源众多,动手前先按下表选版本:

你的需求 推荐版本 获取通道 理由
最大规模突变景观 / 最新 cfDNA 20.0-public(2026-07,289,000+ 样本) Synapse 主注册库 样本最多、首次含液体活检(19.0 起)
可复现论文基线(多数已发表论文口径) 18.0-public(250,018 样本 / 211,526 患者) Synapse 历史版本文件夹 与 2025-2026 年大量文献可比
需要生存结局的最小可用集 10.1-public 及以上任一版本 Synapse 历史版本 v10.1 起含随访/死亡年份
治疗方案、PFS/OS 等深度纵向临床数据 GENIE BPC(NSCLC 2.0、CRC 2.0、BRCA/PANC/Prostate/Bladder 1.0-public) Synapse BPC 项目 PRISSMM 框架深度注释,独立申请入口
在线浏览、无需本地算力 任意最新版 cBioPortal 免下载,交互式查询与可视化
长期追踪数据演化 / 监管类分析 同一版本号冻结 + 版本对照 Synapse 版本化实体 版本语义化命名,支持跨版本回溯

§3.1 模态详情

体细胞突变(全中心):以 cBioPortal 扩展 MAF 格式提交的数据_mutations_extended 表是核心模态,包含单核苷酸变异与小片段插入缺失的高置信度临床级调用,经 Genome Nexus 统一注释(Hugo_Symbol、Variant_Classification、HGVSp_Short 等列)。拷贝数(部分中心):data_CNA 提供基因级离散拷贝数(GISTIC 风格 -2 至 +2),v1.1 时期仅 3 个中心提交。结构变异/融合(部分中心):data_fusions 记录基因融合与重排,v1.1 时期 2 个中心提交,随版本演进覆盖面扩大。cfDNA(19.0 起新增):液体活检样本进入注册库,组织与血液样本需区分处理。临床属性(全中心):样本级(癌型、样本类型、panel ID、测序日期、年龄)与患者级(性别、种族、随访/死亡年份)两张表。不包含:原始 BAM/FASTQ(出于隐私不共享)、生殖系变异调用、影像与病理切片(PMC5611790)。

§3.2 按子集样本数表

18.0-public 口径的主要癌种规模(AACR Featured Cancers,截至 2025-07):

癌种 患者数 样本数 高频突变基因
肺癌 31,812 37,763 TP53、KRAS、EGFR、STK11
乳腺癌 18,463 21,002(含 204 男性样本) TP53、PIK3CA、GATA3、CDH1
胰腺癌 10,227 10,684 KRAS、TP53、CDKN2A、SMAD4
肝胆癌 1,176 1,251 TP53、CTNNB1、TERT、ARID1A、NFE2L2
阑尾癌 967 1,015 KRAS、TP53、GNAS、SMAD4

v1.1 时期的机构贡献结构(供理解中心偏倚):MSK 7,341 样本、DFCI 6,137 样本,其余 6 家创始机构各贡献 505-1,296 样本(PMC5611790)。

v1.1 时期的癌种头部子集(论文口径):

癌种 样本数 说明
非小细胞肺癌 2,985 头部癌种,EGFR/ALK/KRAS 检测驱动测序
结直肠癌 2,081 RAS/BRAF 检测驱动
黑色素瘤 785 BRAF/NRAS 与免疫标志物研究富集
其余 50+ 癌种 合计约 13,000 长尾分布的雏形

两个时期的对比显示九年间头部癌种样本量放大约 10-13 倍,而长尾亚型种类从 59 种主要癌型(2017 首发报道口径)扩展到 835 种以上亚型——长尾的加长比头部的加粗更能说明注册库对罕见癌种研究的外溢价值。

§3.3 格式表

文件 格式 内容 覆盖范围
data_mutations_extended.txt 扩展 MAF(TSV) 体细胞 SNV/indel,Genome Nexus 注释 全部中心
data_clinical_sample.txt TSV 样本级临床属性(CANCER_TYPE、SAMPLE_TYPE、SEQ_ASSAY_ID、SEQ_DATE 等) 全部中心
data_clinical_patient.txt TSV 患者级属性(SEX、RACE、ETHNICITY、随访/死亡年份) 全部中心
data_CNA.txt TSV 矩阵 基因级离散拷贝数 部分中心
data_fusions.txt TSV 基因融合/结构变异 部分中心
组合 BED 文件 BED 各 SEQ_ASSAY_ID 的靶区坐标(panel 范围) 全部 panel
Release notes / dashboard PDF/HTML 版本摘要、样本与变异分布、Top 突变基因 每版随附

格式层面 GENIE 坚持了十年不变的两件事值得点赞:MAF 长表 + TSV 临床表的 cBioPortal 文件格式约定(因此任何 cBioPortal 工具链都直接可用),以及 BED 面板与样本表的 SEQ_ASSAY_ID 关联约定(因此 panel 感知分析永远可做)。风险同样在此:任何下游分析实际上同时依赖"官方数据"与"cBioPortal 格式生态"两套事实,格式生态若有变动(如新字段引入),社区工具的兼容性会滞后于数据发布——跨版本升级时先跑一遍空跑解析(dry-run parse)是廉价保险。

§3.4 存储大小

GENIE 采用多文件 TSV 发布包形式随版本增长,无官方单值体积口径;体量主要由 data_mutations_extended 主导,从 v1.1 的 18,804 样本量级增长到 20.0-public 的 289,000+ 样本量级。建议在本地预留 50 GB 以上磁盘空间并按需下载单版本文件夹,而非整库镜像。Synapse 支持按文件夹/文件粒度下载,避免一次性拉取全部历史版本。

内存规划比磁盘更关键:data_mutations_extended 的行数是样本数的数十倍量级(与 panel 大小和 TMB 相关),整表读入 pandas 建议至少 64 GB 内存;仅有 16-32 GB 时,用 pd.read_csv(..., usecols=[...]) 只读 §4.1 列出的核心列,或改用 Polars/DuckDB 做 Lazy 扫描——把 MAF 当作"可以列裁剪的宽表"而不是"必须全读的日志",是处理百万行级 MAF 的第一原则。构建好的样本×基因矩阵(289,000 × 500,float32)仅约 0.6 GB,训练阶段内存压力反而很小。

§3.5 标注方式

  • 变异注释:自动化流水线——提交 VCF 转换为 MAF 后由 Genome Nexus 注释(Release 9 起),字段包括 Variant_Classification、HGVSp_Short、功能影响等;Release 1-8 为 VEP + vcf2maf。
  • 癌型标注:人工指派——各中心按数据指南中的 “Center Strategies for OncoTree Assignment” 章节自行决定映射到 OncoTree 的层级与粒度,这是跨中心癌型粒度差异的来源。
  • 生殖系标签:自动化过滤——无生殖系"真值"标注,仅按 gnomAD 频率阈值剔除,属于弱监督性质。
  • panel 元数据:半自动——SEQ_ASSAY_ID 由中心上报,协调中心要求每个 assay 提供对应 BED 文件并做坐标校验。
  • 结局字段:行政登记——随访/死亡年份由中心按年度维护,粒度粗但由官方统一派生,跨中心可比性好。

§3.6 标注者资质与一致性

变异调用产生于各中心 CLIA/ISO 认证的分子病理实验室,属于临床报告级输出而非科研重现;癌型由各中心肿瘤临床团队按 OncoTree 指派策略人工赋予。协调中心(AACR 协调中心 + Sage Bionetworks)每月与各中心对账解决校验问题,发布前进行样本过滤器、变异过滤器与发布后质量检查(CD-21-1547)。需要注意:不同中心对同一癌种的 OncoTree 粒度指派存在系统性差异(如某些中心只给到 NSCLC 层级、另一些给到肺腺癌层级),一致性研究显示头部三个癌种的跨中心突变谱总体一致(PMC5611790)。

§3.7 采集周期

采集链条的完整时间线:患者在参与中心就诊并接受临床 panel 测序(SEQ_DATE)→ 中心按半年批次提交至 Synapse → Sage 质控与合并 → 机构专属 6 个月 → 联盟内 6 个月 → 公开发布。登记库 2015-11-06 启动,2017-01-05 首次公开(18,980 样本),此后每年 1 月与 7 月各发布一次主版本;各中心在数据提交后享有 6 个月专属访问期与 6 个月联盟内访问期,之后进入公开发布池。样本的测序日期(SEQ_DATE,精确到年月)跨度可早于注册库启动时间,反映各中心历史临床测序存量的回补。

这一节奏对研究设计有两层含义:其一,任何"截至 XX 版本"的队列都是移动靶——论文投稿到发表之间可能已有两个新版本,引用时必须锁定版本号;其二,半年粒度为时间序列研究提供了自然的"事件批次",可以研究"新药获批前后可行动突变检测量的变化"这类准实验问题(注册库数据曾支撑 sotorasib 监管申报即为例证),但要注意机构 6+6 个月的缓存期会让"最新临床实践"在公开数据中滞后 6-12 个月出现。

§3.8 地域覆盖

20 家参与机构集中于北美与欧洲:美国(MSK、DFCI、MD Anderson、JHU、Vanderbilt、Yale、Duke、UCSF、UChicago、CHOP、Columbia、Providence、Swedish、Wake Forest、Miami 等)、加拿大(Princess Margaret/UHN)、英国(CRUK Cambridge)、法国(Gustave Roussy)、荷兰(Netherlands Cancer Institute)、西班牙(VHIO)(19.0 数据指南)。该构成本身即是重要偏倚源:非西方人群在 RACE 字段中的占比有限(见 §7.5)。

§3.9 设备与 assay 规格

维度 规格
panel 类型 杂交捕获大 panel(如 MSK-IMPACT341/410/468、DFCI 系列、VICC-01-SOLIDTUMOR,275-429 基因、覆盖外显子与部分内含子)与扩增子/hotspot 小 panel(如 JHU-500STP、JHU-50GP、UHN-48-V1,约 50 基因热点区)并存
panel 记录 每个 SEQ_ASSAY_ID 对应组合 BED 文件中的靶区坐标;v1.1 时期 12 种 panel(≥50 样本)共享 44 个核心基因
测序模式 绝大多数为 tumor-only;少数中心配对 tumor/normal;19.0 起新增 cfDNA
实验室认证 CLIA/ISO 认证临床分子病理实验室
元数据 每条基因组记录携带测序平台与变异调用流水线元数据(Synapse 溯源)

panel 的"版本演进"维度同样重要:同一中心的 panel 随年份升级(MSK-IMPACT341→410→468 是最著名的例子),升级意味着同名字段下的检测能力改变。跨时间分析某一基因时,必须把"该基因进入该中心 panel 的时间"纳入考虑——组合 BED 文件按 SEQ_ASSAY_ID 而非按中心组织,正是为了让研究者能精确到 assay 粒度重建检测能力时间线。反过来说,任何把"中心"当作原子协变量的分析都在隐式假设"中心内检测能力恒定",在跨越 panel 升级节点的时间段内该假设不成立,应改用 SEQ_ASSAY_ID 作为最细协变量粒度。

§3.10 深度溯源链

GENIE 的溯源设计是同类注册库的标杆:样本层——每条样本关联中心代码(序列条形码前缀)、SEQ_ASSAY_ID 与 SEQ_DATE;文件层——Synapse 平台为每次提交记录版本与贡献者,形成 6 个月机构专属 → 6 个月联盟内 → 公开的三段式时间线;处理层——Sage 的合并、注释与过滤流水线版本随发布记录,Release notes 与 dashboard 记录每版的样本/变异分布、Top 突变基因与临床属性分布(CD-21-1547);使用层——引用义务要求注明数据版本号,使结论可以精确锚定到某次快照。研究者应将"版本号 + SEQ_ASSAY_ID + SEQ_DATE"作为任何分析的三要素元数据。

这四层溯源的实际价值在"出问题时"才显现:当你发现某批样本的突变率异常,可以沿"条形码前缀 → 中心 → SEQ_ASSAY_ID → BED 版本 → 提交批次"逐层下钻,定位到具体中心的某次 assay 变更或某次提交的质控疏漏;GENIE 的 patch 版本机制(X.Y-patch,含数据撤回)保证了这类修正可以以受控方式进入后续发布。把这套溯源键固化进你自己的数据仓库(而非只存在于原始 TSV),是长期项目中回报最高的工程投资之一。


§4 数据结构

§4.0 目录树

以下为 20.0-public 版本从 Synapse 下载解压后的典型文件结构(文件名以实际 release 为准):

aacr-genie-20.0-public/
├── data_mutations_extended.txt      # 核心:体细胞突变扩展 MAF(数百 MB 量级,行数百万级)
├── data_clinical_sample.txt         # 样本级临床表(每行一个测序样本)
├── data_clinical_patient.txt        # 患者级临床表(每行一名患者)
├── data_CNA.txt                     # 基因级离散拷贝数矩阵(部分中心样本)
├── data_fusions.txt                 # 融合/结构变异(部分中心样本)
├── genie_combined_bed_files/        # 各 SEQ_ASSAY_ID 的 BED 靶区文件
│   ├── MSK-IMPACT468.bed            # 每个 panel 一个 BED 文件(文件名即 SEQ_ASSAY_ID)
│   ├── VICC-01-SOLIDTUMOR.bed
│   ├── JHU-500STP.bed
│   └── UHN-48-V1.bed
├── assayed_samples / approved_samples 相关合并文件
├── GENIE_release_notes_<version>.pdf
├── GENIE_data_guide_<version>.pdf   # 数据指南(必读)
└── README / 元数据与溯源说明

两点阅读提示:其一,文件清单可能随版本微调(例如 19.0 起与 cfDNA 相关的附加文件),以当版 README 与数据指南为准;其二,全目录无深层子目录嵌套——GENIE 的复杂性在"列"而不在"文件树",这也是它比 DICOM 类影像数据集更容易被表格工具消化的原因。

§4.1 DAIMS 字段字典(核心表)

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
Patient_Id str 患者唯一主键(脱敏) GENIE-YYYY-XXXX 患者级去重与划分 无(协调中心保证) 无 字符串
Sample_Id str 样本唯一主键 GENIE-YYYY-XXXX-YY 样本级关联 无 无 字符串
Tumor_Sample_Barcode str 原始样本条形码(含中心前缀) P-00XXXXXX-T01-XXXX 中心识别(前缀) 跨版本可能修正 无 字符串
SEQ_ASSAY_ID str 测序 panel 标识 MSK-IMPACT468 panel 掩码构建(关键) 同一 assay 可能多版本 无 组合 BED 内枚举
CANCER_TYPE str OncoTree 癌型代码 NSCLC 分类标签 中心间粒度不一致 无 OncoTree 枚举
SAMPLE_TYPE str 样本类型 Primary / Metastatic 空间异质性特征 个别未填报 Unknown 枚举
SEQ_DATE date(年月) 测序日期 2019-06 时间切分/漂移监控 精度仅到月 无 2000s 至今
AGE_AT_SEQ_REPORT int 测序时年龄(岁) 67 人口学特征 少数异常值 NA 0-100+
Hugo_Symbol str 基因符号(MAF) KRAS 特征维度 基因名版本随注释管线演进 无 HGNC 枚举
Chromosome str 染色体(MAF) 12 坐标级定位 命名风格跨版本统一由流水线处理 无 1-22/X/Y
Reference_Allele str 参考等位基因(MAF) C 坐标校验后保留 流水线已过滤不匹配项 无 A/C/G/T
Tumor_Seq_Allele2 str 肿瘤替代等位基因(MAF) T 等位基因级分析 无 无 A/C/G/T
Variant_Classification str 变异功能分类(MAF) Missense_Mutation 突变类型特征 注释管线切换历史差异 无 MAF 枚举
HGVSp_Short str 蛋白质级变异(MAF) p.G12D 等位基因级分析 部分变异无蛋白级映射 NA 字符串
Start_Position int 变异起点坐标(MAF) 25398281 坐标级去重/合并 参考基因组版本差异 无 基因组坐标
SEX / RACE / ETHNICITY str 患者人口学(患者表) Female / White 公平性分析 填报完整度不均 Unknown / NA 枚举
随访年份 / 死亡年份 int OS 结局(患者表,v10.1 起) 2021 / 2021 生存分析 仅年到年精度,删失粗 NA 2000s 至今

§4.2 标签分布

CANCER_TYPE 分布高度长尾:头部为肺癌(18.0 时 37,763 样本)、乳腺癌(21,002)、结直肠癌、胰腺癌(10,684)等临床测序常规癌种,尾部为数以百计、每个仅个位数到数十位样本的罕见亚型(全库合计 835 种以上亚型)。以突变矩阵做癌种分类时,建议按 OncoTree 层级折叠到 L3(2025 年肿瘤组织特异性研究即采用该策略以保证统计功效,chen_biorxiv_2025)。SAMPLE_TYPE 上,转移灶样本占比可观(注册库设计初衷即包含原发/转移区分),建模时可作为空间异质性协变量。

长尾分布带来的实际约束:任何"按癌种训练单模型"的方案在尾部必然失效,更稳妥的三层策略是——头部 10 类各自建模、中部 50 类共享表征(multi-task)、尾部不单独预测而是作为"其他"并通过相似度检索兜底;分布本身也要作为发布间漂移指标跟踪,头部占比变化超过阈值即触发重训评审。

§4.3 关键统计

  • 样本与患者比约 1.19:1(250,018 样本 / 211,526 患者,v18.0),即约五分之一患者有多个测序样本(序列活检或不同病灶)。
  • v1.1 时期 12 种 panel(≥50 样本)仅共享 44 个核心基因;大 panel(DFCI/MSK/VICC)14,310 个样本构成 TMB 可分析子集。
  • 注册库首个可行动性分析:约 7% 样本匹配标准治疗、另约 7% 匹配跨适应证标准治疗;超过 30% 样本携带 FDA 已批准药物针对或临床试验测试中的突变(2017 年口径)。
  • 头部突变基因谱:TP53 几乎在所有实体瘤高频出现,其余依癌种为 KRAS(胰腺/结直肠/肺)、PIK3CA(乳腺)、EGFR/STK11(肺)、APC(结直肠)等。
  • 临床试验匹配广度:注册库早期分析显示几乎每个样本都能匹配到至少一项生物标志物驱动的临床试验,匹配数与各癌种样本量正相关,NSCLC 匹配数最多(AACR 2017 年会口径)。
  • TMB 高分位锚点:大 panel 子集全癌种 90 分位约 12.3 mut/Mb,可作为"高 TMB"粗筛阈值的参照(阈值本身依 panel 而异,见坑点 2)。
  • 跨库一致性:与 TCGA MC3 的基因级频率对比显示头部癌种 RMSD 接近对角线,GENIE 频率整体略低(分母为全临床测序人群而非入选人群)。

§4.4 数据层级

GENIE 的数据层级为四级树:患者(data_clinical_patient)→ 测序样本(data_clinical_sample)→ 测序 panel(SEQ_ASSAY_ID + BED)→ 体细胞变异(data_mutations_extended,MAF 长表)。与影像数据集的"患者→检查→序列→切片"不同,这里的"分支因子"来自同一患者的多次活检/多病灶测序(患者→样本 ≈ 1:1.19)与同一样本上的数百条变异行(样本→变异从个位数到上千条不等,取决于 panel 大小与肿瘤突变负荷)。所有跨表连接以 Patient_Id / Sample_Id / Tumor_Sample_Barcode 为键,MAF 行不含患者级信息,必须显式 join 样本表。

条形码(Tumor_Sample_Barcode)值得单独说明:它保留了各中心的原始编码习惯,前缀即中心标识,中段常编码患者/样本序号与检测序号。这带来两个实践要点——好处是可从条形码直接恢复"来源中心"这一关键协变量而无需额外查表;风险是条形码格式跨中心异构且历史上有过修正,任何按位切分条形码的解析逻辑都应写成"可容错 + 单元测试覆盖各中心样例",更稳的做法是用官方样本表的 Sample_Id/Patient_Id 做主键、条形码仅作来源标记。

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

字段 缺失形态 语义 处理建议
RACE / ETHNICITY Unknown / NA / 空白 中心未采集或患者未申报;非均匀缺失,直接关联健康公平议题 公平性分析时显式建模缺失机制,勿做简单众数填充
SAMPLE_TYPE Unknown 原发/转移状态不可得,属信息性缺失(常因外院会诊样本) 可保留为独立类别
临床结局(随访/死亡年份) NA 未获随访或随访未满 生存分析时按删失处理,勿当事件缺失
CNA / 融合 整表对多数样本无行 该样本所在中心不提供该模态——是"未检测"而非"野生型" 构建 CNA/融合特征时必须用 panel 掩码排除未检测样本
HGVSp_Short NA 同义/内含子/非编码变异无蛋白级映射 等位基因级分析前过滤或单独编码
CANCER_TYPE_DETAILED 空白 中心未指派更细粒度亚型(粒度偏好见坑点 6) 使用前先做 OncoTree 粒度对齐
随访年份(死亡年份为空) NA 患者在世或随访未及死亡事件 生存分析按右删失处理
SEQ_DATE 无 全字段填报(质控强制项) 可放心用作时间轴

关键原则:GENIE 中"某基因无突变记录"有三种含义——panel 未覆盖(未检测)、panel 覆盖但未检出(真阴性)、检出后被生殖系过滤(被剔除)。只有 BED 掩码能区分这三种情况,任何"突变频率"统计都应建立在对应 panel 已检样本的分母上(见坑点 1)。


§5 数据划分与使用建议

§5.1 官方划分

GENIE 不提供官方训练/验证/测试划分——它是持续滚动的注册库快照,而非静态基准。任何"在 GENIE 上的准确率"表述都必须附带版本号、划分方案与去重规则,否则不可复现。

这不是缺陷而是定位使然:注册库的价值在"持续累积的真实世界登记",基准化会引入为划分而设计的选择协议,反而扭曲登记人群。因此社区形成了"自报协议、绑定版本"的默契——文献中可见的划分方案已在 §5.2 汇总,你的论文应选择其一并完整披露三个要素(版本号、分组键、切分比例)。

§5.2 社区惯例划分

  • 按患者划分:以 Patient_Id 分组划分 train/val/test,确保同一患者的所有样本与变异行同侧(社区公认底线)。
  • 按时间划分:以 SEQ_DATE 切分(如 2022 年前训练、2022-2023 验证、2024 后测试),模拟"历史数据训练、未来患者应用"的真实部署。
  • 按中心划分(leave-one-center-out): held out 整个中心评估跨机构泛化,是检测 panel 差异与中心偏倚的严格协议。
  • 按 panel 划分(leave-one-panel-out):held out 一类 panel(如全部 hotspot-only panel),检验模型对"特征可用性分布变化"的鲁棒性——这比按中心划分更直接命中 panel 差异这一主要混淆源。
  • 按发布周期划分:以 2026-01(19.0)为训练截止、2026-07(20.0)新增样本为验证,但必须剔除两版共有患者,只保留净新增——实现难度高,仅用于发布节奏研究。

选择建议:单选"按患者"是底线配置;报告时最好同时给出"按患者 + 按时间"双协议结果,两者差距本身就是有价值的报告对象(它量化了时间漂移的影响)。

§5.3 泄漏风险(重点)

  1. 患者内泄漏:同一患者的序列活检样本突变谱高度相似,随机按样本划分会显著虚高指标——务必患者级分组。
  2. 版本间泄漏:相邻两次发布共享绝大多数患者;用 19.0 训练、20.0 测试的"跨版本验证"几乎全部是训练样本,不构成泛化证据。
  3. 特征泄漏:CANCER_TYPE_DETAILED 等衍生字段可能编码了测序中心信息(各中心指派粒度不同),以癌型分类为目标时避免使用中心可识别字段做特征。
  4. BPC 与主库交叉泄漏:BPC 患者是主注册库患者的子集,两源混用时必须先做患者并集去重再划分。

§5.4 交叉验证建议

推荐嵌套方案:外层按患者分组的 5 折 CV + 内层按 SEQ_DATE 的时间早停;报告时同时给出整体指标与 per-center、per-panel 分层指标。对罕见癌种任务,采用 OncoTree 层级折叠后的分组 CV,避免 L5 亚型的零样本折。

执行细节三则:其一,分层变量用折叠后的 OncoTree L3 而非原始 CANCER_TYPE,否则折内类分布漂移会让 macro 指标不稳定;其二,任何特征工程(含基因选择)都必须在每折训练集内重新拟合,"全库先选 Top 500 基因再 CV"是隐蔽的乐观偏差;其三,把每个样本属于哪个 fold 落盘成固定 CSV,跨实验、跨模型复用同一划分,这是团队内指标可比的前提。

§5.5 外部验证建议

优先顺序:TCGA MC3(全外显子、独立人群,跨库一致性协议见 CD-21-1547)→ GENIE BPC 队列(同源但深度注释,检验纵向特征)→ MSK-IMPACT 2018 公开队列(单中心大 panel)→ 本机构内测数据(最终落地验证)。注意 TCGA 与 GENIE 重叠约 0.1%,重叠样本应在跨库验证前剔除或明确记录。


§6 AI 就绪指南

§6.0 云端快速启动

GENIE 托管在 Sage Bionetworks 的 Synapse 平台,云端与本地流程一致:注册账号 → 双因子认证 → 创建 Personal Access Token(PAT)→ Python SDK 下载。以下命令在任意 Jupyter/Colab 环境可运行(数据访问权限需提前在网页端接受条款获得):

# 环境:Python 3.10+;安装 Synapse Python 客户端
pip install synapseclient pandas pyarrow scikit-learn torch

偏好 R 的团队有官方捷径:GENIE BPC 队列可直接用 {genieBPC} 包拉取(见坑点 8 与 §8.7),主注册库也可用 Sage 官方 R 客户端;Python 与 R 共享同一 Synapse 账号体系与 2FA/PAT 要求,凭证配置一次两端通用。

# R 路径:BPC 队列三步拉取(需先完成网页端 Request Access)
# install.packages("genieBPC")
library(genieBPC)
set_synapse_credentials()                              # 交互输入或环境变量 PAT
nsclc <- pull_data_synapse("NSCLC", version = "v2.0-public")
cohort <- create_analytic_cohort(data_synapse = nsclc,
                                 cancer_type = "NSCLC")

§6.1 快速上手

以下代码假设你已通过网页端接受条款,并把 20.0-public 版本文件夹下载到本地 data_root。目录结构预期为 §4.0 所示的扁平 TSV 布局;data_root 直接拼接文件名即可定位文件。最小可用子集是"三张表":data_mutations_extended.txt(突变)、data_clinical_sample.txt(样本)、data_clinical_patient.txt(患者)——仅用这三张表即可完成突变景观与分类类任务。

import os
import pandas as pd

DATA_ROOT = os.environ.get("GENIE_DATA_ROOT", "./aacr-genie-20.0-public")

# 最小可用子集:突变 + 样本 + 患者三表
maf = pd.read_csv(
    os.path.join(DATA_ROOT, "data_mutations_extended.txt"),
    sep="\t", comment="#", low_memory=False,
)
samples = pd.read_csv(
    os.path.join(DATA_ROOT, "data_clinical_sample.txt"),
    sep="\t", comment="#", low_memory=False,
)
patients = pd.read_csv(
    os.path.join(DATA_ROOT, "data_clinical_patient.txt"),
    sep="\t", comment="#", low_memory=False,
)

# 关联:MAF 行 -> 样本 -> 患者(三级主键体系)
df = (
    maf.merge(samples, on="Sample_Id", suffixes=("", "_sample"))
       .merge(patients, on="Patient_Id", suffixes=("", "_patient"))
)
print(df["CANCER_TYPE"].value_counts().head(10))  # 头部癌种分布

§6.2 数据获取

步骤 操作 说明
1. 注册账号 在 synapse.org 注册用户名/密码账号 建议不直接用 Google 登录
2. 启用 2FA 账号设置中开启双因子认证 2025-07 起 PAT 必须 2FA 下才可用
3. 创建 PAT Account Settings → Personal Access Tokens → 勾选下载权限 Token 即环境凭证
4. 接受条款 访问 genie.synapse.org 对应 release 文件夹 → Request Access → Accept 主注册库与 BPC 项目分别授权
5. 下载 网页下载或 SDK 按文件夹拉取 按版本文件夹整取,勿混拼多版本
6. 合规 禁止再识别患者;禁止未经 AACR GENIE 协调中心(genieinfo@aacr.org)书面许可再分发 违反将被撤销访问权
7. 版本登记 下载完成后记录 release 版本号与下载日期到团队数据台账 后续一切实验的版本冻结锚点
import synapseclient

syn = synapseclient.Synapse()
syn.login(authToken="你的 Synapse PAT")  # 从环境变量读取更安全

# 在 https://genie.synapse.org 打开目标 release 文件夹,
# 从页面 URL 复制其实体 ID(形如 syn 开头加数字)
folder = syn.get(entity_id_from_release_page)
syn.get(folder.id, downloadLocation=DATA_ROOT)
# BPC 队列亦可用 R 包 {genieBPC}:pull_data_synapse("NSCLC", version = "v2.0-public")

§6.3 预处理全流程

核心目标:把 MAF 长表转成"样本 × 基因突变矩阵 + panel 掩码",并完成癌型标签的 OncoTree 归一。

import numpy as np
import pandas as pd

def build_mutation_matrix(
    maf: pd.DataFrame,
    samples: pd.DataFrame,
    top_genes: int = 500,
    variant_types: tuple = ("Missense_Mutation", "Nonsense_Mutation",
                            "Frame_Shift_Del", "Frame_Shift_Ins",
                            "Splice_Site", "Translation_Start_Site",
                            "In_Frame_Del", "In_Frame_Ins"),
) -> tuple[pd.DataFrame, pd.DataFrame, pd.Series]:
    """GENIE MAF -> 样本×基因二值突变矩阵 + panel 掩码。

    返回:
        X: (n_samples, top_genes) 突变 multi-hot 矩阵
        M: (n_samples, top_genes) panel 掩码,True 表示该样本的 panel 覆盖该基因
        y: OncoTree 癌型标签
    """
    # 1. 过滤:仅保留驱动级功能分类,去除 Silent 与 Unknown
    keep = maf["Variant_Classification"].isin(variant_types)
    mut = maf.loc[keep, ["Sample_Id", "Hugo_Symbol"]].drop_duplicates()

    # 2. 去重陷阱预防:同一样本同一基因多行(多突变)压成一条
    mut = mut.drop_duplicates(subset=["Sample_Id", "Hugo_Symbol"])

    # 3. 选高频基因(先按全库统计,再截断)
    gene_counts = mut["Hugo_Symbol"].value_counts()
    genes = gene_counts.head(top_genes).index.tolist()

    # 4. 样本列表与标签
    s = samples.set_index("Sample_Id")
    idx = s.index.intersection(mut["Sample_Id"].unique())
    X = pd.DataFrame(0, index=idx, columns=genes, dtype=np.int8)
    sub = mut[mut["Sample_Id"].isin(idx)]
    pairs = set(zip(sub["Sample_Id"], sub["Hugo_Symbol"]))
    for g_i, g in enumerate(genes):
        hit = [smp for smp in idx if (smp, g) in pairs]
        X.loc[hit, g] = 1

    # 5. panel 掩码:从 BED 目录或样本表 assay 映射构建
    #    简化策略:SEQ_ASSAY_ID -> 该 panel 覆盖的基因集合(由组合 BED 解析得到)
    panel_genes = load_panel_genes(DATA_ROOT)  # {SEQ_ASSAY_ID: set(genes)}
    M = pd.DataFrame(
        [[g in panel_genes.get(a, set()) for g in genes] for a in s.loc[idx, "SEQ_ASSAY_ID"]],
        index=idx, columns=genes, dtype=bool,
    )

    y = s.loc[idx, "CANCER_TYPE"]
    return X, M, y


def load_panel_genes(data_root: str) -> dict:
    """解析组合 BED 目录,返回 {SEQ_ASSAY_ID: 覆盖基因集合}。

    BED 文件第三列为基因名;SEQ_ASSAY_ID 即 BED 文件名(去扩展名)。
    """
    from pathlib import Path
    bed_dir = Path(data_root) / "genie_combined_bed_files"
    panels = {}
    for bed in bed_dir.glob("*.bed"):
        genes = set()
        for line in bed.read_text().splitlines():
            if not line or line.startswith(("track", "browser", "#")):
                continue
            parts = line.split("\t")
            if len(parts) >= 4 and parts[3] not in ("NA", ""):
                genes.add(parts[3])
        panels[bed.stem] = genes
    return panels

清洗与标准化要点:MAF 文件以 # 注释头开始(读入时必须 comment="#");跨版本合并前先检查 Variant_Classification 枚举是否一致(注释管线在 Release 9 切换过);cfDNA 样本与组织样本建议分层建模;生殖系过滤由官方流水线完成,无需重复,但应理解 JAK2/DNMT3A 两个特例被有意保留(坑点 4)。

OncoTree 标签归一(折叠到固定层级)是预处理的最后一步,建议独立成函数以便跨版本复用:

import requests

ONCOTREE_API = "https://oncotree.mskcc.org/api/tumorTypes/tree"

def collapse_oncotree(labels: pd.Series, level: int = 3) -> pd.Series:
    """把 OncoTree 编码折叠到固定层级(默认 L3)。

    依赖 OncoTree 官方 API 的树结构;对 API 无法追溯的编码
    (历史遗留/拼写差异)返回 NA,交由人工映射表兜底。
    """
    tree = requests.get(ONCOTREE_API, params={"version": "oncotree_latest_stable"},
                        timeout=30).json()

    def ancestors_of(code: str) -> list:
        path, node = [], tree.get(code)
        while node is not None:
            path.append(node.get("code"))
            node = tree.get(node.get("parent") or "", None) if node.get("parent") else None
            if node is not None and node.get("code") in path:
                break
        return path

    mapping = {}
    for lab in labels.dropna().unique():
        anc = ancestors_of(lab)
        mapping[lab] = anc[-level] if len(anc) >= level else "NA_UNMAPPED"
    return labels.map(mapping)

工程提示:把折叠结果连同 OncoTree 版本号一起落盘(labels_version.parquet),跨版本分析时先做编码映射表(坑点 6),再重跑折叠,避免"同码不同义"。

§6.4 PyTorch DataLoader

以下为完整的可运行 Dataset 实现:multi-hot 突变矩阵 + panel 掩码作为通道输入,支持癌种多分类任务。

import torch
from torch.utils.data import Dataset, DataLoader
from sklearn.preprocessing import LabelEncoder

class GenieMutationDataset(Dataset):
    """AACR GENIE 突变矩阵数据集。

    X: (n_samples, n_genes) float32 multi-hot 突变矩阵
    M: (n_samples, n_genes) bool panel 掩码,1=panel 覆盖该基因
    y: (n_samples,) long 癌种标签
    """

    def __init__(self, X: pd.DataFrame, M: pd.DataFrame, y: pd.Series):
        self.X = torch.from_numpy(X.to_numpy(dtype=np.float32))
        self.M = torch.from_numpy(M.to_numpy(dtype=np.float32))
        self.le = LabelEncoder()
        self.y = torch.from_numpy(self.le.fit_transform(y).astype(np.int64))

    def __len__(self) -> int:
        return self.X.shape[0]

    def __getitem__(self, i: int):
        return self.X[i], self.M[i], self.y[i]


def make_loader(X, M, y, batch_size: int = 256, shuffle: bool = True) -> DataLoader:
    ds = GenieMutationDataset(X, M, y)
    return DataLoader(ds, batch_size=batch_size, shuffle=shuffle, num_workers=2)


import torch.nn as nn

class PanelAwareMLP(nn.Module):
    """把 panel 掩码作为输入通道的简单基线:突变的"缺失"不再是 0,而是掩码。"""

    def __init__(self, n_genes: int, n_classes: int, dim: int = 256):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(n_genes * 2, dim), nn.ReLU(), nn.Dropout(0.3),
            nn.Linear(dim, dim), nn.ReLU(), nn.Dropout(0.3),
            nn.Linear(dim, n_classes),
        )

    def forward(self, x_mut: torch.Tensor, x_mask: torch.Tensor) -> torch.Tensor:
        return self.net(torch.cat([x_mut, x_mask], dim=-1))


def train_epoch(model, loader, optimizer, criterion, device) -> float:
    """单个 epoch 的训练循环(掩码与突变同为输入)。"""
    model.train()
    total = 0.0
    for x_mut, x_mask, y in loader:
        x_mut, x_mask, y = x_mut.to(device), x_mask.to(device), y.to(device)
        optimizer.zero_grad()
        logits = model(x_mut, x_mask)
        loss = criterion(logits, y)
        loss.backward()
        optimizer.step()
        total += loss.item() * y.size(0)
    return total / len(loader.dataset)


# 端到端示例(假设 X/M/y 来自 §6.3)
# loader = make_loader(X_train, M_train, y_train, batch_size=256)
# model = PanelAwareMLP(n_genes=X.shape[1], n_classes=y.nunique()).to(device)
# optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=1e-4)
# criterion = nn.CrossEntropyLoss(label_smoothing=0.05)  # 吸收 OncoTree 粒度噪声
# for epoch in range(20):
#     tr_loss = train_epoch(model, loader, optimizer, criterion, device)

训练循环中每步同时接收 (x_mut, x_mask, y),损失用 nn.CrossEntropyLoss;对长尾癌种可改用加权采样或 focal loss。

§6.5 坑点 8 个

⚠️ 坑点 1:跨 panel 统计突变频率——忘记用 profiled 分母(分类:预处理陷阱)

问题:20 家中心使用数十种大小悬殊的 panel(约 50 基因热点到 429 基因捕获),某基因"没有突变记录"往往只说明 panel 未覆盖。用全样本做分母统计突变频率,小 panel 主导的基因会被严重低估,大 panel 基因被稀释。
症状:同一癌种内,大 panel 中心的"突变频率"系统性高于小 panel 中心;把 GENIE 全库频率与单中心文献对比时普遍偏低;cBioPortal 上同一基因在"全库视图"与"panel 视图"下数字不同。
解决:

  1. 简单方法:任何基因级频率统计前,按 SEQ_ASSAY_ID 从组合 BED 构建覆盖掩码,分母只取"panel 覆盖该基因的样本"。
  2. 进阶方法:在回归/分类模型中把掩码作为输入通道或分层变量(§6.4 的 PanelAwareMLP 即此思路)。
  3. SOTA 方法:采用 profiled-denominator 协议——cBioPortal 为此专门改造了计算逻辑,用 panel 已检样本作分母计算基因改变频率(PMC10690089);跨中心 meta 分析时用随机效应模型按 panel 分层。
    参考:BPC cBioPortal 集成论文;AACR GENIE 数据指南

⚠️ 坑点 2:TMB 跨 panel 直接比较(分类:评估误用)

问题:肿瘤突变负荷(mut/Mb)的可比性依赖 panel 覆盖面积与基因组成。GENIE 中小 panel(热点区)与 tumor-only 样本的 TMB 估计系统性失真。
症状:小 panel 样本的 TMB 分布与 WES 对照几乎不相关——AACR 2017 年会报告显示约 1 Mb 的较大 panel 与全外显子 TMB 相关性良好,而小 panel 仅约三分之一病例一致;tumor-only 样本因生殖系残留 TMB 被抬高;hotspot-only panel(JHU-500STP 等)低估多突变样本。
解决:

  1. 简单方法:仅在与 WES 可比的大 panel 子集上做 TMB 分析(v1.1 时期为 DFCI/MSK/VICC 的 14,310 样本;最新版本按 BED 面积 ≥1 Mb 筛选)。
  2. 进阶方法:按 panel 面积归一 mut/Mb,并在回归中加入 tumor-only/配对指示变量与中心固定效应。
  3. SOTA 方法:使用 panel 特异的 TMB 校准(参考各 panel 与 WES 的相关性研究),或直接限定 MSK-IMPACT 类覆盖内含子的大 panel;避免用 TMB 阈值下结论,仅报告分布与秩次。
    参考:AACR 2017 年会 TMB 报告;GENIE 面板计算方法综述(PMC10129038)

⚠️ 坑点 3:同一患者多样本与跨中心重复造成泄漏(分类:数据泄漏)

问题:GENIE 中患者与样本约为 1:1.19——序列活检、多病灶测序普遍存在;同一患者在同一家或不同中心的多次测序突变谱高度相似。按样本随机划分训练/测试集会把"同一患者的另一个样本"放进测试集,指标严重虚高。
症状:按样本划分的癌种分类准确率比按患者划分高出数个百分点;患者级特征模型(如生存分析)在"未见患者"上骤降;跨版本(如 19.0→20.0)评估时发现测试集几乎全部出现在训练集中。
解决:

  1. 简单方法:以 Patient_Id 为分组键做 GroupShuffleSplit/GroupKFold,患者内所有样本同侧。
  2. 进阶方法:时间维加患者维双重划分——先按 SEQ_DATE 切时间窗,窗内再按患者分组;发布长表前对每患者保留一个代表性样本(如优先原发灶,2025 年组织特异性研究即"先剔除转移样本、再每患者留一样本")。
  3. SOTA 方法:leave-one-center-out 协议同时检验患者与中心两层泛化;跨版本研究时冻结单一 release,绝不跨相邻版本做"外部验证"。
    参考:CD-21-1547;chen_biorxiv_2025 去重协议

⚠️ 坑点 4:生殖系残留与克隆性造血——两个被有意保留的"假突变"(分类:标签理解)

问题:GENIE 绝大多数样本为 tumor-only 测序,生殖系变异靠 gnomAD 人群频率(≥0.0005)过滤剔除。但官方流水线刻意保留 JAK2 p.V617F 与 DNMT3A p.R882H——两者是克隆性造血(CH)的常见驱动,在人群数据库中频率不高,却会出现在无肿瘤关联的血细胞 DNA 中。
症状:在骨髓增殖性肿瘤以外癌种的样本里"看到"JAK2 V617F;DNMT3A R882 高频出现在跨癌种队列,做驱动基因排名时干扰 TP53/KRAS 等头部基因的解读;把这两处变异当生殖系误报删除则违背官方协议。
解决:

  1. 简单方法:认知层面把这两个位点单独打标为"可能 CH",分析驱动基因时排除或分层。
  2. 进阶方法:结合 VAF 与临床背景(高龄、血液学指标)建模 CH 概率;跨癌种比较时把 CH 相关基因(DNMT3A、TET2、ASXL1、JAK2)作为协变量。
  3. SOTA 方法:用配对样本(部分中心 tumor/normal)估计各 panel 的生殖系残留率,对 tumor-only 样本的低 VAF 变异做敏感性分析。
    参考:CD-21-1547 变异过滤章节;PMC10129038

⚠️ 坑点 5:MNVAR——相邻双突变被拆成两条独立行(分类:预处理陷阱)

问题:部分变异调用流水线把同一条链上相邻的双核苷酸/多核苷酸变异拆成两个相邻的单核苷酸记录(如同一密码子上的 E542K+E545K 紧邻变异)。GENIE 流水线会扫描并标记这类 MNVAR 候选交回中心复核,但历史发布中仍有残留。
症状:同一蛋白域出现"成对"紧邻变异行;按氨基酸位置统计热点时重复计数;把两条 in-cis 变异当作独立事件会高估该基因的突变样本数(尽管样本级 multi-hot 已去重)。
解决:

  1. 简单方法:分析前按 (Sample_Id, Chromosome, 紧邻 Start_Position) 检查相邻行对,合并间距 ≤2 bp 的变异对。
  2. 进阶方法:等位基因级分析用 HGVSp_Short 折叠同密码子变异;热点统计时以"密码子"为最小单元。
  3. SOTA 方法:以官方 MNVAR 标记规则为准自查——官方流水线将候选标记回中心人工确认 in-cis 后合并(CD-21-1547),跨版本 diff 这些位点是否被修正。
    参考:CD-21-1547

⚠️ 坑点 6:OncoTree 版本漂移与粒度不一致(分类:标签理解)

问题:CANCER_TYPE 取自 OncoTree 本体,而 OncoTree 每年多次更新编码与层级;更重要的是各中心按自己的策略选择指派粒度——同是肺癌,有的中心给 NSCLC 粗类,有的给到肺腺癌细类。
症状:跨版本统计同一亚型样本数时数字"无故"跳变;按 CANCER_TYPE 分层时发现某些亚型几乎全部来自单一中心(粒度偏好而非生物学差异);折叠家族时父子类重复计数。
解决:

  1. 简单方法:分析前用 OncoTree 官方工具把所有编码折叠到固定层级(如 L3),父子类只保留最深可用层。
  2. 进阶方法:建立 release→release 的编码映射表(OncoTree 版本 diff),跨版本时序分析统一映射后再计数。
  3. SOTA 方法:把中心作为随机效应、OncoTree 层级作为多任务层级结构建模(层级 softmax 或 hierarchy-aware loss),同时吸收粒度差异与稀有类。
    参考:OncoTree 官方站点;数据指南 OncoTree 指派章节

⚠️ 坑点 7:Synapse 认证与版本管理——2FA 时代的新门槛(分类:工程陷阱)

问题:2025 年 7 月起,Synapse 强制要求账号启用双因子认证后才能用 Personal Access Token 拉数据;同时 GENIE 主注册库与 BPC 是两个独立授权项目,"Synapse 权限"与"单个项目 release 的 Request Access"是两层独立许可。
症状:syn.login(authToken=...) 突然 401/403;genieBPC 的 pull_data_synapse() 报权限错误;网页能看到文件但 SDK 下载失败(PAT 权限未勾选下载)。
解决:

  1. 简单方法:账号设置 → Security → 开启 2FA;重新创建 PAT 并勾选下载(Download)范围;分别到主注册库与 BPC 页面各点一次 Request Access 并 Accept 条款。
  2. 进阶方法:CI/流水线中用环境变量注入 PAT,禁用交互登录;下载前用 syn.getPermissions() 校验目标实体权限,失败即明确报错。
  3. SOTA 方法:把 release 实体 ID 与版本号写进配置并锁定(版本冻结),所有下游实验记录"release = 20.0-public + 实体 ID",保证半年后仍可复现。
    参考:genieBPC README 认证章节;AACR GENIE 数据页

⚠️ 坑点 8:BPC 与主注册库合并——分析单位与时间轴错位(分类:偏倚陷阱)

问题:GENIE BPC 是主注册库患者子集的深度临床注释版(治疗、PFS、OS),但其表结构与主库完全不同:多种分析单位(患者/样本/方案/给药周期)分属多张表,且 BPC 有自己的 release 版本线。直接按 Sample_Id 硬 join 会得到错误的患者-治疗-结局对齐。
症状:同一患者在 BPC 出现多行"索引癌"记录(多次治疗线);治疗开始日期早于测序日期的样本被当作"治疗前基线";BPC 版本与主库版本混拼后样本数对不上;随访截止时间因队列而异导致生存曲线尾部异常。
解决:

  1. 简单方法:用官方 {genieBPC} R 包的 pull_data_synapse() + create_analytic_cohort() + select_unique_ngs() 三步走,它已处理单位选择与唯一 NGS 检测挑选。
  2. 进阶方法:以 BPC 的 NSCLC/CRC 发布对应的嵌套主库版本为锚(各队列文档标注了源 release),先在主库侧冻结基因组快照,再 join BPC 临床时间轴。
  3. SOTA 方法:按 PRISSMM 数据模型构建"诊断-治疗-结局"三级时间轴,治疗窗口与测序窗口显式对齐(测序前/后分层),参照 BPC 团队的 QA 协议(JCO CCI 2022)。
    参考:{genieBPC}(Bioinformatics 2023);BPC cBioPortal 集成(PMC10690089)

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

策略 判定 说明
基因随机掩码(模拟 panel 缩小) ✅ 安全 训练时随机把部分已覆盖基因位置置 0 并同步置 0 掩码,模拟更小 panel,提升跨 panel 泛化
掩码感知 dropout ✅ 安全 仅对掩码内位置做 dropout,未覆盖位置保持 (突变=0, 掩码=0) 不变
OncoTree 层级标签平滑 ✅ 安全 父子类间标签平滑,吸收粒度不一致
随机翻转突变位(0↔1) ❌ 危险 破坏突变-癌种的真实因果关系,引入生物 impossible 样本
跨患者复制突变模式 ❌ 危险 等效于伪造患者,破坏患者级划分的独立性假设
把未覆盖基因当阴性参与 loss ❌ 危险 "未检测"被当成"野生型"负样本,直接污染监督信号
跨版本混拼训练(19.0+20.0 求并集) ❌ 危险 相邻版本高度重叠,等效重复样本;应冻结单版本

增强的核心哲学:GENIE 的"增强"应作用于"检测能力"维度(模拟 panel 变化、模拟缺失)而非"生物学"维度——生物事实(哪些基因一起突变)不可伪造,检测条件(哪些基因被测到)可以模拟。守住这条线,增强就只会有益。

§6.7 模型推荐表

任务 推荐基线 进阶 说明
癌种分类(突变→OncoTree) PanelAwareMLP(§6.4) 梯度提升树 / 层级分类器 掩码通道 + OncoTree 层级折叠到 L3
突变共现与驱动模块 共现网络 / NMF 深度生成模型(VAE) 用掩码修正分母后计算互信息
TMB/标志物预测 岭回归(大 panel 子集) GBDT + 中心固定效应 严格限定 ≥1 Mb panel
罕见亚型检索 基因集 Jaccard 相似度 度量学习(对比学习) OncoTree 层级作为弱监督
液体活检(cfDNA)分析 与组织样本分层统计 组织↔血液迁移学习 19.0 起新模态,先描述后建模
BPC 治疗结局 KM/COX + 倾向得分 TMLE / 双重机器学习 用 BPC 官方派生变量,勿自行重派生
真实世界疗效比较(BPC) KM/COX + 倾向得分 Targeted learning(TMLE) 用 BPC 官方派生变量

§6.8 硬件需求

场景 CPU 内存 GPU 磁盘
三表 EDA 与频率统计 4 核 16 GB 无 50 GB(单版本 + 余量)
全库突变矩阵建模(MLP/GBDT) 8 核 64 GB 1 张消费级 GPU(8-16 GB)可选 100 GB
全库 MAF 级深度模型(Transformer/对比学习) 16 核 128 GB 1 张 A100/等效 200 GB
跨版本演化研究(多版本共存) 16 核 64 GB 按模型 300 GB+

注:GPU 仅在训练深度模型时必需——GENIE 的特征是稀疏二值向量,逻辑回归/GBDT 在 CPU 上即可全库训练;把算力花在"掩码处理与划分协议的正确性"上,比堆 GPU 的边际收益高得多。

§6.9 评估指标代码

import numpy as np
from sklearn.metrics import roc_auc_score, average_precision_score, f1_score

def evaluate_panels(y_true, y_prob, seq_assay_ids, min_support: int = 200):
    """分层评估:整体 + 分 panel 的 macro-AUC。

    y_true: (n,) int;y_prob: (n, C) 概率;seq_assay_ids: (n,) str。
    返回整体与各 panel(样本数 >= min_support)的一对多 macro-AUC。
    """
    classes = np.unique(y_true)
    overall = roc_auc_score(
        y_true, y_prob, multi_class="ovr", average="macro",
        labels=classes,
    )
    report = {"overall_macro_auc": overall}
    for panel in np.unique(seq_assay_ids):
        sel = seq_assay_ids == panel
        if sel.sum() < min_support or len(np.unique(y_true[sel])) < 2:
            continue  # 小 panel 或类覆盖不足不做拆分评估
        try:
            report[f"{panel}_macro_auc"] = roc_auc_score(
                y_true[sel], y_prob[sel], multi_class="ovr",
                average="macro", labels=classes,
            )
        except ValueError:
            continue
    return report

def topk_accuracy(y_true, y_prob, ks=(1, 3, 5)):
    out = {}
    order = np.argsort(-y_prob, axis=1)
    for k in ks:
        hits = [y_true[i] in order[i, :k] for i in range(len(y_true))]
        out[f"top{k}_acc"] = float(np.mean(hits))
    return out

def per_class_ap(y_true, y_prob, min_support: int = 100):
    """长尾友好的逐类平均精度(AP),仅报告样本数 >= min_support 的类。

    罕见类(< min_support)不应被静默忽略:返回 unreported_classes
    供报告页显式列出,防止"分母裁剪"式美化。
    """
    classes = np.unique(y_true)
    report, unreported = {}, []
    for c in classes:
        sel = y_true == c
        if sel.sum() < min_support:
            unreported.append(str(c))
            continue
        y_bin = (y_true == c).astype(int)
        report[str(c)] = average_precision_score(y_bin, y_prob[:, c])
    return report, unreported

评估纪律:任何数字必须绑定 release 版本号与患者级划分协议;同时报告整体与 per-panel/per-center 分层;生存类任务报 c-index 与时间依赖 AUC,并说明删失来自"年精度"字段的局限。

§6.10 MLOps 笔记

  • 版本冻结即纪律:所有实验登记 release=20.0-public(或具体实体版本),半年后新版本发布时旧实验仍可复现;不要用"latest"。
  • 发布节奏对齐再训练:每年 1 月/7 月新版本发布 → diff 新增样本与编码变更(尤其 OncoTree 与注释管线变更)→ 决定增量重训或全量重训,并跑一套固定的回归评估。
  • 数据卡与面板指纹:为每个训练集快照记录样本数、患者数、panel 构成(SEQ_ASSAY_ID 计数表)、癌型分布、SEQ_DATE 范围,作为模型卡的输入侧事实。
  • 许可与再分发合规:下游服务只部署模型权重与统计摘要,原始 TSV 不得随应用再分发;对外演示页面引用频率时注明版本与引用义务(Cancer Discov 2017 + 版本号)。
  • 漂移监控:上线后以 SEQ_DATE 与 panel 构成为漂移哨兵指标——新进入患者的大 panel 占比变化会直接改变特征可用性分布。
  • 权限与凭证管理:Synapse PAT 视同生产凭证——独立密管(不进代码库)、最小下载范围、到期轮换;2FA 恢复码离线保存,避免平台账号锁定导致流水线瘫痪。
  • 可追溯的预处理产物:突变矩阵、panel 掩码、OncoTree 折叠表三件套各自带"生成脚本 + git commit + 输入文件校验和",任何下游指标异常都能回溯到具体版本的中间产物。
  • 双源一致性测试:同一批样本在 cBioPortal 网页端与本地 TSV 的基因频率应一致(profiled denominator 口径);将其纳入发布验收测试,可提前发现下载残缺或版本错拼。

§7 质量评估与局限性

§7.1 已知偏倚表

偏倚类型 描述 严重程度 缓解措施
中心选择偏倚 20 家学术癌症中心,晚期/转诊患者富集,非人群代表性 高 分析时报告中心构成;不外推人群患病率
Panel 组成偏倚 大 panel 中心(MSK/DFCI/VICC)样本占比高,小 panel 基因频率被低估 高 掩码感知分母(坑点 1);per-panel 报告
Tumor-only 假阳性 生殖系残留与克隆性造血污染(JAK2/DNMT3A 保留位) 中 CH 基因分层;VAF 敏感性分析
地域/人群偏倚 北美与欧洲机构为主,RACE 填报不均,非西方人群代表不足 高 公平性分析显式建模缺失;谨慎跨人群外推
癌型粒度不一致 各中心 OncoTree 指派粒度不同 中 固定层级折叠(坑点 6)
临床字段稀疏 主库结局仅随访/死亡年份(年精度),无治疗与反应 高 深度结局用 BPC 队列;生存结论限定粗粒度
版本构成漂移 每半年快照,样本构成、panel 谱、cfDNA 引入持续变化 中 冻结版本 + 发布间 diff

§7.2 标注质量

变异调用来自 CLIA/ISO 临床实验室,临床报告级质量高于多数科研数据集,但注册库不做二次重判,因此"标注"的可靠性等同于各中心临床流水线;跨中心一致性研究显示头部癌种突变谱总体一致、小 panel 检出低频突变能力有限(PMC5611790)。癌型标注为人工 OncoTree 指派,协调中心提供策略指南并在发布前质控,但粒度差异是结构性特征而非错误。变异注释从 VEP/vcf2maf 切换到 Genome Nexus(Release 9)后,历史版本间存在注释枚举差异,跨版本聚合时必须做枚举映射。

质量保证的分层体系值得复用:提交前——各中心内部校验(样本计数、panel 定义完整性);提交时——Sage 的自动校验(测序日期窗口、BED 坐标、参考等位基因、MNVAR 扫描);提交后——每月 AACR 与 Sage 协同各中心解决校验问题,发布前再跑一轮样本与变异过滤器 + dashboard 人工复核。对 AI 团队,这意味着"官方数据"并非零错误,而是"错误有被发现和修复的机制"——你的预处理应保留对官方 patch 版本(如 X.Y-patch)的敏感度,及时吸收官方回溯修正。

§7.3 泛化性评估表

目标场景 失效风险 证据
人群筛查/早期患者 高 注册库来自晚期/转诊为主的临床测序人群,早期癌症分布未覆盖
非西方人群 高 机构与人群构成北美/欧洲为主,RACE 缺失不均(§7.5)
跨 panel TMB 判读 高 小 panel TMB 与 WES 仅约 1/3 一致(坑点 2)
cfDNA 与组织混用 中-高 19.0 起纳入 cfDNA,两种液体/组织模态的突变谱差异需分层
罕见亚型分类 中 长尾亚型样本稀少,需 OncoTree 层级折叠或层级损失
同源 BPC 外推 低-中 BPC 为主库子集且版本线独立,配对分析需版本锚定(坑点 8)

表中风险的共性根源是"训练分布 ≠ 应用分布",而 GENIE 的元数据恰好让每种分布差都可以被显式测量——这是它比多数医疗数据集更适合做泛化研究的原因:风险可量化,才有工程化的缓解路径。

§7.4 伦理与隐私

各成员机构经 IRB 批准或豁免后提交数据,患者知情同意涵盖研究用途共享;全部数据按 HIPAA Safe Harbor 方法去标识;鉴于 tumor-only 测序可能检出生殖系变异,官方流水线以 gnomAD 频率过滤降低再识别风险;原始 BAM 不共享;使用条款明确禁止尝试识别或联系患者、禁止未经书面许可再分发,违规将被撤销访问(19.0 数据指南)。机构享有 6+6 个月的优先分析窗口以平衡激励与公开。

对 AI 工程团队的合规操作要点:训练产物(突变矩阵、模型权重)不包含可识别信息,一般可自由发表;但对外共享"样本级衍生数据"(如带条形码的中间表)前应核对条款——条形码虽经脱敏,仍属原始数据集的衍生物,稳妥做法是只共享聚合统计或经协调中心确认;如果你的应用会返回"与该患者相似的真实病例",必须改为返回聚合结果或合成示例,避免变相再识别。 GENIE 自身亦通过 NCI GDC 与 GA4GH Cancer Gene Trust 等渠道推动再共享,任何二次托管应联系协调中心书面确认(PMC5611790)。

§7.5 公平性

RACE/ETHNICITY 字段填报完整度不均且以西方人群类别为主,2025 年的全库组织特异性分析指出,生殖系祖先信息缺失限制了对非白人人群的分层功效,其自身分析在非白人亚组中统计功效受限(chen_biorxiv_2025)。AI 团队 implications:任何跨人群性能声明都应限定在数据支撑的人群内;用 GENIE 训练的临床决策模型部署到其他人群前必须独立验证;公平性审计应把"种族缺失"本身当作数据质量对象建模,而非简单剔除。

落地为审计清单:① 报告 RACE 各取值(含 Unknown)的样本占比与按中心的分布;② 主指标按已知种族子集分层复算,报告与整体的差距;③ 对 Unknown 占比超过设定阈值的子分析显式降级结论强度;④ 模型卡中固定写入"训练人群地域构成"字段——GENIE 的 spatialCoverage 元数据(§C)可直接引用。

§7.6 数据漂移

三类结构性漂移需持续监控:构成漂移——每半年新增样本改变癌种与中心占比,18.0→19.0→20.0 每版净增约 2 万-3 万样本;技术漂移——panel 版本演进(MSK-IMPACT341→410→468)、注释管线切换(Release 9 起 Genome Nexus)、cfDNA 模态引入(19.0);语义漂移——OncoTree 编码与层级更新导致标签含义随时间变化。建议以"panel 构成 + 癌型分布 + 注释枚举 diff"三指标做发布间回归测试。

漂移的检测可以做得相当具体:对每个新 release,计算"样本×基因突变率矩阵"与训练快照的逐基因相对变化,超过预警线(如 |Δ| > 20% 且该基因样本覆盖下降)的基因列入审查清单——多数时候原因是 panel 构成变化而非生物学变化,掩码感知的比率能自动消解大部分假警报。把这套 diff 脚本放进 MLOps 流水线(§6.10),发布日即可自动产出漂移报告。

§7.7 DAIMS 24 项评估

# 检查项 状态 说明
1 宽格式可用 ✅ 临床样本/患者表为宽格式,突变表为标准 MAF 长表,各就其位
2 唯一标识 ✅ Patient_Id / Sample_Id / Mutation_Key 三级主键清晰
3 特殊字符处理 ✅ MAF/TSV 规范转义,注释字段无未处理换行
4 重复行处理 ⚠️ 同一患者多样本与紧邻 MNVAR 行需要用户自行去重(坑点 3/5)
5 缺失编码统一 ⚠️ NA/Unknown/空位混用,语义差异需按字段辨析(§4.5)
6 标签标识清晰 ✅ CANCER_TYPE 基于 OncoTree 本体,可机读
7 罕见类分组 ✅ OncoTree 层级天然支持折叠分组(835+ 亚型到 L3)
8 偏倚评估文档 ✅ 每版 dashboard 公布中心/癌种/panel 分布
9 数据字典完备 ✅ 数据指南逐字段定义临床与基因组文件
10 信息性缺失解释 ✅ "未检测 vs 野生型"可由 BED 掩码区分,指南明示
11 设备/assay 记录 ✅ SEQ_ASSAY_ID + 组合 BED + 平台元数据完整
12 共线性检查 ⚠️ CNA 与突变无官方对齐表,共现分析需自行落坐标
13 编码映射 ✅ OncoTree 官方映射 SNOMED/ICD-9/10
14 时间戳处理 ⚠️ SEQ_DATE 精度仅到年月,结局仅到年,不支持日级时序
15 划分建议 ❌ 无官方划分,用户须自建患者级协议(§5)
16 泄漏讨论 ✅ 官方文档与社区协议充分讨论样本重复与版本重叠
17 标签分布公开 ✅ dashboard + Featured Cancers 定期公布分布
18 测量偏倚评估 ✅ panel 差异与 tumor-only 局限在论文与指南中系统评估
19 外部验证建议 ✅ TCGA/NCI-MATCH 等跨库协议有同行评审先例
20 版本记录 ✅ 语义化版本 + release notes + 版本化 Synapse 实体
21 预处理脚本 ⚠️ 官方提供转换说明与 R 包(BPC),主库无一键 Python 预处理
22 合规要求 ✅ 条款、引用义务、再分发限制清晰可执行
23 多模态对齐 ⚠️ 突变/CNA/融合覆盖面不一,临床结局字段有限,跨模态对齐靠用户
24 去标识化 ✅ HIPAA Safe Harbor + 生殖系过滤 + 禁 BAM

DAIMS 评分:20 / 24(✅ 17 项、⚠️ 6 项按 0.5 计、❌ 1 项计 0)

评分解读:GENIE 在标识体系、panel 元数据、版本管理、官方文档与合规披露五个维度达到医疗 AI 数据集的标杆水准,这也是它能支撑监管级真实世界研究的基础。失分集中在三处结构性短板:无官方划分(❌)意味着每篇论文的"划分协议"都是自定义的、可比性弱;时间精度粗(年/月)限制了精细时序建模;多模态对齐与重复行处理把不可省略的工程负担留给了使用者。与同类数据集横向比较:TCGA 在标注深度上占优但规模小且静态;MSK-IMPACT 公开队列单中心同质无 panel 乱象但泛化面窄;GENIE 是唯一把"规模 × 真实世界 × 持续更新 × 完整 panel 元数据"同时做满的公开资源,其 ⚠️ 项大多是"设计使然"而非"质量缺陷"——注册库的本职是登记真实世界数据,而不是提供一个开箱即用的机器学习基准。

对你意味着什么:如果你做突变景观、生物标志物 prevalence 或罕见癌种队列,GENIE 的 20/24 意味着"拿来即用、可信可引",但请把 15 号(自建患者级划分)、4 号(去重)与 12 号(跨模态对齐)三项写进你的实验协议;如果你需要日级时序、治疗反应或精细结局,这不是正确数据集——请直接使用 GENIE BPC 队列;如果你的 pipelines 会长期运行,把版本冻结与发布间 diff 作为 MLOps 的第一等公民(§6.10)。逐项行动建议:① 第 15 项——照抄 §5.3 的患者级分组 + 时间切分模板,写进仓库的 README;② 第 4 项——把 §6.3 的去重逻辑固化为 CI 里的数据验收单测;③ 第 14 项——任何时间相关结论把粒度声明放在第一句;④ 第 21 项——用本词条 §6.3-§6.4 代码作为你的官方起点脚本并维护内部 fork。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
TCGA MC3 NCI/TCGA 联盟 跨库突变频率一致性(GENIE 9.1 vs MC3) 每癌种 RMSD / 基因级 wRMSD 大多数癌种接近对角线 头部基因频率跨库一致,差异集中于 TCGA 未覆盖或 panel 偏置基因(CD-21-1547)
NCI-MATCH(EAY131) NCI/ECOG-ACRIN GENIE 患者与试验臂匹配率 每臂匹配率 天然真实世界人群稍低 MatchMiner 引擎可实现变异/CNA/SV/癌型四维匹配,展示注册库支撑试验筛选的可行性(同上)
收集管癌自测队列(22 例 WES/RNA/甲基化) University of Strasbourg 等 罕见癌种分子特征验证 22q 缺失率、Hippo 通路突变率 与自测队列方向一致 25 例 GENIE 样本复现 22q 缺失与 NF2/LZTR1 突变模式,验证罕见癌种研究可行性(AACR 2025 年会)
larotrectinib 试验臂 vs 真实世界对照 Bayer/Loxo 委托、DFCI 主导 NTRK 融合患者真实世界比较效果 真实世界 OS/PFS 对比 — GENIE 提供真实世界 NTRK 抑制剂对照臂,研究发表于 JCO Precision Oncology(2025)
BPC NSCLC 队列(1,846 患者) GENIE BPC(MSK 统计协调中心) EHR 策展质量保证与临床结局派生 策展一致性协议(JCO CCI 2022) — PRISSMM 框架 + 双人独立策展的可扩展 QA 流程,是纵向临床注释质量的同行评审证据(doi:10.1200/CCI.21.00105)

§8 基准性能与生态

§8.1 代表性研究结果(非排行榜)

GENIE 是注册库而非静态基准,不存在公认 leaderboard。下表汇总基于 GENIE 的代表性同行评审结果,数值不可直接互比(队列、版本、协议各异):

研究 年份 任务与结果 关键技术 完整引用 代码
注册库概述 2017 v1.1 景观:18,804 样本,>30% 含可行动突变;大 panel TMB 与 WES 相关良好 跨中心合并流水线 + 可行动性映射 The AACR Project GENIE Consortium et al., 2017, Cancer Discovery. doi:10.1158/2159-8290.CD-16-1087 未开源
注册库 10 万例 2022 9.1-public 与 TCGA MC3 一致性(RMSD/wRMSD);NCI-MATCH 匹配协议 跨库映射 + MatchMiner The AACR Project GENIE Consortium et al., 2022, Cancer Discovery. doi:10.1158/2159-8290.CD-21-1547 论文附代码仓库
可行动性扩展量化 2024-2025 持续更新可用药突变人群估计 OncoTree + 监管级证据分层 见 §8.5 Genie 定期综述类文献 未开源
larotrectinib 真实世界比较 2025 NTRK 融合癌真实世界非 TRK 抑制剂对照 注册库自然史队列作为外部对照 Kehl KL et al., 2025, JCO Precision Oncology 9. 未开源
组织特异性量化 2025 v18.0 全库 250,018 样本驱动基因组织特异谱 OncoTree L3 折叠 + GTEx 表达整合 Chen et al., 2025, bioRxiv(预印本) 预印本附方法

§8.2 SOTA 总结与选型建议

GENIE 驱动的"最强结果"不是某个分类器准确率,而是证据强度:跨库一致性(vs TCGA)与监管采用(sotorasib 申报引用)是其质量上限的证明。上表数值不可互比的原因有三:各研究锁定的 release 版本不同(样本量相差数倍);队列定义各异(全库 vs 大 panel 子集 vs 单癌种);指标含义不同(频率、一致性、生存期不是同一量纲)。引用任何一行时都应复述其协议,而非只引数字。对 AI 团队的选型建议:做分子任务(分类/检索/景观)选 GENIE 主库 + 掩码感知模型;做结局任务选 BPC + 因果/生存方法;两者都需要时先冻结主库版本再对齐 BPC 版本(坑点 8)。

方法学上尚未被"刷满"的方向,也是新研究的高地:跨中心联邦式的突变景观建模(利用中心代码做域自适应)、panel 差异的因果去混淆(把 BED 掩码从混淆因子转为可观测约束)、cfDNA 与组织配对的液体活检迁移(19.0 起才有数据,文献空白多)、以及把 OncoTree 层级作为结构先验的层级多标签学习。这些方向的数据基础设施(掩码、层级、版本)GENIE 已经备齐,缺的只是你的模型。

§8.3 评测协议

社区共识协议:① 冻结 release 版本;② 患者级分组划分;③ OncoTree 固定层级;④ panel 掩码感知评估(整体 + per-panel);⑤ 跨库对比用 RMSD/wRMSD(与 TCGA MC3 的官方协议,CD-21-1547);⑥ 报告必须含版本号与引用义务文本。发布随附 dashboard 提供样本/变异分布、Top 突变基因与临床属性分布,可作为评测的"金分布"参照。

操作层面的四个检查点:评测脚本读入的第一件事是断言版本号与样本数落在预期区间(防止静默下载到旧版本);任何聚合指标同时给出患者级与样本级两个口径(差异大于 2 个百分点即提示重复样本未被妥善处理);跨库对比前显式剔除 TCGA 重叠样本(约 0.1%);罕见类指标显式列出"未报告类"清单(§6.9 的 unreported_classes),杜绝分母裁剪式美化。

数据集 关系 规模 获取
TCGA / MC3 跨库一致性对照;重叠约 0.1% 约 11,000 患者 GDC 开放
GENIE BPC 深度临床注释子队列 6 个公开队列(NSCLC 1,846 等) Synapse 独立授权
MSK-IMPACT 2018(Science) 单中心同型数据集 约 10,000 患者 cBioPortal 开放
cBioPortal 全站研究 同格式单研究数据集 数百项研究 cBioPortal 开放
OncoTree / Genome Nexus 本体与注释基础设施 — 开源

选型逻辑:把上表当作"同一问题的不同切面"——TCGA 回答"全景注释下该癌种长什么样",GENIE 回答"真实世界临床测序人群里它多常见",BPC 回答"接受治疗之后发生了什么",MSK-IMPACT 回答"单一深度体系的纵向长什么样"。多数研究需要两到三个切面互证;只用其中一面下结论,是跨数据集文献中最常见的过度解读来源。

§8.5 关键论文 Top 6

  1. The AACR Project GENIE Consortium. AACR Project GENIE: Powering Precision Medicine through an International Consortium. Cancer Discovery. 2017;7(8):818-831. doi:10.1158/2159-8290.CD-16-1087 — 注册库奠基论文:v1.1 景观、panel 差异、可行动性首次系统披露,亦是官方指定引用。
  2. The AACR Project GENIE Consortium. AACR Project GENIE: 100,000 Cases and Beyond. Cancer Discovery. 2022. doi:10.1158/2159-8290.CD-21-1547 — 10 万例里程碑:完整公开质控流水线、TCGA 一致性与 NCI-MATCH 匹配协议。
  3. Micheel CM, Sweeney SM, LeNoue-Newton ML, et al. American Association for Cancer Research Project GENIE: From Inception to First Data Release and Beyond—Lessons Learned and Member Institutions’ Perspectives. ASCO Educational Book. 2018 — 联盟治理与数据共享的第一手经验教训。
  4. Lavery JA, Brown S, Curry MA, et al. A data processing pipeline for the AACR Project GENIE Biopharma Collaborative data with the {genieBPC} R package. Bioinformatics. 2023;39(1):btac796. doi:10.1093/bioinformatics/btac796 — BPC 数据工程的事实标准工具。
  5. Lavery JA, Lepisto EM, Brown S, et al. A Scalable Quality Assurance Process for Curating Oncology Electronic Health Records: The Project GENIE Biopharma Collaborative Approach. JCO Clinical Cancer Informatics. 2022;6:e2100105. doi:10.1200/CCI.21.00105 — PRISSMM 框架下的 EHR 策展质量保证协议。
  6. Acebedo A, Bedard PL, Brown S, et al. Collaborating across sectors in service of open science, precision oncology, and patients: an overview of the AACR Project GENIE Biopharma Collaborative (BPC). ESMO Real World Data and Digital Oncology. 2025;7:100097 — BPC 使命、治理与数据发布的权威综述。

§8.6 社区活跃度

  • 学术影响:2025 年单年被 250+ 篇论文引用,10 年累计 1,650+(AACR 2025 年报);原始论文引用 603+(截至检索日,prophy.science)。
  • 会议存在感:AACR 年会设有 GENIE 专题 Minisymposium(2025 年收录 27 篇 proffered papers);十周年之际在 AACR-NCI-EORTC 分子靶点会议设专题回顾。
  • 平台生态:cBioPortal 提供在线探索与教程视频;Synapse 提供数据门户与版本化托管;{genieBPC} R 包在 CRAN 持续维护,配套 vignette 与教程文章。
  • 产业与监管:10 家药企组成 BPC 联盟持续注资深度注释;数据进入 sotorasib 监管申报证据链,构成学术-产业-监管三方循环的范例。
  • 数据模型开源化:GENIE Data Model(GDM)作为开源泛癌纵向数据框架发布,把注册库十年的建模经验外溢给其他真实世界数据项目(AACR 新闻页)。
  • 无公开论坛:官方支持渠道为 genieinfo@aacr.org / info@aacrgenie.org 邮件(AACR FAQ)。

§8.7 生态快照表

资源 类型 链接 推荐理由
GENIE 官方数据页 门户 https://aacrprojectgenie.org/data/ 版本、规模与获取入口的权威源头
19.0-public 数据指南 文档 PDF https://www.aacr.org/wp-content/uploads/2026/02/19.0_public_data_guide.pdf 逐文件逐字段定义 + 各中心 OncoTree 策略
Synapse GENIE 项目 数据托管 https://genie.synapse.org/ 下载、版本化与溯源
cBioPortal GENIE 在线分析 https://www.cbioportal.org/genie/ 免下载交互探索,profiled-denominator 计算
{genieBPC} R 包 工具 https://cran.r-project.org/package=genieBPC BPC 队列构建事实标准
OncoTree 本体 https://oncotree.mskcc.org/ 癌型编码/折叠/跨版本映射
Genome Nexus 注释服务 https://www.genomenexus.org/ 官方变异注释后端(Release 9 起)
MatchMiner (dfci/matchengine-V2) 工具 https://github.com/dfci/matchengine-V2 试验匹配协议复现(NCI-MATCH 研究)

§9 相关资源与引用

§9.1 官方资源

§9.2 BibTeX 完整引用

@article{AACRGENIE2017,
  author  = {{The AACR Project GENIE Consortium}},
  title   = {AACR Project GENIE: Powering Precision Medicine through an International Consortium},
  journal = {Cancer Discovery},
  volume  = {7},
  number  = {8},
  pages   = {818--831},
  year    = {2017},
  doi     = {10.1158/2159-8290.CD-16-1087}
}

@article{AACRGENIE2022,
  author  = {{The AACR Project GENIE Consortium}},
  title   = {AACR Project GENIE: 100,000 Cases and Beyond},
  journal = {Cancer Discovery},
  year    = {2022},
  doi     = {10.1158/2159-8290.CD-21-1547}
}

@article{Lavery2023genieBPC,
  author  = {Lavery, Jessica A. and Brown, Samantha and Curry, Michael A. and Martin, Axel S. and Sjoberg, Daniel D. and Whiting, Karissa},
  title   = {A data processing pipeline for the {AACR} project {GENIE} biopharma collaborative data with the {{genieBPC}} {R} package},
  journal = {Bioinformatics},
  volume  = {39},
  number  = {1},
  pages   = {btac796},
  year    = {2023},
  doi     = {10.1093/bioinformatics/btac796}
}

@article{Lavery2022QA,
  author  = {Lavery, Jessica A. and Lepisto, Elizabeth M. and Brown, Samantha and Rizvi, Harveer and McCarthy, Carly and LeNoue-Newton, Michele and Yu, Christine and Lee, Jonathan and Guo, Xiaoyu and Yu, Timothy and Rudolph, Joanne and Sweeney, Shawn M. and {AACR Project GENIE Consortium} and Park, Bob T. and Warner, Jeremy L. and Bedard, Philippe L. and Riely, Gregory and Schrag, Deborah and Panageas, Katherine S.},
  title   = {A Scalable Quality Assurance Process for Curating Oncology Electronic Health Records: The Project {GENIE} Biopharma Collaborative Approach},
  journal = {JCO Clinical Cancer Informatics},
  volume  = {6},
  pages   = {e2100105},
  year    = {2022},
  doi     = {10.1200/CCI.21.00105}
}

§9.3 引用指南

使用任何版本的 GENIE 数据时:① 引用上方 Cancer Discovery 2017 论文并在正文中注明所用数据版本号(如 “AACR Project GENIE 20.0-public”);② 附官方致谢文本:“The authors acknowledge the American Association for Cancer Research and its financial and material support in the development of the AACR Project GENIE registry, as well as consortium members for their commitment to data sharing. Interpretations are the responsibility of study authors.”;③ 海报与演示需包含 AACR Project GENIE 标识;④ 不得再分发原始数据文件(19.0 数据指南条款)。

违反条款的后果由官方明示:撤销数据访问权。团队级实践是把上述四条写进数据接入 SOP 的"红线"部分,并指定一名数据管理员作为与 genieinfo@aacr.org 的对接人——所有对外共享(含论文补充材料的样本级文件)经其合规确认后再放行。


§10 AI 使用声明卡

§10.1 AI 模型列表

本词条正文由大语言模型辅助起草(代码示例由模型生成并静态审校),由千方病案医学编辑部完成事实核查、医学审核与结构化校验。起草过程中 AI 仅接触公开网页检索结果与官方文档摘录,未接触任何 GENIE 原始数据文件或受控资源。

§10.2 AI 参与范围

AI 参与:初稿起草、结构组织、代码示例生成、中英文术语一致性检查。AI 不参与:事实裁决(全部数字经 WebSearch 核实并记录于 FACTS 清单)、医学审核、最终发布决定。校验脚本(check_md.py)承担格式硬校验。

人机分工的具体边界:所有带数字的陈述(规模、日期、频率、引用量)在稿件中必须能回溯到 §10.3 的 16 条来源之一,人工审核时逐条核对;代码示例由 AI 生成后经人工静态走查(列名与官方数据指南核对、逻辑与坑点协议核对),未做生产环境动态验证,使用者应按技术免责声明自行验证;医学表述(癌种、基因、变异命名)由编辑部按 HGNC/OncoTree 官方命名习惯复核。

§10.3 输入来源列表

  1. The AACR Project GENIE Consortium. AACR Project GENIE: Powering Precision Medicine through an International Consortium. Cancer Discovery. 2017;7(8):818-831. doi:10.1158/2159-8290.CD-16-1087
  2. The AACR Project GENIE Consortium. AACR Project GENIE: 100,000 Cases and Beyond. Cancer Discovery. 2022. doi:10.1158/2159-8290.CD-21-1547
  3. AACR Project GENIE Data(官方数据页,20.0-public 规模与版本信息). https://aacrprojectgenie.org/data/
  4. AACR Project GENIE 19.0-public Data Guide(2026-01-23). https://www.aacr.org/wp-content/uploads/2026/02/19.0_public_data_guide.pdf
  5. AACR Project GENIE News and Updates(19.0-public、GDM、sotorasib). https://www.aacr.org?p=258539/
  6. AACR Project GENIE FAQ(访问、注释管线、TCGA 重叠). https://www.aacr.org?p=24201/
  7. AACR Annual Impact Report 2025: Project GENIE(10 年累计引用与规模). https://annualreport2025.aacr.org/project_genie.php
  8. Ten Years of AACR Project GENIE(十周年报道,20 机构与启动史). https://brnw.ch/21x5cvn
  9. AACR Featured Cancers(18.0-public 癌种细分). https://www.aacr.org/?p=637784/
  10. AACR 2017 年会 GENIE 首批分析报道(TMB 与 panel 一致性). https://www.aacr.org?p=2789/
  11. AACR 2025 年会 GENIE 应用展示(罕见癌种验证、AI 平台、R175H 人群测算). https://www.aacr.org/?p=699855/
  12. cBioPortal GENIE News(首发与版本时间线). https://docs.cbioportal.org/news-genie
  13. genieBPC R 包 README(Synapse 认证与 2FA 要求). https://sunsite.icm.edu.pl/ftp/site/cran/web/packages/genieBPC/readme/README.html
  14. MSK Project GENIE BPC 页面(队列规模与 PRISSMM). https://www.mskcc.org/departments/epidemiology-biostatistics/biostatistics/project-genie-bpc-genomics-evidence-neoplasia-information-exchange-biopharma-collaborative
  15. BPC cBioPortal 集成论文(profiled denominator 与数据整合). https://www.ncbi.nlm.nih.gov/pmc/articles/pmc10690089/
  16. GENIE panel 计算方法综述(tumor-only 与 panel 偏倚). https://pmc.ncbi.nlm.nih.gov/articles/PMC10129038/

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§1 概览与版本时间轴 千方病案医学编辑部 对照 AACR 官方数据页与年报逐数字核验 ✅ 已通过/已验证
§2 医学背景(ICD-11/SNOMED 映射) 千方病案医学编辑部 术语表交叉核对 + OncoTree 官方映射说明 ✅ 已通过/已验证
§3-§4 规格与数据结构 千方病案医学编辑部 对照 19.0 数据指南与 CD-21-1547 流水线章节 ✅ 已通过/已验证
§6 代码与 8 坑点 千方病案医学编辑部(数据工程) 代码静态走查 + 坑点来源逐条溯源 ✅ 已通过/已验证
§7 DAIMS 与偏倚分析 千方病案医学编辑部 24 项逐项赋分复核 ✅ 已通过/已验证
§8-§9 生态与引用 千方病案医学编辑部 DOI 与链接逐条解析验证 ✅ 已通过/已验证

§10.5 AI 生成章节标注

全文章节由 AI 辅助起草;其中 §2.1/§2.1b 的编码映射表、§6.3-§6.4 的代码为 AI 生成内容,均经人工逐行审核与来源回溯后方才发布。

§10.6 最后人工审核日期

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

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


相关数据集导航

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

  • cosmic — 共享标签:基因组学与多组学 / 肿瘤学
  • genomics-england-100k — 共享标签:基因组学与多组学 / 肿瘤学
  • target — 共享标签:基因组学与多组学 / 肿瘤学
  • civic — 共享标签:基因组学与多组学 / 肿瘤学
  • cancerlinq — 共享标签:肿瘤学 / 真实世界数据
  • cptac — 共享标签:基因组学与多组学 / 肿瘤学
  • pcawg — 共享标签:基因组学与多组学 / 肿瘤学
  • cbioportal — 共享标签:基因组学与多组学 / 肿瘤学
  • all-of-us-nih — 共享标签:基因组学与多组学 / 肿瘤学
  • icgc — 共享标签:基因组学与多组学 / 肿瘤学

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

返回 AI-Ready 数据集