信息速览
一个错义变异被写进报告,结论那一栏是"临床意义未明"。测序能读出它,频率库能证明它罕见,预测软件能给出一个接近致病的分数——三样东西合起来,仍然不足以把它写成"致病"。ACMG/AMP 指南留了一条路:如果有一个经过验证的功能实验证明它确实破坏了蛋白功能,就可以记一条 PS3 强证据。
MAVE 就是这类实验:一次测几万个变异,给每个变异一个功能分数。过去十年这类数据大多沉在 MaveDB 里,以论文附件的形态存在——分数是分数,结论是结论,中间隔着一整套校准、分级与互操作的工作。
ClinMAVE 修的就是这一段路。它把 MaveDB 与文献里的 CRISPR 筛选数据统一到 GRCh38 与 HGVS,用 ClinVar 的致病、良性变异做对照算出 OddsPath,再把每个变异分到强、中、弱三档,拼成可写进判读流程的 PS3 强度。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全名 | ClinMAVE: a curated database for clinical application of data from multiplexed assays of variant effect |
| 中文定位 | 面向临床的变异效应实验(MAVE)整理库,功能证据的 ACMG 分级层 |
| 维护方 | 国家生物信息中心(NGDC)与中国医学科学院北京协和医院生物信息中心共建 |
| 官方入口 | https://ngdc.cncb.ac.cn/clinmave/ |
| 上线时间 | 2025 年,版本 v1.0 |
| 论文 | Nucleic Acids Research 2026, 54(D1): D1355–D1363;PMID 41233957 |
| 收录规模 | 2,179,903 个变异 / 821 个基因 / 2,147 个数据集 / 50 项研究 |
| 实验技术 | 2 类:深度突变扫描(DMS)与 CRISPR 类基因组编辑 |
| 功能分类 | 功能正常、功能丧失、功能获得三档 |
| 证据分级 | PS3 强 / 中 / 弱(OddsPath 与 acmgscaler 双重量化) |
| 校准覆盖 | 156 个数据集、50 个基因完成 PS3 映射 |
| 外部整合 | ClinVar、gnomAD v4.1、TCGA(经 cBioPortal)、dbSNP 156、五个预测器 |
| 取数方式 | 网页浏览、JSON 表格端点、按表导出 CSV、按基因批量导出 |
| 注册要求 | 无需注册 |
| 许可 | 学术用途免费,商业用途需联系作者授权 |
| 数据体量 | 官方未公布打包体积 |
§1 它要解决的具体麻烦
1.1 卡住报告的不是测序,是那句"未明"
一份遗传检测报告里最尴尬的一栏是 VUS。检出率越高,这一栏越常出现,尤其在肿瘤易感基因与心肌病基因上——这些基因被研究得多,被检出的罕见错义变异也多,而人群频率、保守性、剪接预测这类间接证据通常只能到"疑似",凑不满致病所需的证据组合。
功能实验本来是打破僵局的那类证据。ACMG/AMP 在 2015 年的框架里就把"经过良好验证的功能实验"写成了 PS3,2019 年 ClinGen SVI 又给出了用 OddsPath 量化这条证据的操作方法:拿一批已知致病和已知良性的变异做对照,看实验能不能把它们分开,分得越开,这条证据能承担的强度越高。方法有了,问题变成了数据在哪里、能不能直接用。
答案通常是"数据在,但不能直接用"。MAVE 的原始产出是一个分数表:变异、分数、标准差,有时带一个作者自己划的阈值。这个分数是相对的——不同实验的零点不同、方向不同、量纲不同,同一个基因的两个实验可能一个分数越高越坏、另一个反过来。临床端拿到这样一张表,既不知道阈值该定在哪,也不知道这个实验值不值得信。中间缺的那层加工,正是 ClinMAVE 想补的。
1.2 三条常见的错误期待
第一条,期待它是一个"变异致病性数据库"。它不是。它给的是功能证据这一条线的强度,最终分类仍要与其他证据线合并。库里的每一条记录都停在"这个变异在某个实验里功能异常,该实验的校准水平支持强/中/弱证据",再往前一步的判断不属于它。
第二条,期待它覆盖所有基因。821 个基因听起来不少,但人类蛋白编码基因有两万上下,也就是说它覆盖的是做过 MAVE 的那一小部分。而且这 821 个基因里,绝大多数只被一种实验技术碰过——795 个基因只有单一技术覆盖,跨平台验证对它们无从谈起。
第三条,期待它的分数可以跨基因比较。MAVE 分数是每个实验自己的量表,官方明确说过不同数据集之间分布异质、不能用固定阈值切。库内之所以能做分级,是因为每个数据集都单独校准过;把 A 基因的分数拿去和 B 基因的分数比大小,是把它当成了统一量表,这个前提不成立。
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 判断一个 VUS 有没有功能证据 | 按基因或 HGVS 检索,直接看到功能分类与证据强度 | 够,这是它最核心的用途 |
| 拿到某条 PS3 证据的量化依据 | OddsPath 值、强度档、校准所用对照集规模 | 够,但要连带看数据集质量 |
| 比较同一变异在不同实验下的结论 | 跨实验比较表与跨实验命中数 | 够,这是它区别于 MaveDB 的地方 |
| 训练变异效应预测模型 | 两百余万条带分数的变异,附分子后果与频率 | 够做训练,但需按基因或数据集切分防泄漏 |
| 拿到原始读数与标准差 | 只给分数,不给逐变异的重复测量与置信区间 | 不够,需回 MaveDB 取原始表 |
| 覆盖非编码区与调控变异 | 明确只收编码变异 | 不够,调控类 MAVE 由 MPRAbase 承接 |
| 直接生成临床报告结论 | 只给证据强度,不给最终五级分类 | 不够,需与其他证据线合并 |
| 追溯每条阈值的原始出处 | 论文称有逐数据集的阈值来源说明,站点以字段呈现 | 部分够,细则需查原文补充材料 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 实验室报出一个 VUS,临床方追问"有没有功能证据" | 用 HGVS 或基因名检索,几十秒内给出该变异的功能分类与 PS3 强度 | 先确认该数据集是否在 156 个已校准之列,未校准的只能当探索性证据 |
| 你在搭变异解读流水线,想把功能证据自动接进 ACMG 打分器 | JSON 表格端点可直接拉全表,字段名稳定,含数据集编号 | 用数据集编号做外键,把 OddsPath 与强度档一起入库,别只存分数 |
| 你在训一个变异效应预测模型,缺高质量标签 | 两百余万条变异带连续分数,另有三分类标签 | 按基因切分训练测试集,同一变异的多条记录必须整组同侧 |
| 你要评估某个 MAVE 实验值不值得信 | OddsPath、AUC、与五个预测器的一致性都可查 | 优先看 AUC 是否过 0.75,再看 PS3 档位,两者不一致时以 OddsPath 为准 |
| 你在做体细胞变异的肿瘤解读 | TCGA 频次摘要与 CGC 基因标注可直接用 | 注意体细胞场景的证据规则与胚系不同,PS3 这套主要面向胚系 |
| 你在写中文的遗传检测报告模板 | 三档强度与 PS3 术语可直接映射到报告用语 | 报告里必须写明"功能证据"而非"致病",并注明实验体系 |
| 你只是想找几个已知致病位点做阳性对照 | ClinVar 注释与功能分类并排,便于挑出高置信阳性 | 挑 PS3 强且 ClinVar 为致病、两者一致的词条 |
1.5 一句话判断
它的价值不在于又收了二百万条变异,而在于把"实验做出来一个数"和"临床能写一句话"之间的那段换算,逐数据集地做完了,并且把换算过程本身也摆了出来。
1.6 不适合谁:四条边界
不适合拿它当唯一的判读依据。 全库只有 156 个数据集完成 PS3 校准,覆盖 50 个基因。剩下的数据有分数、有功能分类,但没有强度——把它们当强证据用,等于跳过了校准这一步。
不适合覆盖非编码区。 官方口径很明确:只收编码变异。增强子、启动子、剪接调控区的 MAVE 不在其中,作者亦说明这类数据另有 MPRAbase 承接。做非编码变异解读的项目在这里会扑空。
不适合拿它替代原始数据。 它只保留分数与分类,不保留逐变异的重复测量、标准差与原始计数。要做方法学复现、要重算阈值、要检验批次效应,都得回 MaveDB 或原文补充材料。
不适合商业产品直接嵌入。 许可写的是学术用途免费,商业用途需联系作者。把接口接进商业报告系统之前,先解决授权问题,这一点在技术评估阶段最容易被忽略。
§2 数据构成与规格
2.1 三层半:变异、数据集、研究,外加基因汇总
整个库的骨架是三层加一张汇总表。最细的一层是变异,一行代表"某个数据集里的某个变异",带分数、功能分类与注释;中间一层是数据集,一行代表一次实验的一个读出,带实验模型、表型、诱变策略、位点数与变异数;最粗的一层是研究,一行代表一篇论文,一篇论文可以贡献多个数据集。
第四张表是基因汇总,它不是新的观测,而是把前两层按基因聚合:这个基因有几个数据集、用了哪几种技术、数据集体积多大。四张表的关系是聚合而非并列,理解这一点对取数很关键——想要变异就得从变异表拉,想要"这个基因做过什么实验"看基因表,不要指望从基因表反推变异。
| 层级 | 一行代表 | 主键 | 规模 |
|---|---|---|---|
| 变异 | 一个数据集里的一个变异 | 数据集编号 + HGVS 标识 | 两百余万行 |
| 数据集 | 一次实验的一个功能读出 | dataset0001 形式的编号 | 两千余个 |
| 研究 | 一篇同行评议论文 | PMID | 五十项 |
| 基因汇总 | 一个基因的实验覆盖情况 | Ensembl 基因编号 | 821 行 |
三层之间的关系有一个必须记住的后果:同一变异被多个数据集测过时,变异表里就会出现多行。官方统计里有 29.02% 的变异至少在两个独立实验里被测过,这些变异在多行之间可能结论一致,也可能不一致。做任何按变异的去重统计之前,先决定"一变异多行"怎么合并——取最严、取最宽、还是取多数,三种口径给出的阳性率差别很大。
2.2 字段字典
变异表是全库最宽的一张,官方接口返回的字段共二十余个,可以分成四组:身份与坐标、实验与表型、功能与分数、外部注释。
| 字段 | 含义 | 组别 |
|---|---|---|
| identifier | HGVS 格式的变异标识,含转录本号 | 身份 |
| geneName | 基因符号 | 身份 |
| transcriptId | MANE 选定的参考转录本 | 身份 |
| datasetId | 所属数据集编号 | 身份 |
| chr / pos / ref / alt | 染色体与一基座标、参考碱基、替代碱基 | 坐标 |
| locationHg38 | GRCh38 坐标字符串 | 坐标 |
| locationHg19 | GRCh37 坐标字符串 | 坐标 |
| ucscHg38 | 指向 UCSC 浏览器对应位置的链接 | 坐标 |
| molecularConsequence | 分子后果,如剪接位点、错义、无义 | 注释 |
| maveTechnique | 实验技术大类,深度突变扫描或 CRISPR 类 | 实验 |
| mutagenesisStrategy | 诱变策略,如碱基编辑、寡核苷酸合成、易错 PCR | 实验 |
| phenotype | 该数据集的读出表型 | 实验 |
| functionalAssay | 功能读出方式 | 实验 |
| experimentModel | 实验体系,如某细胞系 | 实验 |
| aaNum | 覆盖的氨基酸长度 | 实验 |
| siteNum | 覆盖的位点数 | 实验 |
| score | MAVE 功能分数,方向已统一 | 功能 |
| consequenceClass | 功能分类:正常、丧失、获得 | 功能 |
| functionalDescription | 结合模型与表型的一句话描述 | 功能 |
| functionCuration | 该数据集的功能整理程度,如"仅有后果" | 功能 |
| crossAssayHits | 该变异被几个数据集覆盖 | 功能 |
| clinvarInformation | ClinVar 临床显著性 | 外部 |
| populationFrequency | gnomAD 人群频率 | 外部 |
| dbsnpId | dbSNP 编号 | 外部 |
| tcgaSummary | TCGA 体细胞频次摘要 | 外部 |
| pmid | 来源文献编号 | 外部 |
数据集表的字段更偏实验描述,是判断"这个实验值不值得信"的第一手材料:
| 字段 | 含义 |
|---|---|
| datasetId | 数据集编号 |
| geneName / ensemblId | 基因符号与 Ensembl 编号 |
| maveTechnique | 技术大类 |
| mutagenesisStrategy | 诱变策略 |
| functionalAssay | 功能读出 |
| experimentModel | 实验体系 |
| phenotype | 读出表型 |
| aaNum | 氨基酸长度 |
| siteNum | 位点数 |
| varNum | 变异数 |
| functionCuration | 功能整理程度 |
| pmid / pmidLink | 来源文献与链接 |
基因汇总表只有六个字段,回答的是"覆盖度"问题:
| 字段 | 含义 | 用途 |
|---|---|---|
| geneName | 基因符号 | 检索入口 |
| ensemblId | Ensembl 编号 | 跨库映射 |
| totalDatasets | 该基因的数据集数 | 判断证据厚度 |
| infoTechnique | 技术与各自数据集数 | 判断是否跨平台 |
| infoStrategy | 诱变策略与各自数据集数 | 判断实验多样性 |
| dataset | 数据集编号清单 | 批量取数 |
研究表的字段以文献为中心,用于追到源头:
| 字段 | 含义 |
|---|---|
| pmid / pmidLink | 文献编号与链接 |
| title | 论文标题 |
| journal | 期刊 |
| year | 年份 |
| geneName | 该研究覆盖的基因,可多值 |
| numDataset | 该研究贡献的数据集数 |
| datasetInfo | 数据集编号清单 |
| mutagenesisStrategy | 诱变策略 |
2.3 一条记录的完整解剖
把一条真实记录摊开看,能看清各层字段是怎么咬合的。下面是 VHL 基因在某个数据集里的一条变异,字段按接口原样保留,长文本做了截断标注。
{
"identifier": "NM_000551.4(VHL):c.263G>A",
"geneName": "VHL",
"transcriptId": "NM_000551.4",
"datasetId": "datasetXXXX",
"chr": "chr3",
"pos": 10142000,
"ref": "G",
"alt": "A",
"locationHg38": "3:10142000 (GRCh38)",
"locationHg19": "3:10142000 (GRCh37)",
"molecularConsequence": "Stop gained",
"maveTechnique": "CRISPR-Based Genome Editing",
"mutagenesisStrategy": "Saturation genome editing",
"phenotype": "VHL-mediated HIF degradation",
"functionalAssay": "Cellular fitness",
"experimentModel": "HAP1",
"score": -2.31,
"consequenceClass": "Loss-of-function",
"functionalDescription": "Loss of VHL-mediated HIF degradation in HAP1",
"crossAssayHits": 2,
"clinvarInformation": "Pathogenic",
"populationFrequency": "0.0000032",
"tcgaSummary": "NA",
"pmid": "00000000"
}
三点值得注意。第一,identifier 用的是完整 HGVS,带转录本号,这保证了同一位点在两种转录本下的不同描述不会混为一谈;只按 c. 部分做字符串匹配会漏。第二,locationHg19 与 locationHg38 都给了,做跨版本对齐时不必自己转换,但两个字段的格式是"染色体:坐标 (版本)"的字符串,要拆开才能当数值用。第三,consequenceClass 与 functionalDescription 是两件事:前者是三分类标签,后者是带实验体系的一句人话描述,做文本挖掘时两者都要留。
同一变异在另一个数据集里的记录会是另一行,score 的量表不同、mutagenesisStrategy 可能不同,crossAssayHits 则相同。跨实验比较表就是把这些行横向拼起来的结果。
2.4 功能分类与证据强度的分布
官方在论文与站点统计端点里给了两组分布,一组是功能分类,一组是证据强度档。这两组数字口径不同,不能相加也不能互推:功能分类覆盖全库,证据强度只覆盖已校准的子集。
| 功能分类 | 变异数 | 占比 |
|---|---|---|
| 功能正常 | 1,660,040 | 76.15% |
| 功能丧失 | 460,653 | 21.13% |
| 功能获得 | 59,210 | 2.72% |
功能丧失远多于功能获得,官方解释是研究取向所致:多数实验在设计时就针对功能丧失,约六成六的研究只测功能丧失。这个偏斜对使用者的直接影响是——做"功能获得"相关基因(原癌基因、通道病里的部分亚型)时,可用的数据会明显稀薄。
证据强度这一组来自站点的强度统计端点:
| 强度档 | 变异数 |
|---|---|
| 强 | 62,776 |
| 中 | 13,996 |
| 弱 | 8,638 |
三档合计八万余条,相对两百余万的总量不到百分之四。这就是这套分级最需要说清楚的边界:绝大多数变异有分数、有功能分类,但没有 ACMG 强度。看到"库里没有强度"时,不代表数据缺失,而代表这个数据集没有通过校准所需的对照集门槛。
跨实验覆盖的分布同样值得记住:
| 覆盖情况 | 变异数 | 含义 |
|---|---|---|
| 两个以上实验共享 | 1,323,292 | 可做一致性检验 |
| 仅单一实验 | 856,611 | 无法跨平台验证 |
基因层面的技术分布则是另一幅图景:只有深度突变扫描覆盖的基因 414 个,只有 CRISPR 类覆盖的 381 个,两类都有的仅 26 个。两侧相加正好是 821。这个"哑铃形"分布解释了为什么跨技术一致性分析只能做在很小的一块样本上——论文里那张一致性矩阵,用的是 3,663 个被两种技术同时测过的变异。
2.5 与 MaveDB、ClinVar 的字段差异
三者最容易混,因为它们都在讲"变异",但讲的不是同一件事。把字段摆在一起看,区别立刻清楚。
| 维度 | ClinMAVE | MaveDB | ClinVar |
|---|---|---|---|
| 一行代表 | 数据集里的变异 + 功能解读 | 一个 MAVE 分数集里的变异 | 一条临床提交的变异-表型断言 |
| 核心内容 | 功能分数、功能分类、PS3 强度 | 原始分数、标准差、读数计数 | 临床显著性五级分类 |
| 是否有 ACMG 强度 | 有,PS3 强/中/弱 | 无 | 有,但来自提交者,非统一校准 |
| 是否有实验元数据 | 有,模型、表型、诱变策略 | 有,更细,含原始构建信息 | 通常无 |
| 覆盖范围 | 821 个基因的编码变异 | 所有公开 MAVE 数据集 | 全人类基因的临床提交 |
| 更新方式 | 定期整合,版本化 | 社区提交驱动 | 持续提交与再评 |
| 主要使用者 | 临床解读与变异评估 | 实验与计算方法研究者 | 临床实验室与诊断流程 |
一句话概括三者的分工:MaveDB 存读数,ClinMAVE 把读数折成证据,ClinVar 收最终判读。顺序是从实验到证据再到结论,方向不能倒。想拿 ClinMAVE 反推 ClinVar 的判读、或拿 ClinVar 的结论去质疑 ClinMAVE 的分数,都是把三层压成了一层。
§3 核心层 A:身份与坐标
3.1 坐标统一是全部工作的前提
MAVE 实验的原始产出通常停在蛋白层或转录本层:作者写的是"第 88 位色氨酸变成终止",而不是"3 号染色体某个位置 G 变 A"。要把这样的描述与 ClinVar、gnomAD、TCGA 对上,必须先把蛋白层的变化反推到 DNA 坐标,再统一到同一个参考基因组版本上。这一步做不干净,后面所有注释都是错的。
ClinMAVE 的做法是分两条路走。深度突变扫描这一类,不走自己映射,而是直接用 Ensembl 发布的 MaveDB 处理文件——那份文件已经把蛋白层变异映射到了 GRCh38 的 DNA 坐标,并保留了原始序列上下文。用官方原话说,这是"已经过严格映射"的成果,直接复用比重新映射更稳。CRISPR 这一类没有现成的映射产物,只能从文献补充材料里抽 DNA 层变异;若原文只给了蛋白层或转录本层的描述,就用 TransVar 反推到 GRCh38。
两条路合流的产物是统一的 HGVS 标识。注释用 VEP v114.2,参考转录本用 MANE 的 GRCh38 v1.4 版本。选 MANE 而不是随便挑一个转录本,意义在于 MANE 是 NCBI 与 EMBL-EBI 联合认定的"临床报告首选转录本",选它等于让库里的 HGVS 与临床实验室写的 HGVS 尽量同形。
3.2 从蛋白层到 DNA 层:两条来源路径的代价
两条路径的代价不一样,值得分开说。
复用 MaveDB 映射的代价是"受制于上游"。MaveDB 的坐标映射是一个持续进行的工作,尚未覆盖全部已发表数据集;ClinMAVE 只能收录已经映射好的部分。这就是为什么论文在讨论局限时明确写到,一些数据集"尚待纳入",并举了 ATM 这类新近发表的例子。换句话说,库的完整性上限由 MaveDB 的进度决定。
自己从文献抽数据的代价是"受制于原文质量"。补充材料的格式千差万别,有的给 VCF,有的给带坐标的 CSV,有的只有一张蛋白层变化表。原文若只给氨基酸改变,反推时就依赖转录本选择,选错转录本会得到错误的 cDNA 位置。官方对此的处理是统一用 MANE 转录本,并在映射比例过低时整份数据集弃用。
| 来源 | 取得方式 | 优势 | 代价 |
|---|---|---|---|
| DMS 类 | 复用 Ensembl 的 MaveDB 处理文件 | 坐标已校验,上下文保留 | 覆盖受上游进度限制 |
| CRISPR 类 | 文献补充材料抽取 + TransVar 反推 | 覆盖最新发表的筛选 | 依赖原文质量与转录本选择 |
3.3 ID 体系:dataset0001 这样的编号
库里没有用 DOI,也没有用论文里的实验名,而是自造了一套顺序编号:dataset0001 到 dataset2147。这套编号的好处是稳定、短、便于做外键;坏处是它不自带语义——看到 dataset0104 你不知道这是哪个基因、哪篇论文、什么技术。
因此任何跨库对接都要多做一步映射。实践中真正稳定的锚点有三个:变异层用 HGVS 加转录本号,基因层用 Ensembl 基因编号,文献层用 PMID。数据集编号适合在库内做关联,不适合作为对外的主键。
| 标识类型 | 例子 | 稳定性 | 适用场景 |
|---|---|---|---|
| 数据集编号 | dataset0104 | 库内稳定,跨版本可能重排 | 库内关联、批量导出 |
| HGVS 标识 | NM_000551.4(VHL):c.263G>A | 高,但依赖转录本版本 | 跨库对接、临床报告 |
| Ensembl 基因编号 | ENSG00000134086 | 高 | 基因层聚合 |
| PMID | 数字编号 | 高 | 追文献、追阈值出处 |
| dbSNP 编号 | rs 编号 | 中,常见缺失 | 常见变异的快速匹配 |
dbSNP 一栏在库内大量为空,这不是缺陷而是数据性质:MAVE 测的多是人工构建的变异,其中相当一部分在人群里从未被观察到,自然没有 rs 编号。指望用 rs 编号做主键去对接,会在这里断掉。
3.4 转录本选择带来的可见差异
同一基因组位置的变异,在不同转录本下会写成不同的 c. 编号,甚至落在不同的外显子上。库内统一用 MANE,等于替你做了选择。但如果你的实验室用的是另一套转录本(比如某家医院沿用的旧版本),检索时就会对不上。
实务上的处理办法是双路检索:先用 HGVS 试一次,不中就用基因组坐标再试一次。库内的位置字段是现成的,chr、pos、ref、alt 四个字段拼起来就足以做精确匹配,不必依赖字符串。
| 检索方式 | 命中条件 | 失败原因 |
|---|---|---|
| 完整 HGVS | 转录本号与库内一致 | 转录本版本不同 |
| 基因名 + c. 编号 | 同上 | 同上 |
| 基因组坐标四元组 | 参考版本一致 | 用了 GRCh37 坐标去配 GRCh38 字段 |
| rs 编号 | 该变异在 dbSNP 中有记录 | 人工构建变异无 rs |
3.5 坐标双写与版本陷阱
库内同时给了 GRCh37 与 GRCh38 两套坐标,看上去省事,实际藏着一个陷阱:两个字段都是字符串,形如"3:10142000 (GRCh38)",不能直接当整数比较或排序。要拿来做区间查询,得先按冒号与空格切开。
另一处需要注意的地方是,外部注释的版本并不完全同步:ClinVar 取的是 2025 年 5 月 3 日的快照,gnomAD 是 v4.1,cBioPortal 是 2025 年 6 月 2 日,dbSNP 是 156 版,预测器来自 dbNSFP v4.7a。这些版本各自冻结在不同的时点,把它们当成"当前最新"会对不上。做时间敏感的分析(比如"某变异在最新 ClinVar 里是否已被重分类")必须回原始库核。
| 外部资源 | 版本或快照 | 影响 |
|---|---|---|
| ClinVar | 2025-05-03 | 之后的重分类不会反映 |
| gnomAD | v4.1 | 频率口径与 v2 不同,不可混用 |
| cBioPortal / TCGA | 2025-06-02 | 体细胞频次为快照值 |
| dbSNP | build 156 | 新提交的 rs 可能缺失 |
| 预测器 | dbNSFP v4.7a | 五个工具的分数为打包版本 |
| VEP / MANE | v114.2 / v1.4 | 分子后果与转录本选择依据 |
§4 核心层 B:证据
4.1 OddsPath:把一次实验折成一个比值
OddsPath 是这套体系里最关键的中间量,来自 ClinGen SVI 的推荐做法。它的构造不复杂,但要理解它衡量的是什么,得看两个概率。
第一个概率 P1 是"致病变异在对照组里的占比",也就是对照集里致病记录除以全部记录;第二个概率 P2 是"致病变异中功能异常者的占比",功能异常指功能丧失或功能获得。两者相除再乘一个校正项,得到的就是 OddsPath。直观地说,它回答的是:在这个实验里,看到"功能异常"这件事,把"致病"的可能性抬高了多少倍。
$$ \text{OddsPath} = \frac{P_2}{P_1} \cdot \frac{1 - P_1}{1 - P_2} $$
这个量的好处是可比。不同实验的分数零点不同、量表不同,但 OddsPath 是比值,量纲被消掉了,于是可以横向排座次。ClinGen SVI 给出的三档门槛是:大于 2.1 支持 PS3 弱证据,大于 4.7 支持中等,大于 18.7 支持强。三条线是整篇论文里最常被引用的一组数字。
4.2 变异级强度:acmgscaler 的分档
OddsPath 是数据集级的,一个问题随之而来:同一个实验里,所有功能异常的变异都该拿同样的强度吗?指南的答案是"不该"。ACMG/AMP 建议把强度落到变异层(splitting),而不是整份实验一律套用(grouping)。理由很实在:一个实验的整体分辨力可以很强,但边缘区域的变异仍然可能被误判。
ClinMAVE 用的是 acmgscaler 给出的基因特异阈值。这个工具的思路是:对每个基因,用该基因自己的致病变异与良性变异分布去标定分数阈值,而不是套一个全局阈值。这解决了"不同基因的分数分布形状不同"的问题。分档结果是三档:强、中、弱。
这两层叠起来的用法,论文写得很清楚:OddsPath 决定这份实验最多能支持到哪一档,变异级强度决定这个变异有没有资格拿这一档。两者取小。一份 OddsPath 大于 18.7 的实验,只有落在强档的变异才能记 PS3 强;落在中档的变异只能记中等,尽管实验本身够强。
| 层 | 决定什么 | 单位 | 来源 |
|---|---|---|---|
| OddsPath | 这份实验最高能支持到哪一档 | 数据集 | ClinGen SVI 阈值 |
| 变异级强度 | 这个变异够不够格拿这一档 | 变异 | acmgscaler 基因特异阈值 |
| 合并规则 | 两者取小 | 变异 | ACMG/AMP 的 splitting 原则 |
4.3 校准的覆盖:156 个数据集、50 个基因
校准不是免费的。要算 OddsPath,得有足够的已知致病与已知良性变异做对照,官方设的门槛是每个数据集至少 10 个致病或良性变异、且 ClinVar 评审星级至少一星。按这个门槛筛下来,进入校准的是 156 个数据集,覆盖 50 个基因。
这 156 个里,最终有一半多拿到了可用的分级:88 个达到映射条件,其中 45 个落在弱档、22 个落在中档、21 个落在强档。剩下三分之二左右虽然算出了 OddsPath,但没有跨过最低门槛,只能算"有量化但不够格"。
| 校准结果 | 数据集数 | 占比 | 含义 |
|---|---|---|---|
| 达到 PS3 弱档以上 | 88 | 56.41% | 可写进判读流程 |
| 其中 PS3 强档 | 21 | 13.46% | 多为 BAP1、VHL、BRCA1、BRCA2 类 |
| 其中 PS3 中档 | 22 | 14.10% | 可作中等证据 |
| 其中 PS3 弱档 | 45 | 28.85% | 可作支持性证据 |
| 未达最低门槛 | 68 | 43.59% | 有 OddsPath 但不可用 |
强档集中在少数几个基因上,这不是巧合。这几个基因的共同点是:ClinVar 里有大量高置信的致病与良性词条,实验本身又有清晰的功能读出(细胞存活、转录激活、蛋白稳定性),两者叠加才能把 OddsPath 推到 18.7 以上。换句话说,强档的出现需要"临床端有共识"与"实验端有分辨力"同时成立,缺一不可。
4.4 案例:BAP1 c.535C>T 的三重对账
用一条具体变异走完整条链,能看清每一层各自贡献了什么。选 BAP1 的 c.535C>T(蛋白层 p.Arg179W),因为它在论文里被反复当作范例,且有一条独立验证线索。
第一层是实验。这条变异落在 BAP1 的催化域附近,所在数据集的 OddsPath 超过 18.7,属于能支持强档的那一类。实验读的是细胞适应性,饱和基因组编辑在内源位点直接改写序列,属于 CRISPR 类里证据分量较重的一种。
第二层是变异级分档。同一个数据集里,落在强档的只是功能异常变异的一部分,这条变异在强档内。两层取小,得到 PS3 强。
第三层是位点上下文。库里的棒棒糖图显示,在它两侧的 175 至 185 号密码子范围内,功能丧失变异的比例达到 73.08%。这个聚集本身不构成变异级结论,但按 ACMG 的规则可以支撑 PM1(位于突变热点或关键功能域)这一条中等证据。于是这条变异同时拿到了 PS3 强与 PM1 两条线,这在 VUS 重分类里是相当有力的一种组合。
对账的结果是:功能实验说它坏,位点分布说这一带本来就耐受性差,两者方向一致。论文提到,这条被判为 PS3 强的变异后来在一例葡萄膜黑色素瘤的家系分析中得到验证。
§4.4 的案例之所以值得记住,是因为它示范了正确用法:实验证据与位点证据分开记,最后在分类时合并,而不是拿实验分数直接下结论。
| 证据层 | 该变异的具体情况 | 对应 ACMG 条款 |
|---|---|---|
| 实验级 | OddsPath 超过 18.7,实验可支持强档 | PS3 上限 |
| 变异级 | 落在强档 | PS3 强 |
| 位点级 | 邻近 175–185 号密码子功能丧失比例 73.08% | PM1 |
| 独立验证 | 葡萄膜黑色素瘤家系分析支持 | 外部佐证 |
4.5 校准后的自评:AUC 与一致性
库自己给了两组质量读数,用来回答"这份实验到底能不能分开致病与良性"。第一组是 ROC 曲线下面积,第二组是与计算预测器的一致性。
AUC 这一项,官方在 163 个数据集上算了,取值范围从 0.42 到 1.0,其中 52 个(31.9%)超过 0.75。0.75 这条线是官方自己设的"有潜在临床效用"的门槛。值得注意的是,AUC 随 OddsPath 分档单调上升,所有 PS3 强档数据集的 AUC 都过了 0.75——这说明两套指标在方向上是一致的,OddsPath 高确实对应分辨力强。
第二组是预测器一致性。官方拿五个工具(AlphaMissense、CADD、MetaSVM、REVEL、PolyPhen-2)与 MAVE 的功能分组做正交比较,在至少含四个预测器的 1,696 个数据集里,有 837 个(49.35%)达到统计显著一致。这个比例不到一半,说明实验与预测在相当多的情况下并不同调——这既是预测器的局限,也是实验的局限,两者都不能单独当金标准。
| 指标 | 覆盖 | 结果 | 读法 |
|---|---|---|---|
| AUC | 163 个数据集 | 0.42–1.0,52 个过 0.75 | 过线才谈得上临床效用 |
| 预测器一致性 | 1,696 个数据集 | 837 个显著一致 | 约半数,实验与预测并非同源 |
| 跨技术一致性 | 3,663 个变异 | 63.47% 一致 | 两种技术测同一变异,三分之一不同调 |
| 通路广度 | 283,953 个异常变异 | 63.50% 只影响单通路 | 多效性有限 |
跨技术那一条最值得警惕:被深度突变扫描与 CRISPR 编辑同时测过的变异只有三千多个,一致性是 63.47%。也就是说,换一种实验技术,三分之一的变异结论会变。这不是谁错了,而是实验体系不同——一个在 exogenous 表达体系里测,一个在内源位点测,细胞环境本身就不同。
4.6 校准的边界:三件它做不到的事
第一件,校准不能替代对照集的质量。OddsPath 的分母与分子都来自 ClinVar,如果 ClinVar 里某个基因的致病词条本身有争议,算出来的 OddsPath 就会偏。库没有对 ClinVar 词条做再评估,它把这个不确定性原样继承了下来。
第二件,校准不能跨基因移植。acmgscaler 的阈值是基因特异的,A 基因的强档阈值不能套到 B 基因上。这也意味着"这个库给所有变异一个统一分数"的期待不成立——它给的是一套逐基因、逐数据集的换算表。
第三件,校准不能覆盖体细胞场景。PS3 这套规则出自胚系解读框架,体细胞变异用的是另一套(AMP/ASCO/CAP 的四级)。库里有 TCGA 频次与 CGC 基因标注,但那只是注释,不构成体细胞证据分级。
§5 核心层 C:取数
5.1 四个入口
取数有四条路,从轻到重排列:网页浏览、表格端点、按表导出、按基因批量导出。四条路的数据同源,差别在于一次能拿多少、要不要写代码。
| 入口 | 地址形态 | 一次能拿 | 适合谁 |
|---|---|---|---|
| 网页浏览 | /browse/genes 等五个列表页 | 一页几十条 | 先看有什么的人 |
| 表格端点 | /api/fetch/table/variant 等 | 一个 JSON 数组 | 写脚本的人 |
| 按表导出 | 页面上的 Download CSV | 当前筛选的全部 | 要 Excel 的人 |
| 按基因导出 | 基因页触发的任务式下载 | 该基因全部变异 | 做单基因专题的人 |
五个列表页分别是基因、变异、数据集、研究、实验技术。列表页支持关键词检索,检索框能吃基因名、HGVS、数据集编号、Ensembl 编号。这一点在官方首页的说明里写得很明确——四种标识都能直接粘进去。
5.2 先问规模:一个端点拿四个数
在做任何取数之前,先确认规模,避免按错误的量级规划存储。站点的统计端点返回四个计数,是全库最权威的规模口径。
#-- 全库四个计数:基因、研究、数据集、变异
curl -s "https://ngdc.cncb.ac.cn/clinmave/api/stat/homestat"
#-- 返回形如
#-- {"geneCount":821,"studyCount":50,"datasetCount":2147,"variantCount":2179903}
这四个数就是速览表里那一行的来源。它们也解释了为什么这个库的"体量"不能用文件大小衡量——变异数量在两百万量级,但每条记录只有二十来个字段,纯文本导出后是几百兆级的表,不是影像库那种几十 GB 的量级。官方没有公布打包体积,任何具体数字都属于估算,不应引用。
5.3 表格端点:一次一个 JSON 数组
四个表格端点分别对应四张表。它们的响应是标准 JSON,外层是 data 数组,每条记录是一组键值对。字段名与正文 §2.2 的字典一致,可以直接拿来建表。
#-- 数据集表:每行一次实验的一个读出
curl -s "https://ngdc.cncb.ac.cn/clinmave/api/fetch/table/dataset" \
| python3 -c "import json,sys; d=json.load(sys.stdin)['data']; print(len(d)); print(d[0])"
#-- 基因汇总表:每行一个基因的覆盖情况
curl -s "https://ngdc.cncb.ac.cn/clinmave/api/fetch/table/genesummary" \
| python3 -c "import json,sys; d=json.load(sys.stdin)['data']; print(len(d))"
变异表的体量最大,直接整表拉取会得到几十兆的响应。实务做法是先在浏览器里用筛选条件缩小范围,再从地址栏把参数抄下来重放。这个接口的筛选参数没有公开文档,属于"看得见但没写在说明书里"的部分——这是取数时最需要留意的边界。
| 端点 | 返回 | 规模 | 备注 |
|---|---|---|---|
| /api/fetch/table/variant | 变异表 | 最大 | 建议带筛选参数 |
| /api/fetch/table/dataset | 数据集表 | 两千余行 | 可整表拉 |
| /api/fetch/table/genesummary | 基因汇总 | 821 行 | 可整表拉 |
| /api/fetch/table/studysummary | 研究汇总 | 50 行 | 可整表拉 |
| /api/stat/homestat | 四个计数 | 一行 | 最轻 |
5.4 下载是两段式的
按表导出与按基因导出都不是直链,而是一个任务:先申请,拿到任务号,再轮询进度,最后取文件。这个设计是为了应对大结果集——直接返回会让浏览器等很久。
#-- 两段式下载:申请任务 -> 轮询进度 -> 取文件
import time, urllib.parse, urllib.request
BASE = "https://ngdc.cncb.ac.cn/clinmave/api"
def start(params):
q = urllib.parse.urlencode(params)
with urllib.request.urlopen(f"{BASE}/download?{q}", timeout=60) as r:
return r.read().decode().strip()
def progress(task_id):
q = urllib.parse.urlencode({"taskId": task_id})
with urllib.request.urlopen(f"{BASE}/download/progress?{q}", timeout=60) as r:
return int(r.read().decode().strip())
def fetch(task_id, out):
q = urllib.parse.urlencode({"taskId": task_id})
with urllib.request.urlopen(f"{BASE}/download/file?{q}", timeout=600) as r:
open(out, "wb").write(r.read())
tid = start({"geneName": "BRCA1"})
while progress(tid) < 100:
time.sleep(2)
fetch(tid, "brca1_variants.csv")
print("done", tid)
任务号是一个 UUID 形式的字符串,进度接口返回 0 到 100 的整数。这套流程在页面上被封装成按钮,脚本里要自己实现。注意进度接口与文件接口的路径分别是 /download/progress 与 /download/file,两者都以任务号为唯一参数。
| 步骤 | 请求 | 返回 | 常见失败 |
|---|---|---|---|
| 申请 | GET /api/download?geneName=BRCA1 | 任务号字符串 | 基因名拼错返回空 |
| 轮询 | GET /api/download/progress?taskId=… | 0–100 整数 | 任务过期 |
| 取件 | GET /api/download/file?taskId=… | 文件流 | 未等进度到 100 |
5.5 单基因批量:走通一条完整链路
单基因导出是最常用的一条路,适合做基因专题评估。下面这段把申请、轮询、落盘、读回四步连起来,读回时按功能分类做一次分组计数,用来快速判断这个基因的实验是否偏向某一类结论。
#-- 单基因导出后立刻做一次分组计数
python3 - <<'PY'
import csv, collections
rows = list(csv.DictReader(open("brca1_variants.csv", encoding="utf-8")))
c = collections.Counter(r.get("consequenceClass", "") for r in rows)
print("rows", len(rows))
for k, v in c.most_common():
print(f"{k:22s} {v}")
PY
这段的意义不在于代码本身,而在于提醒一件事:拿到单基因的表之后,第一件该做的事是看功能分类的构成。如果一个基因的数据里九成都是功能正常,那这个实验多半测的是耐受性而非致病性,用它找阳性会很难。
5.6 拼一张自己的表:按数据集编号对齐
真正做分析时,往往要把变异表与数据集表拼起来——变异表里有 datasetId,数据集表里有实验模型与表型,两者一拼才能回答"这条变异是在什么体系里测的"。
#-- 变异表与数据集表按 datasetId 左连接
import json, urllib.request
def table(name):
url = f"https://ngdc.cncb.ac.cn/clinmave/api/fetch/table/{name}"
with urllib.request.urlopen(url, timeout=300) as r:
return json.loads(r.read().decode())["data"]
var = table("variant")
ds = {d["datasetId"]: d for d in table("dataset")}
merged = [{**v, "model": ds.get(v["datasetId"], {}).get("experimentModel", "NA"),
"pheno": ds.get(v["datasetId"], {}).get("phenotype", "NA")} for v in var]
print(len(merged), merged[0]["model"], merged[0]["pheno"])
这段跑全表会占不少内存,实务上应该先按基因或技术筛一遍再拼。拼完之后最有用的一列是实验体系:同一个基因若既有细胞系数据又有酵母数据,两者的结论需要分开看,不能混成一锅。
拼好之后还有一步是去重。主键是数据集加变异标识,直接拿去切训练集会把同一变异劈到两侧,下面这段按变异标识折叠,并保留它被几个数据集支持。
#-- 折叠到变异层:同一变异只留一行,并记录跨实验命中数
import json, urllib.request, collections
url = "https://ngdc.cncb.ac.cn/clinmave/api/fetch/table/variant"
with urllib.request.urlopen(url, timeout=300) as r:
rows = json.loads(r.read().decode())["data"]
by_var = collections.defaultdict(list)
for r in rows:
by_var[r["identifier"]].append(r)
folded = [{"identifier": k, "gene": v[0]["geneName"],
"hits": len(v), "classes": sorted({x["consequenceClass"] for x in v})}
for k, v in by_var.items() if v]
print(len(folded), sum(1 for f in folded if f["hits"] > 1))
classes 这一列会暴露一件事:有些变异在不同数据集里的功能分类并不一致。这类冲突记录在做监督学习时应当单独标记或剔除,混在训练集里会让模型学到自相矛盾的标签。
5.7 没有 API 文档这件事
站点提供了一套完整的 JSON 接口,但没有发布接口文档。参数名、分页方式、错误码都只能从前端代码或浏览器网络面板里反推。这带来三个现实后果。
第一,接口可能变。字段名一改,脚本就断,而没有任何变更通知可依赖。稳妥做法是把字段名写进配置,别硬编码在业务逻辑里。
第二,筛选参数不完整。表格端点的筛选能力取决于前端传了什么,某些组合可能不被支持,返回的是全表而不是筛选结果。判断办法是看返回条数是否与预期量级相符。
第三,没有速率承诺。批量抓取时应当自行限速,串行请求、间隔一秒以上,不要并发打满。这是对公共学术资源的基本礼貌,也避免被封。
| 风险 | 表现 | 应对 |
|---|---|---|
| 接口无版本 | 字段改名无通知 | 字段名配置化,加解析兜底 |
| 参数不完整 | 筛选被忽略,返回全表 | 校验返回条数 |
| 无速率承诺 | 并发过高被限 | 串行 + 间隔 |
| 无错误码文档 | 400 只说 Bad Request | 逐个参数二分定位 |
§6 与库内条目的关系
6.1 关系图谱
在库内已有的变异类词条里,ClinMAVE 站的位置很特殊:它不提供新的一手观测,而是把别处的观测加工成证据。因此它与每一条的关系都是"上下游"而非"并列"。
| 库内词条 | 与 ClinMAVE 的关系 | 方向 |
|---|---|---|
| ClinVar 临床变异注释库 | 提供校准用的致病与良性对照集;ClinMAVE 回写功能证据 | 双向 |
| gnomAD 基因组聚合数据库 | 提供人群频率,用于判断罕见程度 | 上游 |
| dbSNP 遗传变异库 | 提供 rs 编号,用于常见变异匹配 | 上游 |
| TCGA 癌症基因组图谱 | 经 cBioPortal 提供体细胞频次 | 上游 |
| cBioPortal 多组学平台 | 体细胞频次的取数渠道 | 上游 |
| COSMIC 肿瘤体细胞突变库 | 提供 CGC 癌症基因清单 | 上游 |
| OMIM 基因与遗传病库 | 提供基因-疾病关系的背景 | 旁支 |
| AlphaMissense 致病性预测 | 五个正交预测器之一 | 并列 |
| Ensembl 基因组注释 | 提供参考序列与 MaveDB 处理文件 | 上游 |
| UniProt 蛋白质资源 | 提供蛋白层坐标与功能域参照 | 旁支 |
| CIViC 肿瘤变异解读库 | 体细胞侧的临床解读,与胚系侧的 ClinMAVE 分工 | 并列 |
| OncoKB 肿瘤变异知识库 | 同上,偏用药与预后 | 并列 |
有一点必须说明:库内目前没有 MaveDB 的独立词条。这不影响本文的写法,但在站内做内链时不能硬指——MaveDB 的相关说明只能落在正文里,不能做成站内跳转。
6.2 检索路径
站内的检索路径按"你想找什么"来分,比按词条名分更实用。
| 你要找的东西 | 站内检索词 | 会落到哪里 |
|---|---|---|
| 变异临床显著性的原始判读 | ClinVar、临床显著性、星级 | ClinVar 词条 |
| 人群频率与罕见性判断 | gnomAD、等位基因频率 | gnomAD 词条 |
| 原始 MAVE 分数与实验细节 | MAVE、深度突变扫描、饱和基因组编辑 | 本文 §2.2 与 §5.3 |
| 体细胞频次与泛癌图谱 | TCGA、cBioPortal、泛癌 | TCGA 与 cBioPortal 词条 |
| 癌症基因清单 | CGC、COSMIC | COSMIC 词条 |
| 错义变异计算预测 | AlphaMissense、REVEL、CADD | AlphaMissense 词条 |
| 基因-疾病关系 | OMIM、遗传病 | OMIM 词条 |
| 蛋白功能域与位点 | UniProt、功能域 | UniProt 词条 |
6.3 三者最容易混的地方
ClinVar、MaveDB、ClinMAVE 三者的混淆不是术语问题,而是工作流问题。把它们按"一份变异从实验到报告要走几步"排开,位置就固定了。
| 步骤 | 谁负责 | 产出 | 典型误用 |
|---|---|---|---|
| 做实验、出分数 | 原始 MAVE 研究 | 分数表与阈值 | 把分数当结论 |
| 收原始数据、给统一坐标 | MaveDB | 坐标化的分数集 | 把仓库当解读库 |
| 折成证据、给强度 | ClinMAVE | PS3 强/中/弱 | 把强度当分类 |
| 收临床提交、给五级分类 | ClinVar | 致病/可能致病/未明/可能良性/良性 | 把提交当共识 |
| 出报告 | 临床实验室 | 判读结论 | 把任一层当全部 |
这五步里,越往下越接近结论,也越依赖人的判断。ClinMAVE 站在第三步,它的产出必须经过第四步与第五步才能进报告。任何试图从第三步直接跳到第五步的做法,都是把证据当结论。
§4.4 的案例正好演示了这条链:实验级给上限,变异级给档位,位点级给旁证,最后仍需临床侧独立验证。没有哪一层能单独成立。
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
先纠正一个最常见的误判:把"没有强度"当成"质量差"。库里有八成以上的变异没有 PS3 强度,原因不是数据粗糙,而是校准的门槛卡在对照集规模上——一个数据集要凑够十个以上带星级的已知致病变异才有资格算 OddsPath,许多冷门基因根本凑不出来。这是上游临床证据的稀缺,不是整理方的疏漏。
第二个需要校正的是"分数越高越可信"。MAVE 分数是每个实验自己的量表,跨数据集不可比;真正可比的是 OddsPath 与 AUC 这类经过对照集标定的指标。拿分数做跨基因排序,是这套数据里最隐蔽的一种误用。
把这两点摆正之后,下面五个维度的分数才有意义。给高分的地方集中在"它做了别人没做的事",扣分的地方集中在"它能做的事有明确上限"。
7.1 五维评分
按 DAIMS 的常用维度打分,每项 1–5 分,分数针对"作为临床变异解读的功能证据来源"这个用途:
| 维度 | 分数 | 理由 |
|---|---|---|
| 数据规模 | 4 | 两百余万条变异、821 个基因,在同侪中位置靠前 |
| 标注质量 | 4 | 阈值逐数据集回溯原文,方向统一,附校准指标 |
| 任务适配 | 5 | 把功能证据直接映射到 PS3 三档,这一步罕有替代 |
| 文档完整 | 3 | 论文写得细,站点接口无文档,字段释义靠推断 |
| 可获取性 | 4 | 免注册、有 JSON 端点,但限学术用途、无批量直链 |
合计 20 分(满分 25)。这个结构说明它不是全能型资源:适配性拿满,规模与标注稳健,短板在文档与授权。文档这一项的扣分尤其值得注意——论文里的方法描述足够详细,但站点的接口层面几乎是黑箱,两者不在一个水平上。
7.2 校准不等于定论
把"校准"与"定论"分开,是使用这套数据时最重要的认知。校准做的是三件事:确认这个实验能分开致病与良性、给出一个可比的比值、把这个比值折算成证据档位。它没有做的是:确认这条变异在患者身上真的致病。
这两件事之间的距离,在数据里能直接看到。跨技术一致性只有 63.47%——同一条变异,换一种实验技术,三分之一的结论会变。如果校准等于定论,这个数字应该接近百分之百。它不到,说明实验体系本身在影响结论,而体系差异不是校准能消除的。
§4.4 的案例里的那条 BAP1 变异之所以能记 PS3 强,是因为实验级与变异级两层恰好都到位;把其中任何一层换成一个弱数据集,结论立刻降档。这就是校准产出的是"这一条证据有多强",而不是"这个变异是什么"。
还有一层:校准的对照集来自 ClinVar。ClinVar 的记录本身有星级之分,一星记录可能是单一实验室的初步判断。官方设了"至少一星"的门槛,这挡住了完全无据的提交,但挡不住有据而后来被推翻的提交。校准结果因此有一个时间戳属性——它反映的是 2025 年 5 月那个时点的临床共识。
7.3 已知的、可枚举的偏差
| 偏差 | 表现 | 影响 |
|---|---|---|
| 技术覆盖哑铃形 | 414 个基因只有 DMS,381 个只有 CRISPR,26 个兼有 | 跨技术验证只能做在极少数基因上 |
| 功能方向偏斜 | 功能丧失占 21.13%,功能获得仅 2.72% | 原癌基因与功能获得类疾病数据稀薄 |
| 校准覆盖窄 | 156 个数据集、50 个基因 | 其余数据有分数无强度 |
| 对照集依赖 | OddsPath 全部来自 ClinVar 快照 | ClinVar 的错误与滞后会传导 |
| 实验体系偏体外 | 多为永生化细胞系与酵母 | 与患者体内环境有距离 |
| 编码区限定 | 只收编码变异 | 非编码与调控变异完全缺失 |
| 上游映射受限 | 依赖 MaveDB 的坐标化进度 | 新数据集入库有延迟 |
| 快照不同步 | ClinVar、gnomAD、TCGA 各取自不同日期 | 跨库联合查询会出现版本错位 |
其中"技术覆盖哑铃形"这一条最容易被低估。它意味着当你想说"这个结论在两个独立实验里都成立"时,能说这句话的基因只有 26 个。绝大多数基因的证据厚度是"一个实验",而不是"多个实验互相印证"。
7.4 外部验证矩阵
库的可信度不能只靠自己报的指标,还要看外部怎么用它。按目前能核实到的引用形态,大致有四类用法。
| 验证角色 | 做法 | 讲得通的地方 | 风险 |
|---|---|---|---|
| 作为解读流程的功能证据源 | 把 PS3 档位接进 ACMG 打分器 | 档位是标准术语,可直接映射 | 打分器对 PS3 权重的实现各家不同 |
| 作为预测模型的标签源 | 用功能三分类训分类器 | 标签量大、口径统一 | 同一变异多行,切分不当会泄漏 |
| 作为方法学的对照基准 | 拿 OddsPath 与 AUC 比较不同 MAVE 平台 | 指标已标准化 | 只覆盖已校准的子集 |
| 作为 VUS 重分类的旁证 | 挑强档变异做进一步家系验证 | 有独立验证的案例在先 | 强档仅二十余个数据集 |
第二类用法值得单独提醒。用这套数据训模型时,最大的陷阱不是标签噪声,而是同一条变异在多个数据集里出现造成的泄漏。变异表的主键是数据集加变异标识,去重之后才是变异层面的样本;如果直接按行切分训练测试集,同一个变异会同时出现在两侧,指标会虚高。
7.5 它为何能持续:换算这件事只有它在做
MAVE 数据会越来越多,MaveDB 会继续收,论文会继续发,这些都是上游的事。真正稀缺的是"把分数换算成临床能用的证据档位"这一层:它要求同时懂实验、懂 ClinVar 的判读习惯、懂 ACMG 的条款边界,还要愿意逐数据集回溯原文去核阈值。这三样凑齐的团队不多。
只要 ACMG 的 PS3 条款还在用、只要 VUS 还是报告里最常见的那一栏,这个换算层就有存在理由。它不会被上游替代,因为上游的职责是存数据;也不会被下游替代,因为临床实验室没有精力对每个基因做一遍 OddsPath。这正是它的生存逻辑。
§8 生态位与历史
8.1 一条不长的历史线
这个库的历史很短,短到可以用几个节点讲完。MAVE 这个概念在 2010 年代中后期成形,饱和基因组编辑在 2018 年前后因为 BRCA1 的工作进入主流视野;AVE 联盟随后推动了数据共享与报告规范,MaveDB 成了默认的存放处。到 2020 年代中期,问题从"有没有数据"变成了"数据能不能用"。
ClinMAVE 出现在这个转折点上。2025 年上线,同年发表预印本,2026 年 1 月正式刊于 Nucleic Acids Research 的数据库专刊。论文的收稿与接收日期都在 2025 年下半年,说明它的整理工作与写作是同步推进的。
| 时间 | 事件 |
|---|---|
| 2018 年前后 | 饱和基因组编辑在 BRCA1 上验证可行性,MAVE 进入临床视野 |
| 2019 年 | ClinGen SVI 提出用 OddsPath 量化功能证据 |
| 2025 年 | 构建时纳入 ACMG 二级发现清单 v3.2、ClinGen GDV 与 CGC 三类基因标注 |
| 2025 年 | ClinMAVE v1.0 上线,预印本发布 |
| 2025 年 6 月 | 站点数据更新 |
| 2026 年 1 月 | 论文正式刊出,DOI 与 PMID 齐备 |
8.2 它站在谁的肩膀上
把它拆开看,几乎没有一块是它自己发明的。OddsPath 来自 ClinGen SVI,splitting 原则来自 ACMG/AMP,基因特异阈值来自 acmgscaler,坐标映射来自 MaveDB,注释来自 VEP 与 MANE,外部数据来自 ClinVar、gnomAD、cBioPortal、dbSNP,预测器来自 dbNSFP 打包的五个工具。
它的贡献在于把这些零件装成一条流水线,并且逐数据集地把阈值核了一遍。这件事听起来不新,但工作量极大:一千多个数据集,每个都要读原文、找阈值定义、判断分数方向、必要时翻转符号。论文里那句"阈值主要依据原文,作者给出或从其描述推定"背后,是逐篇的人工阅读。
| 组件 | 来源 | ClinMAVE 做了什么 |
|---|---|---|
| 证据量化方法 | ClinGen SVI 的 OddsPath | 批量计算并分档 |
| 变异级分档 | acmgscaler | 逐基因套用阈值 |
| 坐标映射 | MaveDB 的 Ensembl 处理文件 | 直接复用,不自建 |
| 变异注释 | VEP v114.2 + MANE v1.4 | 统一跑一遍 |
| 临床对照 | ClinVar 快照 | 作为校准的阳性与阴性集 |
| 人群频率 | gnomAD v4.1 | 并入变异记录 |
| 体细胞频次 | cBioPortal 的 TCGA 汇总 | 并入变异记录 |
| 基因疾病关系 | ClinGen GDV、CGC、ACMG SF v3.2 | 用于基因层标注 |
8.3 与同类资源的分工
同类资源不少,但各自负责一段。把它们并排看,能看出这个生态的分层结构。
| 资源 | 它负责的那一段 | 与 ClinMAVE 的交界 |
|---|---|---|
| MaveDB | 原始分数集的存放与坐标化 | 上游,ClinMAVE 的 DMS 数据来自它 |
| MPRAbase | 调控元件类 MAVE | 互补,边界在编码与非编码 |
| ClinVar | 临床提交的五级分类 | 双向,既是输入也是输出方向 |
| ClinGen | 基因-疾病有效性、剂量敏感性 | 上游,提供基因层可信度 |
| gnomAD | 人群频率 | 上游,提供罕见性判据 |
| AlphaMissense 等预测器 | 计算预测分数 | 并列,做正交比较 |
| CIViC / OncoKB | 体细胞变异的临床意义与用药 | 并列,场景不同 |
| Franklin 等解读平台 | 面向临床医生的判读界面 | 下游,可消费功能证据 |
值得记住的是 MPRAbase 这一格。它提示了一个边界事实:MAVE 的世界已经按分子类型分家,编码归 ClinMAVE,调控归 MPRAbase。做非编码变异的人在这里找不到东西,不是遗漏,是有意为之。
8.4 中文语境里的位置
它由中国的两家机构共建:国家生物信息中心负责基础设施与数据规范,北京协和医院生物信息中心负责临床侧的需求与整理。这个组合在同类资源里不常见——多数 MAVE 相关资源出自欧美高校或联盟,临床端的参与度参差。
对中文使用者来说,这带来两个实际好处:一是站点在境内访问速度正常,不必担心跨境拉取;二是它的术语体系与国内临床遗传学的用词习惯接近,PS3、VUS、致病性这些词的译法不需要二次转换。坏处则在于文档——站点没有中文使用手册,接口也没有说明,中文使用者的上手成本与英文使用者相同。
§9 使用指引
9.1 三种角色的路径
不同角色对这套数据的用法差别很大,路径可以分开设计。
| 角色 | 首要问题 | 建议路径 | 需要跳过的部分 |
|---|---|---|---|
| 临床遗传咨询与分子诊断 | 这个 VUS 有没有功能证据 | 首页检索 HGVS → 看功能分类 → 看 PS3 档位 → 核对数据集 | 不必碰接口与批量下载 |
| 生物信息与变异解读工程 | 怎么把证据接进流水线 | 拉表格端点 → 按数据集编号对齐 → 只取已校准子集 | 不必逐条读论文 |
| 变异效应预测模型开发 | 怎么拿到干净的标签 | 按基因导出 → 去重到变异层 → 按基因切分 | 不必看 PS3 档位 |
| 方法学研究 | 这套校准方法靠不靠得住 | 读论文方法节 → 复算 OddsPath → 比对 AUC | 不必拉全表 |
四类角色的共同点是都不需要"全库"。全库两百余万条对个体判读没有意义,对工程接入也只是多占磁盘。按需取子集,是这套数据最合适的用法。
9.2 一条最短的可用流程
从零到一个可用的判读结论,最短的路径是五步。下面这段把它写成可执行的脚本,用来确认站点可用、数据在手。
#-- 五步最短流程:探活 -> 取规模 -> 拉数据集表 -> 取单基因 -> 分组计数
set -e
BASE="https://ngdc.cncb.ac.cn/clinmave/api"
#-- 第一步:确认统计端点可用
curl -sf "$BASE/stat/homestat" -o homestat.json
python3 -c "import json;d=json.load(open('homestat.json'));print(d)"
#-- 第二步:拉数据集表并看字段
curl -sf "$BASE/fetch/table/dataset" -o dataset.json
python3 -c "import json;d=json.load(open('dataset.json'))['data'];print(len(d),sorted(d[0])[:8])"
#-- 第三步:取某个基因的变异(此前已通过页面导出为 CSV)
python3 - <<'PY'
import csv, collections
rows = list(csv.DictReader(open("brca1_variants.csv", encoding="utf-8")))
c = collections.Counter(r["consequenceClass"] for r in rows)
print(len(rows), dict(c))
PY
这段跑通之后,手上就有了三样东西:全库规模、数据集清单、单基因变异表。下一步是判读,而判读不在脚本里——要看具体变异的功能分类、它所隶属数据集的 OddsPath、以及它在位点上的上下文。
9.3 引用方式
官方在首页给出了引用格式,指向 2026 年发表于 Nucleic Acids Research 数据库专刊的那篇论文。引用时至少要给到期刊、卷期、页码与 PMID 四项,方便他人定位。
| 项 | 内容 |
|---|---|
| 论文标题 | ClinMAVE: a curated database for clinical application of data from multiplexed assays of variant effect |
| 期刊 | Nucleic Acids Research |
| 卷期页 | 2026, 54(D1): D1355–D1363 |
| 数字对象标识 | 10.1093/nar/gkaf1102 |
| 文献编号 | PMID 41233957 |
| 全文编号 | PMC12807648 |
| 站点 | https://ngdc.cncb.ac.cn/clinmave/ |
| 许可提示 | 学术用途免费,商业用途需联系作者 |
引用时还有一条实务建议:如果你的结论依赖某个具体数据集,把数据集编号一并写进去。库内的数据集编号稳定,写出来别人能直接定位到那一次实验;只写库名,读者无法判断你用的是哪一份证据。
§10 AI 使用声明
| 项目 | 说明 |
|---|---|
| 数据性质 | 体外功能实验的整理结果,不是患者观测数据,不含个人健康信息 |
| 可直接用于训练 | 功能分数、功能三分类、分子后果、坐标,可作监督标签 |
| 需谨慎使用 | PS3 档位,它是相对证据强度,不是绝对致病判定 |
| 不建议作为标签 | ClinVar 注释字段,它随版本变动,作标签会引入时间漂移 |
| 泄漏风险 | 同一变异跨数据集多行,须按变异去重后切分 |
| 分布偏移 | 基因间覆盖极不均衡,强档集中在少数基因,随机切分会让稀有基因全落一侧 |
| 生成式模型注意 | 不得据功能分数直接生成临床结论,只能生成"证据摘要" |
| 合规提示 | 商业用途需授权;用于临床决策时须由持证人员复核 |
常见误读(避坑清单)
| 常见说法 | 实际 | 证据 |
|---|---|---|
| “这是 MaveDB 的中文镜像” | 不是镜像,是加工层:数据来源、字段、结论都不同 | 只复用 DMS 部分,另补文献 CRISPR 数据 |
| “有分数就能判致病” | 分数是实验读数,判读要过校准与证据合并两道 | 八成以上变异没有 PS3 强度 |
| “PS3 强就是致病” | PS3 是单条证据,不是分类结论 | ACMG 五级分类需多条证据线合并 |
| “覆盖 821 个基因就等于覆盖常见遗传病” | 这 821 个是做过 MAVE 的基因,与疾病基因集只部分重叠 | 其中 330 个为疾病相关基因 |
| “可以用它替代 ClinVar” | 两者方向相反:一个产证据,一个收结论 | ClinVar 是它的校准来源 |
| “分数可以跨基因比较” | 每个数据集独立校准,量表不可通约 | 官方明确不同数据集分布异质 |
| “所有变异都有 ACMG 分级” | 只有 156 个数据集、50 个基因完成校准 | 站点强度统计合计八万余条 |
| “它是 2026 年才有的” | 2025 年上线,2026 年是论文刊出年 | 站点 2025 年即有版本记录 |
| “非编码变异也能查” | 明确只收编码变异 | 调控类由 MPRAbase 承接 |
| “免费就是可以随便商用” | 仅学术用途免费,商用需授权 | 站点 License 栏原文 |
FAQ
Q1:ClinMAVE 和 MaveDB 到底是什么关系?
MaveDB 是原始分数集的存放处,ClinMAVE 是它的临床解读层。ClinMAVE 的深度突变扫描部分直接从 MaveDB 经 Ensembl 处理后的文件取得,再补上文献里的 CRISPR 类数据,然后做坐标统一、阈值划分与 ACMG 校准。一个存读数,一个给结论。
Q2:PS3_strong 是不是等于这个变异就是致病的?
不是。PS3 只是 ACMG/AMP 五级分类里的单条强证据,要和其他证据线合起来才形成分类结论。库里给的是这条证据的强度,不是最终判读。把它当结论直接写报告,是这类数据最常见的误用。
Q3:为什么只有两百多个基因有计算预测器的校准阈值?
因为预测器分数要与 ClinVar 的致病、良性对照集配对才能定阈值,而多数基因在 ClinVar 里没有足够多的高置信记录。官方给出的数字是 821 个基因中 213 个至少有一个预测器可校准。
Q4:同一个变异在库里出现好几行,是重复吗?
不是重复,是同一个变异被不同数据集测过。主键是数据集编号加变异标识,跨实验命中数会告诉你有几个数据集覆盖它。想做一致性分析就用跨实验比较表。
Q5:能商用吗?
不能直接商用。站点许可栏的原话是学术用途免费,任何商业用途需联系作者取得商业授权条款。论文的数据可用性声明只说了免费开放、无需注册,没有提商业许可,两处要合起来读。
Q6:它和 ClinVar 的结论打架时听谁的?
看你要回答什么问题。要判读结论,以 ClinVar 的专家面板意见为主;要看功能证据的强度,以 ClinMAVE 的校准为主。两者打架本身是有信息量的——常常意味着该变异的证据线之间本来就不一致,值得回到原始文献看。
Q7:数据多久更新一次?
官方未公布固定的更新周期。站点记录显示 2025 年 6 月有过一次数据更新,论文提到 MaveDB 的坐标映射仍在推进、部分新数据集尚待纳入。做时间敏感的分析时,应记录取数日期。
Q8:能下载全量吗?
可以,但要走任务式下载而非直链。按表导出与按基因导出都是先申请任务号、再轮询进度、最后取文件。全量变异表体量在几十兆量级,建议先按基因或技术筛一遍。
Q9:有 API 文档吗?
没有。站点提供完整的 JSON 端点,但未发布接口说明,参数与分页方式只能从前端行为反推。字段名可能变动,接入时应做解析兜底。
Q10:为什么有些变异没有人群频率?
因为多数 MAVE 变异是人工构建的,在人群里从未被观察到,gnomAD 里自然没有记录。这不是缺失值问题,是数据性质决定的。
Q11:适合拿来做临床报告的直接依据吗?
适合做证据引用,不适合做结论来源。报告里应当写"功能实验提示功能丧失,校准强度支持 PS3 强",而不是"该变异致病"。最终判读须由持证人员结合其他证据完成。
术语表
| 术语 | 含义 |
|---|---|
| MAVE | 多重变异效应实验,一次并行测定大量变异的功能后果 |
| DMS | 深度突变扫描,在模型表达体系中导入变异文库 |
| 饱和基因组编辑 | 在内源位点系统性改写序列,逐个测功能 |
| 碱基编辑 | 不切断双链、直接改写单个碱基的编辑方式 |
| 先导编辑 | 用逆转录模板写入任意小片段改变的编辑方式 |
| 功能丧失 | 变异导致蛋白功能下降或消失 |
| 功能获得 | 变异导致蛋白功能增强或获得新活性 |
| 功能正常 | 变异未检出可测的功能改变 |
| VUS | 临床意义未明变异,五级分类中证据不足的一档 |
| PS3 | ACMG/AMP 中"功能实验支持致病"的强证据条款 |
| BS3 | 对应的"功能实验支持良性"条款 |
| PM1 | 位于突变热点或关键功能域的中等证据条款 |
| OddsPath | 致病几率比,量化一次实验能提供多强的功能证据 |
| acmgscaler | 按基因标定 ACMG 证据阈值的工具 |
| splitting | 把证据强度落到变异层而非整份实验的做法 |
| AUC | ROC 曲线下面积,衡量实验区分致病与良性的能力 |
| 校准 | 用已知致病与良性变异确定阈值与强度的过程 |
| 对照集 | 用于校准的已知结论变异集合 |
| 跨实验命中 | 同一变异被多个数据集测过的次数 |
| 分子后果 | VEP 注释出的变异类型,如错义、无义、剪接 |
| MANE | NCBI 与 EMBL-EBI 联合认定的临床首选转录本集 |
| HGVS | 人类基因组变异学会的变异命名规范 |
| 诱变策略 | 构建变异文库的方法,如寡核苷酸合成、易错 PCR |
| 正交验证 | 用另一套方法独立验证同一结论 |
| MPRAbase | 面向调控元件类 MAVE 的专门数据库 |
附录 A:核心数字核对表
| 项 | 值 | 来源 | 来源层级 |
|---|---|---|---|
| 变异总数 | 2,179,903 | 站点统计端点 | 官方接口 |
| 基因数 | 821 | 站点统计端点 | 官方接口 |
| 数据集数 | 2,147 | 站点统计端点 | 官方接口 |
| 研究数 | 50 | 站点统计端点 | 官方接口 |
| 实验技术类别 | 2 | 站点首页 | 官方页面 |
| 功能正常占比 | 76.15% | 论文正文 | 论文 |
| 功能丧失占比 | 21.13% | 论文正文 | 论文 |
| 功能获得占比 | 2.72% | 论文正文 | 论文 |
| 已校准数据集 | 156 | 论文正文 | 论文 |
| 校准覆盖基因 | 50 | 论文正文 | 论文 |
| PS3 三档门槛 | 2.1 / 4.7 / 18.7 | 论文正文 | 论文 |
| 强档数据集 | 21 | 论文正文 | 论文 |
| 预测器可校准基因 | 213 | 论文正文 | 论文 |
| AUC 过 0.75 的数据集 | 52 | 论文正文 | 论文 |
| 跨技术一致性 | 63.47% | 论文正文 | 论文 |
| 多实验覆盖变异占比 | 29.02% | 论文正文 | 论文 |
| 疾病相关基因 | 330 | 论文正文 | 论文 |
| 打包体积 | 官方未公布 | — | 未核实 |
附录 B:数字的来源分层
| 层级 | 内容 | 可信度处理 |
|---|---|---|
| 官方接口 | 四个规模计数、强度档计数、功能分类计数、跨实验覆盖计数 | 直接引用,注明取数日期 |
| 官方页面 | 全名、简介、许可、引用格式、检索支持的四类标识 | 直接引用 |
| 论文正文 | 校准结果、AUC、一致性、基因疾病分布、纳入排除标准 | 直接引用,注明是论文口径 |
| 论文补充材料 | 逐数据集阈值来源、逐数据集质量指标 | 未逐份核对,仅引用论文对其的描述 |
| 第三方目录 | 版本号 v1.0、最近更新日期 | 引用 NGDC 自家目录页,标注为目录口径 |
| 未核实 | 打包体积、单文件大小、逐字段空值率 | 明示未公布或不统计 |
两处口径差异需要留意。第一处是变异总数:统计端点给的是二百一十七万九千九百零三,论文正文有一处写作二百一十七万九千九百零四,差一条,官方未说明差额来源。第二处是校准数据集数:论文一处写 156 个进入校准,另一处写 163 个做了 AUC 评估,两组数不是同一个筛选口径,不可互换。
附录 C:完整参考文献
| 编号 | 文献 |
|---|---|
| 1 | Ma C, Li Z, Tang X, et al. ClinMAVE: a curated database for clinical application of data from multiplexed assays of variant effect. Nucleic Acids Res. 2026;54(D1):D1355–D1363. doi:10.1093/nar/gkaf1102. PMID:41233957 |
| 2 | Brnich SE, Abou Tayoun AN, Couch FJ, et al. Recommendations for application of the functional evidence PS3/BS3 criterion using the ACMG/AMP sequence variant interpretation framework. Genome Med. 2019;12:3 |
| 3 | Gelman H, Dines JN, Berg J, et al. Recommendations for the collection and use of multiplexed functional data for clinical variant interpretation. Genome Med. 2019;11:85 |
| 4 | Findlay GM, Daza RM, Martin B, et al. Accurate classification of BRCA1 variants with saturation genome editing. Nature. 2018;562:217–222 |
| 5 | Huang H, Hu C, Na J, et al. Functional evaluation and clinical classification of BRCA2 variants. Nature. 2025;638:528–537 |
| 6 | Waters AJ, Brendler-Spaeth T, Smith D, et al. Saturation genome editing of BAP1 functionally classifies somatic and germline variants. Nat Genet. 2024;56:1434–1445 |
| 7 | Buckley M, Terwagne C, Ganner A, et al. Saturation genome editing maps the functional spectrum of pathogenic VHL alleles. Nat Genet. 2024;56:1446–1455 |
| 8 | Claussnitzer M, Parikh VN, Wagner AH, et al. Minimum information and guidelines for reporting a multiplexed assay of variant effect. Genome Biol. 2024;25:100 |
| 9 | McEwen AE, Tejura M, Fayer S, et al. Multiplexed assays of variant effect for clinical variant interpretation. Nat Rev Genet. 2025 |
| 10 | Richards S, Aziz N, Bale S, et al. Standards and guidelines for the interpretation of sequence variants. Genet Med. 2015;17:405–424 |
附录 D:任务代码
| 字段 | 内容 |
|---|---|
| 任务代号 | clinmave |
| 词条类型 | 数据库类(非影像、非队列) |
| 主要数据形态 | 结构化表格(JSON / CSV) |
| 建议存储 | 关系表三张加汇总表一张,按数据集编号建索引 |
| 关键外键 | 数据集编号、Ensembl 基因编号、PMID |
| 去重键 | 变异标识加转录本号 |
| 切分建议 | 按基因切分,同一变异的多行整组同侧 |
| 校验要点 | 变异总数、功能三分类计数、已校准数据集数 |
| 常见失败 | 直接按行切分导致泄漏;把 PS3 档位当分类结论 |
附录 E:如果只记五件事
| 序 | 要点 |
|---|---|
| 一 | 它是 MaveDB 与临床判读之间的换算层,不是又一个变异库 |
| 二 | 两百余万条变异里,只有八万余条有 PS3 强度,其余有分数无档位 |
| 三 | PS3 强不等于致病,它只是五级分类里的一条证据 |
| 四 | 只收编码变异,调控类归 MPRAbase,别在这里找非编码 |
| 五 | 学术免费、商用需授权,接口无文档,字段名要配置化 |
编辑说明
核验时间为 2026 年 10 月 28 日。核对方式为直接访问站点首页与其前端脚本,逐个调用统计端点与四张表格端点确认响应结构与字段名,并读取 Europe PMC 上的论文全文核对方法、规模与校准数字;clinmave.org 与 www.clinmave.org 两个域名均无法解析,实体确认以 ngdc.cncb.ac.cn/clinmave/ 为准。未覆盖的内容包括:逐字段空值率、逐基因的变异数排序、逐数据集的阈值分布、打包体积与单文件大小,这些或未公布或需全量下载后统计,按要求不写入。两处官方口径不一致已如实记录在附录 B,未作对错判断。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- igvf-catalog — 共享标签:基因组学与多组学 / 变异与注释
- cosmic — 共享标签:基因组学与多组学 / 变异与注释
- clinvar — 共享标签:基因组学与多组学 / 变异与注释
- civic — 共享标签:基因组学与多组学 / 变异与注释
- ipd-imght-hla — 共享标签:基因组学与多组学 / 变异与注释
- mgi — 共享标签:基因组学与多组学 / 变异与注释
- jogo — 共享标签:基因组学与多组学 / 变异与注释
- varsite — 共享标签:基因组学与多组学 / 变异与注释
- cellsnvreg — 共享标签:基因组学与多组学 / 变异与注释
- circtarget — 共享标签:基因组学与多组学 / 变异与注释
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

