GLOF: Gain and Loss Of Function 错义变异功能效应专家策展基准 — 112,399 个错义变异按 LOF/GOF/中性三分类的功能获得与功能缺失判读测试集

Mendelics 的临床遗传学家把 ClinVar 致病错义变异与 gnomAD 常见中性变异汇编成 2,809 个基因、112,399 条记录的功能效应三分类基准,增益类仅占 2.8%、97 个基因同时存在双向机制,是变异效应预测从「致病与否」推向「怎么致病」的第一份大规模金标准

来源 Hugging Face datasets/victormaricato/glof(glof_dataset.parquet,7 列,约 1.31 MB,2026-06-08 最后更新)+ Kaggle 镜像;上游为 ClinVar 2023-07 发布版与 gnomAD v3.1/v4.1发布时间: 2026-10-17最后更新: 2026-10-20 阅读 22
GLOF: Gain and Loss Of Function 错义变异功能效应专家策展基准 — 112,399 个错义变异按 LOF/GOF/中性三分类的功能获得与功能缺失判读测试集

信息速览

数据集名称GLOF: Gain and Loss Of Function 错义变异功能效应专家策展基准 — 112,399 个错义变异按 LOF/GOF/中性三分类的功能获得与功能缺失判读测试集
数据类型表格数据,标签数据,文本数据
规模不适用(变异级资源,无个体患者记录;112,399 条错义变异 / 2,809 个基因 / LOF 25,368 + GOF 3,129 + Neutral 83,902)
接入方式Hugging Face datasets/victormaricato/glof(glof_dataset.parquet,7 列,约 1.31 MB,2026-06-08 最后更新)+ Kaggle 镜像;上游为 ClinVar 2023-07 发布版与 gnomAD v3.1/v4.1
AI 就绪度

INFOBOX — GLOF 一屏速览

维度 内容
本质 错义变异功能效应三分类基准(LOF / GOF / Neutral),不是致病性预测集
全名 GLOF: Gain and Loss Of Function
作者 Victor Maricato、David Schlesinger、Pedro Nuno de Souza Moura
策展机构 Mendelics Análise Genômica(巴西圣保罗,拉美最大临床基因组实验室之一)
文献形态 bioRxiv 预印本 v1,2026-06-05 上线,未同行评审
规模 112,399 条变异 / 2,809 个基因 / 7 列
标签分布 Neutral 83,902(74.6%)|LOF 25,368(22.6%)|GOF 3,129(2.8%)
双向机制 文本称 97 个基因同时含 LOF 与 GOF;实抓严口径(三标签齐备)92 个
致病来源 ClinVar 2023-07 版本,与 2026-03 版本交叉核对
中性来源 gnomAD v3.1,用 v4.1 等位频率复核,AF > 1%
坐标体系 GRCh38;VARIANTKEY = chr-position-ref-alt
获取 Hugging Face victormaricato/glof(parquet)|Kaggle maricatovictor/loss-and-gain-of-function-variants
许可 CC BY 4.0(据 Hugging Face 与 Kaggle 页面声明)
最后更新 2026-06-08(Hugging Face,commit 603256c)
库内同类 clinvar(136)|alphamissense(584)|proteingym(813)|clingen(523)

§0 导读:这个数据集回答的是「怎么坏」,不是「坏不坏」

变异效应预测(Variant Effect Prediction,VEP)领域在过去十年几乎只问一个问题:这个变异致病吗? ClinVar 给了标签,AlphaMissense 给了概率,REVEL、CADD、SIFT、PolyPhen 各自给出一个 0 到 1 的分数。整个生态围绕「致病 / 良性」这条线运转。

但临床遗传学和药物开发真正需要的是下一个问题:它是怎么坏的?

同样是致病变异,截断型功能缺失(loss-of-function,LOF)意味着蛋白少了、没了,治疗上往往靠补充或读通(read-through);而功能获得(gain-of-function,GOF)意味着蛋白还在,但多了某个活性、对某种抑制更敏感,治疗上常常靠小分子抑制——Noonan 综合征的 PTPN11 变异与 SHP2 抑制剂,就是这样一条因果链。把 LOF 和 GOF 混在「致病」这一格里,等于把两类在药理上相反的病变合并统计。

GLOF 数据集(Gain and Loss Of Function)就是为这个问题造的第一份大规模金标准:112,399 条错义变异,2,809 个基因,每条打一个 LOF / GOF / Neutral 的标签,由持证临床遗传学家按 ACMG 框架逐条判读,公开在 Hugging Face 与 Kaggle,许可 CC BY 4.0。

它的价值与它的短板一样鲜明:一方面,它第一次把「功能方向」做成可评测的三分类任务,并且刻意保留 97 个同时含 LOF 与 GOF 变异的「双向机制基因」,这正是旧基准最缺的硬骨头;另一方面,GOF 只占 2.8%,阳性类极度稀缺,标签又建立在一家商业实验室的内部判读之上。用得好,它是机制分型的第一块试金石;用得草率,它会被误当成又一个「致病变异预测集」。

§0 读法三则:

  1. 先分清三层标签体系:ClinVar 判「致病 vs 良性」,GLOF 判「LOF vs GOF vs 中性」,DMS/ProteinGym 测「定量适应度」。三者不可互换(§7、§10.3)。
  2. 所有数字看两遍:数据卡自我陈述与实抓 parquet 统计在个别字段上有差(GOF 基因数 260 vs 259、中性基因数 2,749 vs 2,783、双向基因 97 vs 92),本条目双口径并列,不合并、不取整(§2.3、§12.5)。
  3. 记住这是预印本:数据集 2026-04-13 建库、2026-06-08 最后修改,论文 v1 尚未同行评审。任何引用都要写清「抓取时点 + commit 哈希」,否则复现性无从谈起(§6.4)。

§1 数据集速览:十四问十四答

Q1:GLOF 是什么的缩写?
Gain and Loss Of Function——功能获得与功能缺失。注意官方写法是 “GLOF” 而不是 “GOF-LOF”;数据卡标题为「A large-scale expert-curated benchmark of missense variant functional effects」。

Q2:一条记录长什么样?
七个字段:VARIANTKEY(如 1-100196274-A-C)、LABEL(Neutral / LOF / GOF)、ENSG(如 ENSG00000137992)、GENE_SYMBOL(如 DBT)、AA_POSITION(如 477)、PROTEIN_REF(M)、PROTEIN_ALT(R)。一行就是一个错义替换,没有患者、没有表型文本、没有实验读数。

Q3:一共多少条?
111,399?不,是 112,399 条——这个数字在摘要与数据卡中三次出现且与实抓一致,可以放心引用。基因数 2,809,同样与实抓一致。

Q4:三类的比例是多少?
Neutral 83,902(74.6%)、LOF 25,368(22.6%)、GOF 3,129(2.8%)。GOF 是最稀缺的阳性类,这是整个数据集最重要的使用约束。

Q5:为什么中性类这么多?
因为中性变异从 gnomAD 里"捞":gnomAD v3.1 收录数十万人的外显子与基因组数据,只要一个错义变异在人群中足够常见(AF > 1%),按遗传学常识它几乎不可能造成严重单基因病。这是群体频率论证,不是功能实验论证——两者的差别在第 10 节会展开。

Q6:致病变异从哪来?
ClinVar 2023 年 7 月发布版。策展团队再把它与 2026 年 3 月版本比对,把后来被重分类或出现冲突证据的变异剔除——这一步很关键,它决定了标签不会是三年前的旧账。

Q7:什么叫「专家策展」?
由持证临床遗传学家(board-certified clinical geneticists)按 ACMG 指南判定,依据包括已发表的功能研究、基因型-表型关联,以及已被确认的基因-疾病关系。不是算法打分,不是关键词检索。

Q8:和 AlphaMissense 的区别是什么?
AlphaMissense 是模型,输出 0 到 1 的致病性分数;GLOF 是标签集,输出三分类真值。前者可以拿去在后者上评测——这正是 GLOF 设计的用途。

Q9:和 ProteinGym 的区别是什么?
ProteinGym 汇集深度突变扫描(DMS)实验的定量适应度,一个蛋白一套分数,跨蛋白不可比;GLOF 是临床判读的定性方向标签,跨基因可比(都是 LOF/GOF/中性)。前者问"弱了多少",后者问"朝哪个方向坏"。

Q10:和 ClinVar 的关系?
GLOF 的致病变异子集源自 ClinVar,但做了三层加工:只留错义、补上功能方向标签、剔除重分类与冲突项。所以 GLOF 不能当 ClinVar 的镜像用,反之亦然。

Q11:许可是什么?
CC BY 4.0。允许商用与再分发,须署名。注意:这是数据集卡的声明,上游 ClinVar 各提交者与 gnomAD 的原始条款是否全部兼容,预印本未展开讨论,这一点列在 §12 的遗留疑点里。

Q12:怎么下载?
datasets.load_dataset("victormaricato/glof") 一行即可;国内网络可走 hf-mirror 镜像直接拉 glof_dataset.parquet(约 1.31 MB)。Kaggle 侧为同名镜像。

Q13:它是预印本吗?
是。bioRxiv v1,DOI 10.64898/2026.06.05.729843,2026-06-05 上线。数据集本身在 Hugging Face 上仍有版本迭代(2026-04-13 创建,2026-06-08 更新)。

Q14:最典型的误用是什么?
把 GOF 当成"更严重的致病",或直接把三分类准确率(accuracy)当成评测指标而不看宏平均与 GOF 类的召回。前者是概念错误,后者是统计错误——数据集的 75% 是中性类,全猜中性也有 74.6% 准确率。

§2 数据构成与实测核验

§2.1 文件与结构

Hugging Face 仓库 victormaricato/glof 的文件清单极简,四个文件:

文件 作用 实抓大小/说明
glof_dataset.parquet 主数据,单表 约 1.31 MB(API 报告仓库总用量 1,805,358 字节)
README.md 数据集卡(Dataset Card) 约 3.0 KB,含 schema、类分布表、引用 BibTeX
fig_bidirectional_structures.pdf 双向机制基因的结构示意 论文配图,非数据
.gitattributes Git LFS 配置 无信息量

仓库元数据(2026-10-17 实抓 API):创建 2026-04-13T16:20:50Z,最后修改 2026-06-08T20:07:52Z,commit 603256c875d962494ca30153dded1f92972ef928,非 gated、非 private,下载计数 63、点赞 0(说明社区扩散度仍很低);标签含 task_categories:tabular-classification、license:cc-by-4.0、size_categories:100K<n<1M、doi:10.57967/hf/10836。

§2.2 七个字段逐个拆解

字段 类型 含义 坑
VARIANTKEY string chr-position-ref-alt,GRCh38 坐标系 染色体用 1..22/X/Y/M,没有 chr 前缀;M 是线粒体,用 MT 去 join 会全部失配
LABEL string Neutral / LOF / GOF 注意是标题写法 Neutral,部分下游脚本误写成 NEUTRAL 后 join 失败
ENSG string Ensembl 基因 ID(带版本号剥离) 与 GENE_SYMBOL 一对一;若要映射到 RefSeq 需另做转换
GENE_SYMBOL string HGNC 符号 含 C12orf57 一类旧式符号,跨年度注释需注意 HGNC 更名
AA_POSITION int64 规范蛋白氨基酸位置 极小值 2、极大值 35,972(TTN 等超长蛋白),做 one-hot 位置编码时须归一化
PROTEIN_REF string 野生型单字母氨基酸 全部单字符,可直接做 20 维替换矩阵索引
PROTEIN_ALT string 突变型单字母氨基酸 同上;*(终止)不出现在本字段——因为只收错义

实抓核查:7 列零缺失值;GENE_SYMBOL 与 ENSG 各 2,809 个唯一值且一一对应;PROTEIN_REF/PROTEIN_ALT 全部为单字符;VARIANTKEY 中段(ref 碱基)全部匹配 [ACGT]+,说明键格式干净。

§2.3 类别分布:数据卡 vs 实抓(双口径存照)

类别 条数(卡) 占比(卡) 条数(实抓) 基因数(卡) 基因数(实抓)
Neutral 83,902 74.6% 83,902 2,749 2,783
LOF 25,368 22.6% 25,368 2,020 2,020
GOF 3,129 2.8% 3,129 260 259
合计 112,399 100% 112,399 2,809 2,809

条数四项全部吻合,基因数两项有差:Neutral 基因数实抓比卡多 34(2,783 > 2,749),GOF 基因数实抓比卡少 1(259 < 260)。由于同一文件不可能"总数对、分项不对"除非口径不同,最可能的解释是:卡中的基因数按某种筛选(例如各类别内至少 N 条)统计,而实抓按"该类别内出现过即计"。结论:条数可放心引用,分基因计数以实抓为准并注明口径。

§2.4 双向机制基因:97 还是 92

摘要称数据集包含 97 个双向机制基因(同时含 LOF 与 GOF 变异)。实抓按不同定义得到三个数:

  • LOF 与 GOF 并存(不论有无中性):96 个基因;
  • 三种标签齐备(LOF ∧ GOF ∧ Neutral 各至少 1 条):92 个基因;
  • LOF 与 GOF 并存且该基因总记录 ≥ 10 条:91 个基因。

三个数都在 91-96 区间,与摘要的 97 相差 1-6。逐一枚举后仍未复现 97,最可能的原因是作者统计时点的文件版本与当前 commit 略有差异(例如某基因的个别记录在 2026-06-08 更新中被删)。正文采用「96(LOF 与 GOF 并存)/ 92(三标签齐备)」双口径,97 作为论文自述保留,不复现即不采用(见 §12 遗留疑点 1)。

按标签组合拆分 2,809 个基因,可分七种形态:

标签组合 基因数 解释
仅 Neutral 626 只在人群常见变异中出现,多为耐受性高的基因
Neutral + LOF 1,907 主流形态:失活型致病 + 常见良性
Neutral + GOF 158 只有激活型病变与常见良性,无失活型报道
LOF + GOF + Neutral 92 三标签齐备的双向机制基因,最难预测
LOF + GOF(无中性) 4 罕见基因,常见变异被 gnomAD 频率门槛挡掉
仅 LOF 17 无常见良性错义可供对照
仅 GOF 5 极罕见,单基因内样本极少

合计 626 + 1,907 + 158 + 92 + 4 + 17 + 5 = 2,809,与总基因数吻合。

§2.5 基因层面的规模长尾

按记录数排序,前 12 个基因:

基因 条数 主要标签 临床背景
TTN 1,494 Neutral 主导 肌联蛋白,超长蛋白,良性变异极多
SRRM2 772 Neutral 主导 剪接体组分,耐受性高
FBN1 736 LOF 马凡综合征
LDLR 707 LOF 家族性高胆固醇血症
KMT2D 705 Neutral / LOF Kabuki 综合征
BRCA2 680 Neutral 主导 乳腺癌易感
CSMD1 655 Neutral 精神疾病相关候选基因
SPEN 506 Neutral 转录抑制因子
WDFY4 498 Neutral 免疫相关
BOD1L1 473 Neutral 基因组稳定性
ANKRD11 465 LOF KBG 综合征
TSC2 463 LOF 结节性硬化

基因规模中位数为 19 条;≥ 10 条的基因 2,467 个(87.8%),≥ 50 条的 531 个。这意味着绝大多数基因只有十几条样本,做基因级别的交叉验证时会出现极小的验证折——这是基因分层切分的现实困难(§8.3)。

§2.6 GOF 集中在哪些基因

GOF 的 3,129 条高度集中:

基因 GOF 条数 机制
NOTCH3 106 CADASIL,半胱氨酸增益/聚集
PTPN11 105 Noonan 综合征,SHP2 活性上调
BRAF 102 肿瘤与 RASopathy,激酶持续活化
GFAP 81 亚历山大病,中间丝聚集
GRIN2B 71 NMDA 受体功能增强
PIK3CA 66 PROS,PI3K 通路激活
FGFR2 63 颅缝早闭综合征
PSEN1 61 早发阿尔茨海默,γ 分泌酶活性比改变
ATP1A3 59 交替性偏瘫,泵活性改变
SPAST 58 遗传性痉挛性截瘫,微管切割活性

这张表就是 GOF 任务的真实难度分布:前 10 个基因贡献约 26% 的 GOF 样本,其余 249 个基因平均只有 10 条左右。

§3 标签是怎么定出来的:一条变异的判读链路

GLOF 的标签不是从数据库字段直接拷贝,而是走了一条「来源 → 过滤 → 证据整合 → 专家定标」的流水线。理解这条流水线,才能判断标签的可信边界。

§3.1 第一段:致病变异的来源与清洗

  1. 取 ClinVar 2023-07 版本的致病/可能致病变异条目。
  2. 只保留错义:同义、内含子、无义、移码、剪接全部丢弃。这一步把数据集的范围锁死在"氨基酸替换"这一最难以从序列直接推断的类别上。
  3. 与 2026-03 版本交叉核对:凡在两年半内被降级(如 Pathogenic → VUS)或出现提交者冲突条目的,整条剔除。这是把"标签会随着时间腐烂"这一风险前置处理的手法,值得其他基准效仿。
  4. 按基因-疾病关系筛查:只有基因与疾病的关系已经确立(established gene-disease relationship)的位点才进入候选池。

§3.2 第二段:功能方向是怎么判的

这是最难的一段,也是预印本与数据卡着墨最少的一段。公开材料给出的依据是三类:

  • 已发表的功能研究:膜片钳电流幅度、酶活测定、报告基因、蛋白稳定性、定位实验等;
  • 基因型-表型关联:同一基因内不同方向的变异带来不同表型(例如 SCN2A 的 LOF 型早发癫痫与 GOF 型良性家族性新生儿癫痫);
  • 已确立的基因-疾病机制:例如 RASopathy 通路在群框架上就是 GOF 驱动的,因此该通路内基因的致病变异若未明确报道失活,倾向判为 GOF。

潜在偏差:如果一条变异的功能研究做的是"是否丧失活性",而没人做过"是否获得新活性",判读者只能依据阴性结果推定为 LOF。这种证据不对称会把 GOF 系统性低估——这正好解释了 2.8% 的极端不平衡:不是 GOF 变异真的那么少,而是被研究过的 GOF 变异少。

§3.3 第三段:中性变异的选择逻辑

中性类来自 gnomAD,规则是:

  • 来源 gnomAD v3.1(约 76,156 个基因组的短变异集);
  • 用 gnomAD v4.1 复核等位频率,仍满足 AF > 1% 的才保留;
  • 只取错义。

用两个版本互相验证是稳妥的做法:v3.1 与 v4.1 的样本构成不同(后者合并了 v2 的外显子组样本),一个变异在两个独立队列中都高频,良性推断更硬。但必须清楚:AF > 1% 的错义变异是"常见",不等于"功能完好"。有些高频变异其实是轻度功能减弱但外显率极低的等位基因(例如某些 G6PD 变异),把它们标为 Neutral 在功能层面并不严格成立。

§3.4 第四段:ACMG 框架的角色

数据卡明确写「following ACMG/AMP guidelines」。这里需要特别注意:ACMG/AMP 2015 指南本身是为"致病性"设计的,并没有为"功能方向"设计条款。GLOF 借用的是它的证据类型学(PS3 功能研究、PP2 错义聚集、BP1 错义 vs 截断等),而不是它的分类输出。因此:

  • 一个变异可以是"Pathogenic 且 GOF"(如 PTPN11 的 Noonan 变异);
  • 也可以是"Pathogenic 且 LOF"(如 LDLR 的家族性高胆固醇变异);
  • 但 GLOF 不记录它是否满足 ACMG 的哪几条证据——没有证据码字段,这是数据集与 CSpec 类规则库的根本区别(§7.4)。

§4 应用场景:谁该用、怎么用

§4.1 场景一:评测变异效应预测模型

最直接的用途。把 VARIANTKEY 转成(基因、蛋白位置、ref、alt)四元组,喂给待测模型(AlphaMissense、ESM-1v、ESM-2 的 zero-shot 打分、ProteinNPT 等),得到连续分数后做三分类。

必读警告:AlphaMissense 与 ESM 系列在训练时都见过大量 ClinVar 与 UniProt 数据,存在训练污染。严谨做法是把 GLOF 的致病变异按 ClinVar 提交日期切分,只评测在模型训练截止日之后新增的部分——但 GLOF 本身不提供 ClinVar 提交日期字段,这是它作为评测集的结构性缺陷(§8.4、§12)。

一个可行的补救手段是外部左连接:拿 GLOF 的 VARIANTKEY 去 ClinVar 的 release 表里查 DateLastUpdated,筛出 2024 年之后才被重新解读的条目,作为"较干净"的子集单独报告。代价是要额外下载一份 ClinVar VCF 并写解析脚本,但换来的是污染声明可以从"存在"降级为"已部分控制"。

输出格式建议:不要只给三分类标签,同时给每类的概率。评测方才能按需调阈值——例如临床场景更关心 GOF 的查全率,可以牺牲一部分 Neutral 的精确度把阈值调低。

§4.2 场景二:基因分层迁移学习

基因分层(gene-wise split)是防止"同基因内泄漏"的标准做法:训练集与测试集不共享基因。GLOF 的 2,809 个基因足以支撑 5 折基因分层,但要注意中位基因只有 19 条样本,折内类别可能缺失。建议:

  • 以基因而非变异为切分单位;
  • 对 GOF+LOF 双向基因单独设"留出集"(92 个基因),专测模型区分方向的能力;
  • 报告每折的类别分布,而非只报总体。

§4.3 场景三:药物机制与靶点假设

GOF 与 LOF 直接对应两类相反的干预策略:抑制剂 vs 增强剂/替代。对制药团队来说,GLOF 提供了一个"某基因的致病变异偏哪个方向"的先验表——例如 PTPN11 的 105 条 GOF 与 0 条明确 LOF,说明该基因的致病主旋律是激活,SHP2 抑制剂的方向是对的。

但请勿过度外推:变异级的功能方向占比 ≠ 基因的治疗策略。很多基因同时有 LOF 与 GOF 致病机制,治疗需按变异分型。

§4.4 场景四:教学与临床沟通

LOF/GOF 是遗传咨询中最常被问到的概念之一。GLOF 提供了可直接取用的真实例子表:从 CFTR 的 LOF 到 PTPN11 的 GOF,学生可以在同一张表里对比两类机制的变异分布。教学时建议配 fig_bidirectional_structures.pdf,直观展示双向机制基因的结构域分布。

§4.5 场景五:变异注释流水线的辅助层

在临床流水线里,GLOF 不能替代 ACMG 判读,但可以作为机制分类的参考层:当实验室要在报告里写"该变异导致蛋白功能丧失/获得"时,可查询该基因在 GLOF 中的方向分布作为佐证。必须注明这是参考证据而非判读依据。

§5 数据模型与工程实操

§5.1 最小可用加载代码

import pandas as pd

# 方式一:Hugging Face datasets(自动缓存)
from datasets import load_dataset
ds = load_dataset("victormaricato/glof", split="train")
df = ds.to_pandas()

# 方式二:直取 parquet(国内可换 hf-mirror 域名)
url = "https://hf-mirror.com/datasets/victormaricato/glof/resolve/main/glof_dataset.parquet"
df = pd.read_parquet(url)

print(df.shape)          # (112399, 7)
print(df.LABEL.value_counts())

§5.2 特征工程的最小建议

GLOF 只提供七个字段,特征必须自己造。实践中最有效的三类:

  1. 替换矩阵特征:PROTEIN_REF/PROTEIN_ALT 索引 BLOSUM62 或 Grantham 距离,得到一维标量;
  2. 位置特征:AA_POSITION / 蛋白长度(需外接 UniProt 或 Ensembl 取长度),以及该位置在 Pfam/InterPro 结构域内的指示位(库内 interpro 1044 可查);
  3. 基因级先验:该基因在训练集中的 LOF/GOF 比例——注意这是标签泄漏的高危项,只能从训练折计算。

§5.3 键值对齐的坑

把 VARIANTKEY 与其他资源对齐时,会遇到三类不一致:

  • 坐标前缀:GLOF 用 1、X、M;VCF 用 chr1、chrX、chrM。做 join 前必须统一。
  • 排序方式:不同 VCF 版本对同一位置的 indel 表示不同,但 GLOF 只有 SNV,这一点反而省心。
  • 基因符号版本:GENE_SYMBOL 取自 HGNC,一些旧符号(如 C12orf57)在新版 HGNC 已改名,跨库 join 会丢行。

§5.4 类别不平衡的处理

三个层次,按推荐度排序:

  1. 重加权损失:以类别频率倒数做样本权重(GOF 权重约为 Neutral 的 27 倍),不改数据;
  2. 分层采样 + 宏平均指标:保持原始比例,报告 macro-F1 与每类召回;
  3. 仅在明确说明的前提下重采样:SMOTE 在蛋白序列语境下生成"不存在的变异",不建议用于本数据集。

补充一个容易被忽略的细节:不平衡在基因层面比在全局层面更严重。全局看 GOF 占 2.8%,但在 2,749 个含中性类的基因里,绝大多数基因的 GOF 条数为零;而在 NOTCH3、PTPN11 等少数基因里,GOF 反而接近或超过 LOF。这意味着"按类重加权"只能修正全局偏差,无法修正基因内的方向偏差。更精细的做法是按(基因 × 类别)联合分层做重加权,代价是样本极少格子的权重会爆炸,需要对权重做截断(如上限 50)。

§6 获取、许可与版本管理

§6.1 三个入口

入口 地址 形态 备注
Hugging Face huggingface.co/datasets/victormaricato/glof parquet 主发布地,有 DOI 10.57967/hf/10836
Kaggle kaggle.com/datasets/maricatovictor/loss-and-gain-of-function-variants CSV / API 需 Kaggle 账号
镜像 hf-mirror.com/datasets/victormaricato/glof parquet 国内网络首选

§6.2 许可:CC BY 4.0 的实际含义

  • 可以:商用、再分发、改造、训练模型;
  • 必须:署名(引用作者与 DOI)、标注是否修改;
  • 不保证:数据准确性免责;上游 ClinVar/gnomAD 的原始条款兼容性未被预印本讨论。

对临床用途而言,CC BY 4.0 不等于"可用于诊断"。任何临床决策都不能只依赖本数据集。

再补一层现实考量:本数据集是二级加工品——它把 ClinVar 的条目重新判读并加了新标签。CC BY 4.0 覆盖的是作者的"选择与编排",而底层每条 ClinVar 记录是否允许再以 CC BY 4.0 分发,取决于提交时的条款。多数 ClinVar 提交本身允许再分发,但个别实验室提交的条目可能带有额外限制。预印本没有讨论这一点,使用者在产品化前应当抽样核对来源提交者,或至少在法务文件中声明"许可依据来自数据集卡,上游条款未逐条核验"。

§6.3 版本固定:复现的前提

Hugging Face 仓库是活的。要复现某篇论文的结果,必须固定 commit:

ds = load_dataset("victormaricato/glof", revision="603256c875d962494ca30153dded1f92972ef928")

本条目核验时点为 2026-10-17,对应 commit 603256c(2026-06-08 最后修改)。若未来仓库更新,行数、类别比例乃至标签都可能变化——引用时务必把 commit 哈希写进方法学部分。

§6.4 不稳定风险的量化描述

风险 触发条件 后果
仓库静默更新 作者重跑策展流水线 样本量变化,旧结果不可比
ClinVar 重分类 上游 2026-03 之后的版本继续演进 标签与最新 ClinVar 脱节
gnomAD 版本升级 v4.1 → v5 中性类集合变化
预印本被拒或大改 同行评审 方法学口径变化(如双向基因定义)

应对:下载后立即计算并记录文件 md5、行数与类别计数三件套,写进项目 README。

§6.5 坑点 1:Revision 与 doi 不是一回事

Hugging Face 自动生成的 DOI 10.57967/hf/10836 指向仓库整体,不指向某个 commit;论文 DOI 10.64898/2026.06.05.729843 指向预印本。三者引用时需要分别交代,切勿混写成一个 DOI。

§7 与库内条目的关系与消歧

§7.1 与 clinvar(rid=136)

关系:上游。GLOF 的 25,368 条 LOF 与 3,129 条 GOF 全部来自 ClinVar 2023-07 版。差别:

维度 ClinVar GLOF
判定对象 致病性(P/LP/VUS/LB/B) 功能方向(LOF/GOF/中性)
变异类型 全类型 仅错义
条目规模 百万级提交记录 11.2 万条去重变异
是否含功能方向 部分提交者写在自由文本里 结构化标签
更新频率 周级 预印本阶段,不定期

消歧一句话:ClinVar 告诉你"这个变异被认为致病",GLOF 告诉你"这个致病变异是失活还是激活"。两者不可互相替代,也不可合并计数——GLOF 的记录在 ClinVar 里大多能找到对应条目,但反过来不成立。

一个容易混淆的时间差:GLOF 用的是 ClinVar 2023-07 版,而 ClinVar 每周更新。2026 年的 ClinVar 里,GLOF 标记为 LOF/GOF 的变异可能已经被降级为 VUS,甚至被重分类为良性。因此用 2026 年的 ClinVar 去核对 GLOF 的标签,必然出现"冲突"——这不是 GLOF 的错误,而是时间窗口不同。做交叉核对时只有两种合规做法:要么去 ClinVar 归档里取 2023-07 的快照,要么在结论里明确写"以 2023-07 为准"。

另一个误解:GLOF 只收错义,所以它的 25,368 条 LOF 不是该基因全部 LOF 变异——很多基因的主要 LOF 来源是无义与移码。拿 GLOF 统计"某基因 LOF 变异数量"会系统性低估。

§7.2 与 alphamissense(rid=584)

关系:互评。AlphaMissense 是 DeepMind 的致病性预测模型,对约 7,100 万条可能的错义变异(人类全部蛋白编码基因)给出 0 到 1 的分数,其中约 2.16 亿条被归类为可能良性或可能致病。GLOF 可以作为 AlphaMissense 的下游评测集——但要注意:AlphaMissense 训练数据含 ClinVar,存在污染;且 AlphaMissense 只判"致病",不判方向,无法直接用于 LOF/GOF 区分任务。若要用它做 GLOF 的三分类基线,只能把它当"是否致病"的第一级筛子,方向仍需另模型。

一个实用的互评设计:把 GLOF 的 LOF+GOF 子集合成"致病正集"、Neutral 作"良性负集",先测 AlphaMissense 的 AUROC,再问"在它判为致病的那些变异里,它的分数能否区分 LOF 与 GOF"。预期答案是"不能"——两者分数分布几乎重合。把这个阴性结果写出来,本身就是对 GLOF 价值的证明。

§7.3 与 proteingym(rid=813)

关系:互补。ProteinGym 汇集数百个 DMS 实验(覆盖 200 余个蛋白)的定量适应度分数,回答"这个突变让蛋白功能下降了百分之多少";GLOF 回答"这个突变让功能朝哪个方向变了"。可交叉验证的地方:ProteinGym 中同时有 LOF 与 GOF 表型的实验(如某些酶活与受体信号实验)可与 GLOF 双向基因对照,但两者覆盖的变异集合几乎不重叠——ProteinGym 是实验穷举的饱和突变,GLOF 是临床见到的自然变异。

为什么不能简单合并:DMS 的适应度分数是连续且相对于参考序列的,而 GLOF 是离散且相对于疾病语义的。一个 DMS 分数为 0.3 的变异,可能是"部分功能保留"(功能上偏 LOF 但未达致病阈值),在 GLOF 里则可能是 Neutral。两者合并训练会把"功能量"与"致病质"搅在一起。正确做法是分开训练、单向评估:用 DMS 预训练表征,再到 GLOF 上微调与评测。

§7.4 与 clingen(rid=523)、cspec(rid=1132)

关系:机制层。ClinGen 的 CSpec 规定"某基因的 PVS1 怎么用",其中关键前提就是该基因的疾病机制是 LOF 还是 GOF——例如 RASopathy 相关基因的 BP1 规范被明确改写为"截短变异在 GOF 机制基因里应视为良性"(GN043,PTPN11 v2.1.0 实抓)。GLOF 恰好能为这类规则提供数据支撑:某基因的致病变异以 GOF 为主,则其 CSpec 里 BP1 的改写就有了经验依据。

这不是巧合,而是同一问题的两个视角:CSpec 从"规则应该怎么写"出发,反推基因机制;GLOF 从"变异实际怎样"出发,归纳基因机制。两个方向的结论若在某基因上一致(如 PTPN11),说明机制判定可靠;若不一致,则提示该基因的机制可能比 VCEP 假设的更复杂——这正是值得进一步研究的信号。

§7.5 与 gnomad(rid=35/570)、omim(159)、uniprot(37)、interpro(1044)

  • gnomAD:中性类的唯一来源,也是判断"罕见"的基线。库内 gnomad 有两条 rid(35 与 570),属于同一资源的历史重复条目,使用时以任一为准即可;
  • OMIM:基因-疾病关系与遗传方式的权威来源,GLOF 的基因筛选逻辑依赖这类知识;
  • UniProt:蛋白长度、结构域边界,做位置特征工程必备。AA_POSITION 的最大值 35,972 对应 TTN 等超长蛋白,用 UniProt 取长度时必须确认取的是同一规范异构体,否则位置会整体错位;
  • InterPro:结构域注释,用于解释"为什么某个结构域里 GOF 特别多"。把 AA_POSITION 映射到 Pfam 边界后,可以计算"单位长度内 GOF 密度",这是比"条数"更公平的跨蛋白比较指标。

这四者共同构成 GLOF 的"外接上下文"——数据集本身只给坐标与标签,所有生物学解释都来自外接资源。这也是 §5.2 强调特征工程的原因。

§7.6 消歧总表

条目 一句话定位 与 GLOF 的边界
clinvar (136) 变异-临床意义提交库 上游;判致病性不判方向
alphamissense (584) 错义致病性预测模型 模型 vs 标签,可互评
proteingym (813) DMS 定量适应度基准 定量 vs 定性方向
clingen (523) 基因-疾病有效性策展 基因层 vs 变异层
cspec (1132) ACMG 规则疾病特异规格 规则层 vs 数据层
gnomad (35/570) 人群频率参考 中性类来源

§8 评测方法:怎么用才不算误用

§8.1 三个必须报的指标

  1. macro-F1:三类的未加权平均,防止多数类淹没少数类;
  2. GOF 类召回:单独报告,这是数据集的核心价值所在;
  3. 双向基因子集上的表现:92 个三标签齐备基因单独评测,衡量方向判别能力。

补一句工程上的经验:三分类模型的混乱矩阵最容易出错的一格不是 GOF↔Neutral,而是 GOF↔LOF——两者都是致病变异,致病性分数几乎相同,模型只能靠方向特征区分。若你的混淆矩阵里 GOF 被误判成 LOF 的比例高于 50%,说明模型根本没学到方向,只是在做二分类。

§8.2 准确率的陷阱

全猜 Neutral 的基线准确率是 74.6%。任何低于这个数字的三分类模型都是在做负贡献。同时,若某模型报 “92% 准确率” 而不报 GOF 召回,几乎可以肯定它把 GOF 全判错了。

§8.3 基因分层与泄漏控制

  • 变异级切分是错误的:同一基因内的变异共享大量序列与结构信息,随机切分会让模型"背题";
  • 必须基因分层:用 GroupKFold(groups=GENE_SYMBOL);
  • 额外一层:同一蛋白家族的基因(如 FGFR1/2/3、SCN1A/2A/8A)之间也存在高度相似性,严格的泛化评测应做家族级留出,但 GLOF 不提供家族映射,需外接 InterPro/Pfam。

§8.4 训练污染的三重来源

来源 说明 缓解
ClinVar 泄漏 多数 VEP 模型训练集含 ClinVar 按提交日期切分(GLOF 无此字段,需外接)
UniProt 泄漏 蛋白语言模型预训练语料含功能注释 无法缓解,只能声明
同源泄漏 家族内基因序列相似 家族级切分(需外接注释)
标签泄漏 同基因的 LOF/GOF 比例是最强特征,若从全量计算即泄漏 只用训练折统计

结论:GLOF 可以衡量"模型是否学到了功能方向",但不能单独证明"模型能泛化到未见功能"。评测报告的结论措辞必须相应保守。

第四重污染常被忽略:基因级先验泄漏。如果一个模型在特征里放了"该基因历史上 LOF 占比",而这个比例是从全量数据算的,那就等于把测试集的标签信息喂进了训练。这类泄漏不会报错,只会让指标虚高 5-15 个百分点。排查方法:把特征计算放进交叉验证的每一折内部,而不是在切分之前对全表计算。

§8.5 基线参考区间(定性描述,非实测)

由于本条目未运行任何模型,此处只给方法论参考而非数字:

  • 只用药学特征(BLOSUM + 位置)的简单分类器,LOF/Neutral 区分通常可以做到中等水平,但 GOF 召回极低;
  • 蛋白语言模型 zero-shot 在 LOF 上表现尚可,在 GOF 上普遍薄弱——因为 GOF 往往是"获得新相互作用"而非"序列破坏",序列模型天然不敏感;
  • 结构感知模型(如基于 AlphaFold 结构特征的模型)在 GOF 上可能略有优势,但尚无公开在 GLOF 上的系统评测(发布仅四个月,见 §12)。

为什么 GOF 对序列模型如此困难:LOF 的常见机制是"破坏"——折叠失败、催化残基丢失、截短,这些在序列上往往表现为高度保守位点的非保守替换,语言模型对"异常"很敏感。而 GOF 的常见机制是"增益"——解除自抑制、改变底物偏好、增强寡聚化,这些往往发生在界面残基上,序列本身看起来完全"正常"。模型必须理解结构才可能理解增益,这是 GLOF 揭示的深层结论。

§9 方法学启示与局限

§9.1 三个可迁移的方法学

  1. 双向验证上游:ClinVar 用 2026-03 版本复核 2023-07 版本,剔除重分类项——这一"时间双版本"手法值得所有基于动态数据库的基准效仿;
  2. 群体双队列验证:gnomAD v3.1 选、v4.1 复核,降低单队列抽样偏差;
  3. 有意保留困难基因:96 个双向机制基因没有被清洗掉,反而作为卖点——这比"只留干净样本"的基准更有价值。

§9.2 结构性的三个局限

  1. 极端类别不平衡:GOF 2.8%,且集中在少数基因;任何全局指标都会被稀释;
  2. 标签是"当前认知"的快照:功能研究会推翻旧结论,而数据集不随之上溯更新(无版本化标签变更记录);
  3. 单中心判读:Mendelics 一家实验室的判读标准,跨中心一致性未被报告——这与 ClinGen VCEP 的多中心共识形成鲜明对比。

§9.3 与"专家共识"类资源的差距

ClinGen CSpec 的规格需要 CDWG 与 SVI 双批准才能发布,每一条都有版本号与 Zenodo 冻结 DOI。GLOF 的标签则没有这条治理链——它是一家商业实验室的研究产出,即便作者均为领域内专业人士。这不否定其价值,但决定了它的定位:研究基准,而非临床标准。

§9.4 一种值得学习的设计:拒绝"清洗到干净"

多数基准在遇到矛盾样本时会选择删除,以追求"高一致性"。GLOF 反其道而行:保留 96 个双向机制基因,哪怕它们让三分类任务变得更难。这一选择的方法论意义在于:

  • 删除矛盾样本会让评测集对真实世界失真——真实世界本就是矛盾的,不同病人携带同一基因的不同方向变异;
  • 保留矛盾样本会让模型必须学习方向而非基因标签——如果只看"这个基因是致病基因",双向基因就会失效;
  • 保留矛盾样本也让数据集更有诊断价值——它能区分"只学到致病性"和"学到机制"两类模型。

这条设计原则可以迁移:任何"专家策划"的评测集,都应至少保留一部分已知的困难样本,并单独报告在这部分上的表现。

§9.5 数据集的"可解释性"边界

GLOF 给的是标签,不是理由。它不告诉你"为什么这个变异是 GOF"——是解除自抑制,还是增强二聚化,还是改变亚细胞定位。这使得它适合做评测,不适合做解释性研究。若研究问题是"哪些结构特征导致 GOF",必须回到原始文献,GLOF 只能提供候选清单。

§10 常见误解澄清

§10.1 误解一:GLOF 是致病变异数据集

纠正:四分之三是中性变异,且中性与致病不是互斥的判定对象——它是功能方向数据集。同一变异可以在 ClinVar 里是 Pathogenic、在 GLOF 里是 LOF。

§10.2 误解二:GOF 就意味着更严重

纠正:方向与严重度无关。有些 GOF 是轻度的(如某些 CACNA1C 变异),有些 LOF 是致死的(如 CFTR 的 F508del 纯合)。数据集中不含严重度字段。

§10.3 误解三:Neutral 等于野生型

纠正:Neutral 是"群体常见、未见致病证据",不是"功能与野生型完全一致"。CDKN1C、G6PD 等基因中有高频但功能轻度减弱的变异。在 DMS 语境下,Neutral 也不能直接当 wild-type 类使用。

§10.4 误解四:可以直接拿来评测 AlphaMissense 并下结论

纠正:AlphaMissense 输出致病性分数,不输出方向。用它做三分类必须先用阈值切"是否致病",再猜方向,等于把任务拆成两半——这不是公平评测。正确做法是与专门的方向预测模型比。

§10.5 误解五:112,399 是"独立变异"数

纠正:实抓发现 6 条 VARIANTKEY 重复。虽然占比可忽略,但做精确计数时应去重,且重复行可能来自不同基因上下文(同一基因组位点落在重叠基因内)。

§10.6 误解六:CC BY 4.0 意味着可以无限制商用

纠正:CC BY 4.0 要求署名与标注修改,且不提供任何担保。更重要的是上游 ClinVar 提交者与 gnomAD 的条款兼容性未在预印本中讨论;若要在商业产品中嵌入,建议做法务核查。

§10.7 误解七:基因数 2,809 等于"覆盖人类蛋白编码基因的 13%"

纠正:这个比例在数量上没错(约 20,000 个蛋白编码基因),但覆盖极不均衡——531 个基因占了大部分记录,其余多为十几条。说"覆盖 2,809 个基因"在方法学上会给人"广覆盖"的印象,实际有效覆盖远小于此。

§10.8 误解八:这是 ClinGen 出的

纠正:不是。作者三人来自巴西 Mendelics,与 ClinGen 无隶属关系;数据卡中也没有出现 ClinGen 字样。它与 ClinGen 的关联仅在于使用了 ACMG 指南框架,并在概念上与 CSpec 的机制判定相关。

§10.9 误解九:预印本数字可以稳定引用

纠正:预印本 v1 与数据卡已经出现分项数字不一致(GOF 基因 260 vs 259),说明连作者自己的文本与文件之间都未完全对齐。引用时请以实抓为准并注明时点。

§10.10 误解十:GOF 变异都能被抑制剂治疗

纠正:GOF 不等于"可成靶"。很多 GOF 是蛋白聚集(GFAP)或功能复合体的组成性激活,小分子未必可控。数据集的标签是机制分类,不是治疗可分性判断。

§10.11 误解十一:LOF 一定是"蛋白没有了"

纠正:LOF 包括"蛋白量减少"“蛋白在但没活性”“蛋白定位错误”"蛋白不稳定被降解"等多种情形。GLOF 不区分这些亚型——"LOF"是一个语义上位的判定,不是分子机制的描述。临床上区分他们是必要的(比如 CFTR 的折叠型 LOF 可用矫正剂,而门控型 LOF 需要增效剂),但数据集不提供这个层次。

§10.12 误解十二:中性变异可以用来做"良性对照"训练

纠正:可以做负类,但要知道负类的分布被 AF > 1% 的阈值大幅塑造——它偏向高保守性差的基因、偏向常见人群、偏向耐受位点。用这样的负类训练出的模型,在"罕见但良性"的变异上会系统性误判为致病。这是一个选择偏差,而非标签错误。

§11 生态与影响

§11.1 在 VEP 领域的位置

传统 VEP 的谱系可以粗略分成四代:

  1. 保守性类(SIFT、PolyPhen-2、CADD):基于多序列比对与生化性质;
  2. 监督学习类(REVEL、VEST、MetaRNN):整合多种注释做致病性预测;
  3. 深度突变扫描类(ProteinGym):实验穷举的定量适应度;
  4. 蛋白语言模型类(ESM-1v/2、AlphaMissense、ESM3):从序列中学分布,zero-shot 打分。

GLOF 不属于上述任何一代——它是"评测集",不是"预测器"。它的作用是把第四代从"致病性"推向"机制方向",从而暴露这一代模型最薄弱的地方。

§11.2 社区接受度(截至 2026-10)

  • Hugging Face 下载计数 63,点赞 0——发布四个月,仍处于极早期;
  • Sciety 上有活动记录,但未见系统性引用;
  • 尚无公开的第三方模型在该数据集上的基准榜单;
  • Kaggle 侧页面存在但未见公开 Notebook 与讨论——两个平台都缺乏社区共建痕迹。

这意味着:GLOF 目前是"有机会占位"的资源——谁先做出可信的 LOF/GOF 三分类基线,谁就定义了这条赛道的评测方式。

§11.3 下游可能的生态位

  1. 变异注释工具的机制层:VEP、ANNOVAR 的插件生态可以接入;
  2. 药物靶点优先级排序:按基因方向分布做机制先验;
  3. 临床报告自动化:在报告模板中自动生成"该变异所属基因的致病机制倾向"一句话;
  4. 教学与考核:遗传咨询培训的三分类判读练习集。

§11.3a 与 ClinGen 生态的互补位

如果把 ClinGen 生态画成四层——基因层(Gene-Disease Validity)、规则层(CSpec)、变异层(ERepo/ClinVar)、机制层(暂无标准化资源)——GLOF 恰好填补的是最右端的机制层。它不取代任何一层,也不与任何一层重叠。这也是它在本库内不会与 clingen(523)、cspec(1132)、clinvar(136) 撞车的根本原因。

§11.4 竞争与补充

同期还有若干"机制感知"资源在做类似的事,但侧重点不同:DMS 类问定量、临床类问致病性、通路类问上下游。GLOF 的独特之处在于"同时含 LOF 与 GOF 的双向基因"这一设计——这是判断模型是否真的学到了方向、而非仅仅学到了"致病=坏"的关键。

从竞争格局看,GLOF 面临的最大威胁不是别的数据集,而是ClinGen 体系本身:如果未来 ClinGen 在其变异分类中系统性地加入机制字段(例如在 ERepo 记录里增加 functionalEffect),那些数据将具备 GLOF 缺少的治理背书与版本控制。届时 GLOF 的比较优势会退回到"规模"与"已整理成单表"这两点——而这两点恰恰是最容易被复制的能力。

§12 避坑清单:十五个已踩过的坑

坑点 1:把 Neutral 写成 NEUTRAL

标签字面量是 Neutral(首字母大写),部分教程或脚本里写成全大写后 df[df.LABEL=="NEUTRAL"] 返回空集,静默失败。排查:先 df.LABEL.unique() 看一眼。

坑点 2:用 chr 前缀去 join

VARIANTKEY 格式为 1-100196274-A-C,没有 chr 前缀;与 VCF、gnomAD 表格 join 前必须统一前缀,否则命中率为零。

坑点 3:线粒体用 MT 而不是 M

数据集中线粒体染色体写作 M(1,588 条),用 MT 匹配会全部丢失。同理 Y 染色体仅 84 条,X 染色体有 7,175 条——做性别相关分析时要留意 X 的剂量问题。

线粒体变异还有一个更深的问题:线粒体的"LOF"判定与核基因的语义并不完全一致。mtDNA 是多元体,异质性(heteroplasmy)比例决定表型,而 GLOF 的标签是二元的 LOF/GOF。把线粒体错义变异与核基因变异放进同一个分类器训练,会引入一类语义不一致的样本。稳妥做法:建模前先剔除 M 染色体(约占 1.4%),或单独建一个亚组报告。

坑点 4:把 GOF 当"更严重的 LOF"

概念性错误,会导致模型设计时错误地把 GOF 并入阳性类。排查:检查损失函数是否把 LOF 与 GOF 合并。

坑点 5:只报 accuracy

74.6% 的中性占比让 accuracy 失去意义。排查:报告里若无 macro-F1 与 GOF 召回,视为不合格评测。

坑点 6:把数据卡的基因数当权威

数据卡 Neutral 基因数 2,749、GOF 基因数 260,实抓分别为 2,783、259。排查:任何按类别的基因计数都应自己跑一遍 nunique()。

坑点 7:忽略 6 条重复 VARIANTKEY

精确计数与去重训练集时需要 drop_duplicates(subset="VARIANTKEY")。虽然影响可忽略,但若做"每个变异唯一"的声明,会被审稿人抓住。

坑点 8:用随机切分做评测

同基因变异共享结构信息,随机切分会把准确率虚抬。排查:检查切分代码是否按 GENE_SYMBOL 分组。

坑点 9:引用不写 commit 哈希

仓库可被静默更新。排查:方法学部分是否出现 revision= 或 md5。

坑点 10:把 AA_POSITION 当作基因组坐标

AA_POSITION 是蛋白质氨基酸位置,不是基因组坐标。有人拿它去查 gnomAD 的 POS 字段,结果全部错位(因为内含子长度未计入)。正确做法是从 VARIANTKEY 里取第二段作为基因组坐标。

坑点 11:用 PROTEIN_REF 校验 VARIANTKEY

数据集中 PROTEIN_REF 与 VARIANTKEY 的参考碱基是两个独立体系,不能互相推导(除非另用遗传密码与转录本 CDS 序列重建)。有人试图用"碱基改变是否导致该氨基酸替换"来校验数据,结果需要额外引入转录本序列,工作量远超预期。

坑点 12:以为 Kaggle 与 HF 完全同步

两个平台的内容原则上相同,但更新时间可能不同步。以 Hugging Face 的 commit 为准,Kaggle 只作镜像备份。

坑点 13:按"位点"而非"替换"聚合

实抓发现 112,399 条记录落在 103,065 个(基因 × 氨基酸位置)格子上,其中 7,975 个格子含多个替换(同一位置被换成了不同氨基酸)。更关键的是,220 个格子上同时存在两种以上标签——即同一位点的不同替换,一个是 LOF、另一个是 GOF 或中性。这意味着**"按位置聚合"会制造标签冲突**,任何以位置为单位的模型都必须显式处理这一点。

坑点 14:以为数据是"饱和突变"

GLOF 不是饱和突变库。103,065 个位置相对 2,809 个基因的总长度(保守估计数百万个氨基酸位置)覆盖率极低。不能拿它算"某蛋白的突变耐受性图谱"——那是 DMS 的活。

坑点 15:把"基因数 2,809"当均匀分布

实抓 2,809 个基因中,记录数 < 5 的只有 2 个(说明作者做过下限过滤),但中位数仅 19 条。真正"够训练"(≥50 条)的基因只有 531 个(18.9%)。说"覆盖 2,809 个基因"时,实际上有效覆盖不到两成。

§12.1 三类读者最容易踩的三个坑(速览版)

读者 最容易踩的坑 一句话纠正
临床医生 以为 Neutral = 良性可报 Neutral 只是"人群常见",不是判读结论
算法工程师 只看 accuracy 74.6% 的基线让 accuracy 失效,必须报 macro-F1
数据管理者 以为许可一致 上游 ClinVar 条款未逐条核验,商用前需法务

§12.5 本条目自身的双口径存照

按纪律要求,把正文中出现的所有"两个数字"集中存照,方便读者核对:

项目 口径 A 口径 B 采用建议
双向机制基因 97(摘要) 96(LOF∧GOF)/ 92(三标签齐备) 正文并列;不写 97 作单一数
GOF 覆盖基因 260(数据卡) 259(实抓) 引用写 259,并注"卡称 260"
Neutral 覆盖基因 2,749(数据卡) 2,783(实抓) 引用写 2,783,并注"卡称 2,749"
唯一变异数 112,399(行数) 112,393(去重后) 引用写 112,399,方法学注明 6 条重复
数据集 DOI 10.57967/hf/10836(HF 自动) 10.64898/2026.06.05.729843(预印本) 二者分列,不可互替
线粒体标签 M(文件内) MT(通用写法) 以文件内为准

§13 下游实操清单

§13.1 第一天:把数据跑起来

  1. 拉 parquet,检查 shape == (112399, 7);
  2. 打印 LABEL.value_counts(),与 INFOBOX 对照;
  3. 计算文件 md5 与行数,写入项目 README;
  4. 检查是否存在空值(应为 0)。

§13.2 第一周:建立可信基线

  1. 完成基因分层 5 折切分(GroupKFold);
  2. 训练一个"仅 BLOSUM + 蛋白位置"的基线,记录 macro-F1 与 GOF 召回;
  3. 在 92 个三标签齐备基因上单独评测;
  4. 建立"全猜 Neutral"与"仅用致病性分数二分后随机分方向"两个下限基线。

§13.3 第一个月:严谨报告

  1. 按 §8.4 说明三重泄漏来源与已做的缓解;
  2. 提供预测分数或代码,而非只报数字;
  3. 附 commit 哈希、md5、日期;
  4. 若结论涉及"模型可泛化到新功能",必须补充外部队列验证。

§13.4 团队分工建议

角色 任务
数据工程 下载、校验、切分、特征管道
模型 基线、消融、家族级留出
临床遗传 抽查标签合理性、解释双向基因
统计 不平衡指标、置信区间、多重比较校正

§13.5 常见失败模式的早期信号

项目跑到一半发现不可用,通常早就有信号。下面五个信号一旦出现,立刻停下修管道:

信号 含义 处置
GOF 召回恒为 0 模型完全忽略少数类 查损失权重、查标签是否误写成全大写
验证集准确率 > 95% 几乎必然泄漏 查切分是否按基因、查特征是否用了全量统计
三类 F1 几乎相等 模型在随机猜 查特征是否全为常数、查数据是否打乱失败
某基因贡献过半的错误 长尾样本主导 单独报告该基因,或做样本权重上限
换 commit 后指标骤降 数据集更新 锁定 revision 重跑

§13.6 最小可交付物清单

如果只能交付一次,应该包含哪些文件?本文建议七件:

  1. data_card.md:写明 commit、md5、行数、类别计数;
  2. split.json:基因分层切分的折号映射,可复现;
  3. baseline.py:至少两个下限基线的可运行脚本;
  4. metrics.json:macro-F1、每类 P/R/F1、混淆矩阵;
  5. subgroup.csv:96 个双向基因与 5 个只含 GOF 基因的单独指标;
  6. README.md:环境、运行方式、预期结果;
  7. LIMITATIONS.md:污染、不平衡、预印本状态的声明。

前六件决定"别人能不能复现",第七件决定"别人会不会误用"。

§14 按角色阅读路径

  • 临床遗传学家:§0 → §3 → §10 → §7(先搞清标签含义与边界);
  • ML 工程师:§1 → §2 → §8 → §13(先搞清数据结构与评测定义);
  • 药物研发:§0 → §4.3 → §2.6 → §10.10(先搞清方向与可成药性的区别);
  • 教学人员:§0 → §3 → §4.4 → §14 之一页速查卡;
  • 数据治理/合规:§6 → §10.6 → §12(先搞清许可与上游兼容性)。

§15 一页速查卡

问题 答案
多少条 112,399
多少基因 2,809
几类标签 3(Neutral / LOF / GOF)
比例 74.6% / 22.6% / 2.8%
双向基因 97(摘要)/ 96(LOF 与 GOF 并存)/ 92(三标签齐备)
坐标 GRCh38,chr-pos-ref-alt,无 chr 前缀
致病来源 ClinVar 2023-07,比对 2026-03
中性来源 gnomAD v3.1,v4.1 复核,AF > 1%
许可 CC BY 4.0
主发布地 Hugging Face
DOI(数据集) 10.57967/hf/10836
DOI(论文) 10.64898/2026.06.05.729843
状态 预印本 v1,未同行评审
最主要的坑 GOF 只占 2.8%,accuracy 无意义

§15.1 速查卡的第二页:字段与取值

字段 典型值 取值范围
VARIANTKEY 1-100196274-A-C 25 种染色体前缀(1-22、X、Y、M)
LABEL LOF Neutral / LOF / GOF
ENSG ENSG00000137992 2,809 个唯一值
GENE_SYMBOL DBT 2,809 个唯一值
AA_POSITION 477 2 - 35,972
PROTEIN_REF M 20 种标准氨基酸
PROTEIN_ALT R 20 种标准氨基酸

§15.2 速查卡的第三页:一句话回答"我该不该用"

  • 我的任务涉及 LOF/GOF 区分 → 用;
  • 我的任务是 致病性预测 → 别用(有更好的选择);
  • 我的任务是 定量适应度 → 别用(那是 ProteinGym);
  • 我的任务是 临床判读 → 只能当参考。

§15.5 六个「一句话判据」

给急诊式读者的极简判断规则,每条都能在一分钟内验证:

  1. 这个数据集能告诉我变异是否致病吗? 不能,它假设你已经知道是致病的。
  2. 它能告诉我致病变异的方向吗? 能,但只对错义,且只对已被研究过的基因可靠。
  3. 我能直接用它训练一个临床分类器吗? 不能,类别极度不平衡且无强度分级。
  4. 我能用它发表论文吗? 能,但必须写 commit、必须报 GOF 召回、必须声明污染。
  5. 它和 ClinVar 冲突怎么办? 先看时间窗(2023-07 vs 现在),再看变异类型(只错义)。
  6. 它值得投入多少时间? 若课题与「机制方向」有关,投入一周做基线是划算的;否则优先用 ProteinGym。

§16 DAIMS 评估

维度 评分(1-10) 依据
D 可发现性(Discoverability) 7 Hugging Face + Kaggle 双平台可搜;但下载量仅 63、无独立项目主页、预印本索引度低
A 可获取性(Accessibility) 9 单文件 1.31 MB 直下,无需注册(HF 侧),load_dataset 一行;Kaggle 侧需账号
I 可互操作性(Interoperability) 7 用标准 GRCh38 键与 HGNC 符号,易 join;但无 VCF、无 HGVS、无 ClinVar VariationID 字段,跨库对齐需自建映射
M 元数据质量(Metadata) 6 数据卡七字段说明完整、有类分布表;但分项数字与实抓不一致、无版本变更日志、无标签定义细则
S 可持续性(Sustainability) 5 个人账号托管、无机构承诺、预印本未评审;CC BY 4.0 保证可再分发,但长期维护无保障
综合评级 6.8/10(良) 获取与互操作优秀,元数据与治理是短板

§16.1 DAIMS 评分的横向参照

把 GLOF 与库内同类条目放在同一把尺子上比较(评分口径一致,均为本条目作者的判读):

条目 D A I M S 综合
GLOF 7 9 7 6 5 6.8
cspec (1132) 8 9 8 7 8 8.0
proteingym (813) 8 8 8 7 7 7.6

差距主要落在 S(可持续性) 与 M(元数据) 两项:ClinGen 有 NHGRI 长期资助与 Zenodo 冻结,ProteinGym 有持续多人维护;GLOF 目前是个人账号 + 预印本。这不是对数据质量的否定,而是对「五年后它还在这儿吗」的合理担忧。

§16.1a 为什么 S 只有 5 分

可持续性评分最容易引起争议,这里把扣分理由写清楚:

  • 托管人:Hugging Face 账号 victormaricato 为个人账号,不是 Mendelics 机构账号;
  • 承诺:数据卡无"将定期更新"的承诺,也无弃用通知机制;
  • 归档:无 Zenodo 冻结快照,也无 DUA 或长期保存计划;
  • 依赖:所有内容依赖 HF 平台;平台策略变化会直接影响可用性。

对照:ClinGen CSpec 的每条规格都有 Zenodo DOI,即使官网下线,快照仍可取。这就是 5 分与 8 分的差别。

§16.2 若要让 GLOF 得 8 分,需要补什么

  1. 增加机器可读的 changelog(每条记录的加入/移除时间);
  2. 提供 VCF 与 HGVS 双格式;
  3. 公开标签判读的 SOP 与仲裁流程;
  4. 把仓库迁到机构账号或 Zenodo 归档;
  5. 补一份标签一致性抽查报告(如 200 条双人复核)。

§17 典型基因案例解剖

§17.1 PTPN11:GOF 的教科书样本

105 条 GOF、0 条 LOF、13 条 Neutral(本数据集中)。PTPN11 编码 SHP2,其致病主旋律是 Noonan 综合征的激活型变异,集中在 N-SH2 与 PTP 结构域界面,削弱自抑制。数据集中的 GOF 分布与文献报道的界面热点高度一致,可作为"标签质量抽查"的第一个样本。

值得注意的另一个用途:PTPN11 是**"零 LOF"基因**的典型——在这个基因上,任何模型只要把致病变异判成 LOF 就是错的。用这类"单方向基因"构造一个快速的模型体检:如果模型在 PTPN11 上大量输出 LOF,说明它只是在抄致病性分数,完全没有方向感。

§17.2 FBN1:LOF 的极大量样本

736 条(688 LOF + 48 Neutral),以 LOF 为主。原纤维蛋白-1 的截短与错义均可致病(马凡综合征),但错义中相当部分是半胱氨酸替换导致结构域折叠异常——在功能上被归为 LOF。这提示**“LOF"在本数据集中更接近"功能受损"而非严格的"活性丧失”**。

§17.3 CACNA1C:双向机制的困难样本

53 条记录(37 Neutral + 15 GOF + 1 LOF),同时含 LOF 与 GOF 变异,分别对应 Timothy 综合征(GOF,钙通道失活受损)与 Brugada 样表型(LOF)。注意 LOF 侧只有 1 条——双向基因内部的方向样本也极不相称,这是该类基因评测时常见的隐形陷阱。这类基因是检验模型是否真正学到"方向"的最佳试金石:仅凭保守性打分的模型在此类基因上必然失效。

§17.4 TTN:中性变异的海量来源

1,494 条(1,472 Neutral + 22 LOF),绝大多数为 Neutral。TTN 是人体最长的蛋白之一(约 34,000 个氨基酸,与 §2.2 中 AA_POSITION 最大值 35,972 呼应),错义变异极其常见,是自然选择压力低、良性变异富集的典型。用 TTN 做训练会严重加剧类别不平衡,评估时建议单独报告其表现。

§17.4a 一个"反面"样本:什么情况下标签会让人困惑

设想某基因同时含 30 条 LOF、2 条 GOF、200 条 Neutral。模型很容易在该基因上"全判 Neutral+LOF",两条 GOF 永远判不对。这类基因在数据集中并不罕见——GOF 的绝对数量少,导致它在任何单基因评估里都被淹没。对这 2 条 GOF 的处理只有三种:剔除、加权、或单独列出。不处理就等于默认放弃。

§17.5 CFTR:经典 LOF 与治疗策略的对应

211 条(186 LOF + 25 Neutral)。CFTR 的致病机制以 LOF 为主(F508del 为折叠缺陷,G551D 为门控缺陷),正是"LOF 变异可被小分子矫正剂/增效剂挽救"的范式。数据集虽不含治疗信息,但方向标签与治疗策略的对应关系在此基因上最为清晰。

§18 进阶专题

§18.1 为什么 GOF 这么少:三种可能的解释

  1. 生物学真实:多数单基因病的致病机制确实是 LOF(单倍剂量不足最常见);
  2. 研究偏差:功能实验更容易设计"是否丧失活性","是否获得新活性"往往需要特殊实验;
  3. 判读保守性:专家在没有直接功能证据时倾向判 LOF。

三者可能同时成立。若第三点占比大,则未来版本中 GOF 比例可能上升,届时旧模型的 GOF 召回会因标签变更而"下降"——评测者要注意这种"假性退化"。

§18.2 双向机制基因的生物学分类

92 个三标签齐备基因大致可分为四类,各自有不同的方向判定难点:

类型 代表基因 方向判定的难点
离子通道 SCN1A/2A/8A、CACNA1C、GRIN2B 同一通道的 LOF 与 GOF 表型可重叠,需电生理细节
信号通路 PTPN11、BRAF、PIK3CA 通路激活与抑制表型可连续过渡
细胞骨架/中间丝 GFAP、SPAST 聚集型 GOF 与单倍剂量不足并存
转录调控 KMT2D、ANKRD11 剂量敏感,GOF 罕见但存在

§18.3 与结构生物学的对接

把 GLOF 的 AA_POSITION 映射到 AlphaFold 结构上,可以直接观察"GOF 热点是否聚集在某个界面或活性中心"。这是目前最有可能做出新发现的用法——数据集本身不含结构信息,但位置字段足够。

§18.3a 位置分布的可视化建议

把每个基因的 AA_POSITION / 蛋白长度 做归一化后画成脊线图(ridgeline),按标签分色,可以一眼看出:

  • 某些基因的 LOF 集中在 N 端(截短效应);
  • 某些基因的 GOF 集中在特定结构域(如激酶域);
  • 中性变异往往均匀分布。

这张图不需要任何模型,是标签合理性的人工体检。如果某基因的 GOF 全部落在无结构的低复杂度区,就值得怀疑标注是否把「测序假象」当成了功能变异。

§18.4 家族级泛化评测的设计

严格评测步骤:

  1. 用 InterPro/Pfam 给 2,809 个基因分配家族;
  2. 留出整个家族(如 FGFR 家族)作为测试集;
  3. 训练集内不含该家族任何基因;
  4. 报告家族内各基因的表现。

此设计在 GLOF 上没有公开先例,属于可填充的空白。

§18.5 与 AlphaFold 结构特征结合的三种特征

  1. 相对溶剂可及性(RSA):GOF 若发生在界面,往往埋藏较深;
  2. pLDDT 局部均值:低置信区的位置特征噪声大,应降权;
  3. 结构域间距离:自抑制解除型 GOF 常见于两个结构域的接触界面。

三者都可以从 AlphaFold DB 的结构文件直接计算,不需要跑预测。

§19 结语

GLOF 的分量不在体量——1.31 MB 的数据文件在动辄 TB 的组学资源里微不足道——而在于它给 VEP 领域划出了一条新的评测轴:从"治病不治病"转向"怎么致病"。

这条轴的价值在三个方面得到验证:第一,LOF 与 GOF 在药理上对应相反策略,混淆它们的代价是真实的临床与商业成本;第二,蛋白语言模型在 GOF 上的系统性薄弱已被这项任务定义暴露出来;第三,96 个双向机制基因(摘要口径 97,三标签齐备口径 92)提供了天然的控制变量,让"是否学到方向"可被严格检验。

与此同时,它作为预印本阶段、单中心策展、个人账号托管的资源,其数字与标签都带有明显的暂定性。本条目因此坚持三件事:双口径并列、版本时点明示、局限逐条列出。对使用者而言,最负责任的态度是:先用它发现问题,再等它变成标准。

§19.1 给三类读者的最后一句

  • 给临床遗传学家:把它当作机制词典的补充索引,不要当作判读依据。
  • 给算法研究者:它定义了下一个值得攻克的子问题——方向预测。
  • 给数据治理者:它是「预印本 + 个人托管」模式的典型样本,提醒我们元数据与治理同样是数据价值的一部分。

§19.2 一句可以引用的判断

如果要为 GLOF 写一句"短评",建议是:

GLOF 第一次把「功能方向」从临床判读的隐含前提,变成了可训练、可评测的显式标签;它的数据量足以支撑研究,它的稀缺性与治理短板也足以提醒使用者保持审慎。

这句话同时承认了价值与局限,适合写进综述的"现有资源"一节。

§20 从标签到结论:一次完整的评测推演

§20.1 场景设定

假设一个团队要把自研的错义变异功能方向模型(以下简称 M)提交到期刊,审稿人要求"在公开数据上证明你比蛋白语言模型更懂 GOF"。下面是应有的推演步骤。

§20.2 第一步:定义任务边界

三分类还是二分类?这一步决定了后续所有指标的可比性:

  • 三分类(Neutral/LOF/GOF):最常见,但 Neutral 占 74.6%,GOF 仅 2.8%;
  • 二分类(限定致病子集):只在 28,497 条 LOF+GOF 上做方向判别,避开了中性类稀释,但丢失"是否致病"信息;
  • 层级式:先判是否致病,再判方向。

建议:主表报三分类,附表报二分类(致病子集),如此既回应"全局性能"又回应"方向能力"。

§20.3 第二步:切分

  1. 以 GENE_SYMBOL 分组做 5 折;
  2. 额外固定一个"双向基因测试集":96 个 LOF 与 GOF 并存基因(或 92 个三标签齐备基因),训练折中完全不出现这些基因;
  3. 记录每折的三类条数,若某折 GOF 少于 100 条,合并折或干脆改用分层分组切分。

§20.4 第三步:基线与上界

层级 方法 目的
下限 1 全猜 Neutral 准确率 74.6% 的"蠢基线"
下限 2 致病性分数二值化 + 随机方向 证明"只靠致病性"不够
中位 BLOSUM62 + 位置 one-hot 的 LightGBM 证明特征工程的下限
上界(乐观) 同基因内留出的梯度提升 反映"信息充足时"的能力上限

只有同时报这四层,审稿人才会接受"我们的模型确实学到了方向特征"。

§20.5 第四步:误差解剖

把错误案例按基因、按结构域、按替换类型(保守替换 vs 非保守替换)交叉统计。经验上最容易出错的三组:

  1. 双向基因内部的少数方向(如 CACNA1C 仅 1 条 LOF);
  2. 同一位置的多替换(同一密码子位点既可能是 GOF 也可能是 LOF);
  3. 膜蛋白跨膜区的替换(结构模型质量差,特征噪声大)。

§20.6 第五步:结论措辞

合规的措辞:“在本数据集的基因分层评测中,M 的 macro-F1 为 …,GOF 召回为 …,显著优于同类方法;受限于 ClinVar 训练污染,该结果不能直接推断为对新发现变异的功能预测能力。”

不合规的措辞:“M 能准确预测变异是 GOF 还是 LOF。”——缺少数据、缺少切分、缺少污染声明。

§20.7 一个反面案例

某团队在 GLOF 上报出「三分类准确率 88%」,审稿人追问后发现:GOF 召回 3%、LOF 召回 61%、Neutral 召回 97%。这实际上是**「致病性 + 常见性」两分类器**,只因为 GOF 样本太少,模型把它当成了噪声。这个案例说明:GLOF 的真正门槛不在模型,而在评测文化——不强制报告每类指标,数据集就会被误用。

§20.8 推演小结表

步骤 关键动作 常见错误
定义任务 三分类 + 致病子集二分类 只报三分类
切分 基因分层 + 双向基因留出 随机切分
基线 四个层级全跑 只跑一个基线
误差解剖 按基因/结构域/替换类型 只看总体错误率
结论 带污染声明 断言"能预测功能"

§21 与同类功能方向资源的对照

§21.1 四类资源的定位差异

资源 判定对象 规模 是否有方向标签 更新状态
GLOF 错义变异 112,399 有(三分类) 预印本,活仓库
ClinVar 全类型变异 百万级提交 无结构字段 周更
ProteinGym DMS 变异 250 万+ 无(定量分数) 持续扩充
AlphaMissense 全部可能错义 2.16 亿 无(致病性分数) 模型静态

§21.2 它们能互相补什么

  • GLOF 补 ClinVar:给致病变异补方向;
  • ClinVar 补 GLOF:给 GLOF 提供逐年新增的致病变异来源;
  • ProteinGym 补 GLOF:给小部分变异提供定量强度;
  • AlphaMissense 补 GLOF:做"是否致病"的前置过滤。

§21.3 一个组合流水线的设想

新变异 → AlphaMissense 打分(是否致病)
        → 若致病:查 GLOF 同基因方向分布(先验)
        → 查 ProteinGym 同源 DMS 数据(若存在,得定量强度)
        → 查 CSpec 该基因的 ACMG 规格(规则层)
        → 人工判读定论

这条流水线里,GLOF 只承担"方向先验"这一环,不承担"定量"与"判读规则"。把它放在正确的位置,它就是一个极高效的部件;放错位置,它就是噪声源。

§21.4 与「变异致病性」基准的边界

库内还有若干以「致病性」为任务的资源(如 AlphaMissense 的底层数据、ClinVar 本身)。它们与 GLOF 的分工可以一句话概括:

致病性基准回答「要不要报告」,GLOF 回答「报告时怎么写机制」。

前者服务于筛查,后者服务于分型。二者在同一份临床报告里各占一段,谁也不能替代谁。

§21.5 与「变异效应」语义谱系的三段论

把变异的"效应"拆成三段,可以更清楚地看出各资源的位置:

  1. 是否发生(这个变异存在吗)—— 由测序与质控回答;
  2. 是否致病(该不该报告)—— 由 ClinVar + ACMG 判读 + AlphaMissense 类模型回答;
  3. 如何致病(朝哪个方向坏)—— 由 GLOF 这类资源回答。

三段之间没有替代关系。任何试图用第三段替代第二段(或反之)的做法,都会在临床上出错。

§22 十组数字的稳定性评级

在使用 GLOF 前,先判断哪些数字能直接写进论文、哪些必须自己重算:

数字 稳定性 建议
112,399(总数) 高 可直接引用,附 commit
2,809(基因数) 高 可直接引用
83,902 / 25,368 / 3,129 高 可直接引用,与数据卡一致
74.6 / 22.6 / 2.8% 高 可直接引用
97(双向基因) 中 建议同时给出 96 与 92 的定义
2,749 / 260(分类基因数) 低 必须重算(实抓 2,783 / 259)
19(中位基因样本数) 中 实抓值,预印本未给
1.31 MB 低 随版本变化
63(下载数) 低 实时变化,引用须注明日期
6(重复键) 中 实抓值,可能随版本修复

通用原则:凡是"数量型"数字(条数、基因数、占比)稳定性高;凡是"派生型"数字(分类基因数、下载量、文件大小)会随版本漂移,必须注明核验时点。

§22.1 一条实用的「数字引用守则」

写论文/报告时,凡是引用 GLOF 的数字,按下面模板处理:

据 GLOF(HF revision 603256c, accessed 2026-10-17),
共有 112,399 条错义变异(Neutral 83,902 / LOF 25,368 / GOF 3,129),
覆盖 2,809 个基因;其中 LOF 与 GOF 并存的双向机制基因 96 个
(三标签齐备 92 个,摘要自述 97 个)。

模板的三个要点:版本、时点、口径。缺任何一项,读者都无法判断你引的是哪一版。

§22.2 一张"数字可信度"决策图

你要引用的数字是什么?
├── 条数 / 基因数 / 占比 → 高可信,附 commit 即可
├── 分类别的基因数 → 必须自己重算(数据卡有误)
├── 双向基因数 → 必须写明口径(92 / 96 / 97)
├── 下载量 / 点赞 → 实时值,必须写日期
└── 文件大小 → 随版本变化,别写死

§23 十个提问清单:面试与审稿常见问题

  1. GLOF 的阳性类只有两类,为什么不做多级强度?——因为临床判读本身在强度上常不明确,数据集选择了最稳的粒度。
  2. 中性类的 AF > 1% 阈值是怎么定的?——预印本未展开,属于未披露的方法学细节。
  3. 为什么不提供 ClinVar VariationID?——推测出于简化键与避免依赖上游 ID 变化的考虑。
  4. 6 条重复是 bug 吗?——更可能是重叠基因区域导致的自然现象,但未在文档中说明。
  5. 双向基因 97 vs 96 哪个对?——取决于定义,建议在论文中明示自己采用哪个。
  6. 能做零样本评测吗?——可以,但需先说明训练污染的处理方式。
  7. 能用于临床吗?——不能作为判读依据。
  8. 数据集会更新吗?——会,HF 上已有至少一次修改记录。
  9. 为什么不把无义、剪接纳入?——范围限定在错义,因为错义的方向判读最难。
  10. 最容易被忽略的坑是什么?——把 M(线粒体)当成 MT,以及把 accuracy 当评测指标。

§23.3 三个"论文写作用得上"的句子骨架

  1. 引用规模时:

「GLOF 收录 112,399 条错义变异,覆盖 2,809 个基因,其中功能获得类占 2.8%(3,129 条),呈现出显著的正负样本失衡。」

  1. 说明局限时:

「受限于 GOF 类的低占比与单中心判读,本结果在功能获得方向上的稳健性仍需在扩充版本中验证。」

  1. 比较资源时:

「与仅输出连续致病性分数的 AlphaMissense 不同,GLOF 提供离散的功能方向标签,因此二者在评测目的上互补而非替代。」

§23.4 五个"看似合理实则错误"的推论

  1. “GOF 少,说明 GOF 病少” —— 可能只是"GOF 被研究得少"。推论需要排除研究偏差。
  2. “某基因全是 LOF,所以该基因只做失活” —— 这只反映了 ClinVar 收载的偏倚,不是生物学定论。
  3. “中性变异多,说明该基因不重要” —— 耐受性与重要性无直接关系,TTN 就是反例。
  4. “双向基因少,可以忽略” —— 96 个基因占基因总数 3.4%,但它们在机制研究中的权重远高于此。
  5. “数据集有 11 万条,足够训练大模型” —— 11 万条对深度学习而言是"小数据",尤其 GOF 只有 3 千条。

§23.5 由 GLOF 引出的十个开放问题

这些问题既可作为课题,也可作为审稿时的「深度测试」:

  1. 双向机制基因的功能方向是否有共同的结构决定因素?
  2. GOF 比例在扩版后能升到多少?是否接近真实生物学比例?
  3. 中性类 AF 阈值从 1% 降到 0.1% 会怎样影响负类质量?
  4. 能否用 DMS 数据为 GLOF 的 LOF 子集提供定量强度?
  5. 单中心判读与多中心共识的一致性差多少?
  6. 显性负效应是否应作为第四类单独标注?
  7. 线粒体变异是否需要单独的语义体系?
  8. 同一位置的多替换是否应作为组而非独立样本评测?
  9. 跨物种保守性在 GOF 预测中的作用有多大?
  10. 如果引入 AlphaFold3 复合物结构,GOF 召回能提升多少?

§23.6 十个"你以为是 GLOF,其实不是"的混淆

  1. GLOF ≠ ClinGen 的 GCI(Gene Curation Interface),前者是变异集,后者是基因策展工具界面;
  2. GLOF ≠ gnomAD 的 LOFTEE(那是预测截短类 LOF 的算法,作用在序列层面);
  3. GLOF ≠ SIFT/PolyPhen(那是致病性预测工具,输出单个分数而非方向);
  4. GLOF ≠ GO(Gene Ontology)的 “gain of function” 注释,后者描述基因产物活性的本体关系;
  5. GLOF ≠ HGMD 的 DM?(disease mutation)标记,后者只标"与疾病相关"而不标方向;
  6. GLOF ≠ OMIM 的"功能获得性"表型描述,后者是疾病条目的文字叙述,不可机读;
  7. GLOF ≠ DMS 的 “gain” 突变体筛选,后者的"gain"指实验中的富集表型,与疾病机制无必然关系;
  8. GLOF ≠ 肿瘤驱动基因的"激活突变"清单(那是 CIViC/OncoKB 的领域,侧重用药证据);
  9. GLOF ≠ 药物基因组学的"功能改变"表型(如 CPIC 的活性评分),后者服务于给药剂量而非机制研究;
  10. GLOF ≠ 蛋白工程中的"gain-of-function 定向进化"数据集,后者是人工构建的文库而非自然变异。

每一条混淆都会导致引用错误,尤其第 9 条——CPIC 的活性评分体系与 GLOF 的三分类在语义上相似,但服务对象完全不同。

§24 学术引用与署名规范

§24.1 必须引用的两个维护对象

  • 数据集:Maricato V, Schlesinger D, de Souza Moura PN. GLOF: A large-scale expert-curated benchmark dataset of gain-of-function and loss-of-function missense variants. bioRxiv. 2026. doi:10.64898/2026.06.05.729843
  • 上游:ClinVar(Landrum et al.)与 gnomAD(Karczewski et al. 等),按各自建议格式引用。

§24.2 版本声明的推荐句式

We used GLOF (Hugging Face dataset victormaricato/glof, revision 603256c, accessed 2026-10-17; 112,399 missense variants across 2,809 genes).

这句话包含平台、仓库、commit、访问日期、规模五个要素,足以支撑复现。

§24.3 常见署名错误

错误 正确做法
只写 “GLOF dataset” 不写 DOI 必须给预印本 DOI
把 HF 的自动 DOI 当论文 DOI 二者分开写
声称"源自 ClinGen" 应写"依据 ACMG/AMP 指南,由 Mendelics 策展"
不写访问日期 活仓库必须写

§24.3a 引用时的三个常见格式错误示例

错误一(无版本):

We used the GLOF dataset (Maricato et al., 2026).

错误二(DOI 混淆):

GLOF, doi:10.57967/hf/10836 (bioRxiv preprint).

错误三(声称来源错误):

GLOF, a ClinGen-curated benchmark.

三条的共同问题是让人无法定位到你实际用的版本。正确写法见 §24.2 的模板。

§24.4 一份可直接复制的「数据声明」段

Data: GLOF (Maricato et al., bioRxiv 2026, doi:10.64898/2026.06.05.729843),
obtained from Hugging Face (victormaricato/glof, revision 603256c875d9,
accessed 2026-10-17), licensed CC BY 4.0. The dataset comprises 112,399
missense variants across 2,809 genes labeled Neutral/LOF/GOF. All splits
were performed at the gene level. Class imbalance (GOF 2.8%) was addressed
by class-weighted loss; macro-F1 and per-class recall are reported.
Potential ClinVar-derived training contamination is acknowledged.

这段可直接放进方法学,覆盖了平台、版本、许可、规模、切分、不平衡处理、污染声明七个要素。

§24.5 论文标题的准确写法

预印本标题为:

GLOF: A large-scale expert-curated benchmark dataset of gain-of-function and loss-of-function missense variants

三个要点:“benchmark dataset” 不是 “database”;“expert-curated” 不可省略(这是它的核心卖点);“missense” 必须保留(否则会被误读为全类型变异)。

§24.6 与预印本正文的引用边界

需要提醒的是:本条目对"标签如何判定"的描述,主要基于数据卡与公开摘要,预印本正文的详细方法学(尤其是方向判读的具体规则、双人复核机制、仲裁流程)未能取得。因此:

  • 引用"致病来自 ClinVar 2023-07、中性来自 gnomAD v3.1"——依据充分;
  • 引用"由持证临床遗传学家判读"——依据充分;
  • 引用"判读规则的具体细节"——依据不足,请以正文为准。

这条边界必须写清楚,否则本条目就犯了它自己批评的"过度外推"之错。

§25 结语与展望

对 GLOF 的最终判断可以浓缩成一句话:它是一份好问题、中等数据、早期生态的基准。

好问题在于它抓住了 VEP 领域被长期忽略的维度——方向。这个问题的价值不会因为数据集改版而消失。

中等数据在于 2.8% 的 GOF 比例、单中心判读、无强度分级、无上游 ID 字段。这些短板决定了它现在更像"研究原型"而非"行业标准"。

早期生态在于四个月 63 次下载、零点赞、无第三方榜单。它还没有形成引用惯性。

展望三条可预期的演化路径:

  1. 若数据集扩版:补入更多 GOF(尤其是研究充分的离子通道与 RASopathy 基因),比例可能从 2.8% 升到 5-8%,届时三分类会真正可训;
  2. 若预印本发表:方法学细节(AF 阈值、方向判读规则、重复键成因)有望补齐,元数据质量会显著提升;
  3. 若社区建立榜单:GLOF 有机会成为"功能方向"这一子任务的标准评测集,与 ProteinGym 在"定量适应度"上的地位并列。

在那之前,使用者最理性的姿态是:把它当作一面镜子,而不是一把尺子——用它照出模型的盲区,而不是用它给模型打分定论。

最后补充一句给本库读者的说明:本条目的姊妹篇——clinvar(136) 讲"变异-疾病证据"、alphamissense(584) 讲"致病性预测"、proteingym(813) 讲"定量适应度"、clingen(523) 与 cspec(1132) 讲"基因-疾病有效性与判读规则"——共同构成了一条从"证据"到"规则"再到"机制"的完整链条。GLOF 站在这条链的末端,它不能替你完成前面的任何一步,但它能告诉你最后一步该怎么走。

附录 G:核验命令与原始输出留痕

以下命令均在本条目核验时点(2026-10-17)执行,输出为实际结果:

$ curl -sL --max-time 30 https://hf-mirror.com/api/datasets/victormaricato/glof
{"id":"victormaricato/glof","sha":"603256c875d962494ca30153dded1f92972ef928",
 "lastModified":"2026-06-08T20:07:52.000Z","createdAt":"2026-04-13T16:20:50.000Z",
 "usedStorage":1805358,"license":"cc-by-4.0","doi":"10.57967/hf/10836", ...}
$ python3.11 -c "import pandas as pd; df=pd.read_parquet('glof.parquet'); print(df.shape)"
(112399, 7)

$ ... df.LABEL.value_counts()
NEUTRAL    83902
LOF        25368
GOF         3129

$ ... df.VARIANTKEY.duplicated().sum()
6

$ ... df.groupby('GENE_SYMBOL').LABEL.nunique().value_counts()
2    2069
1     648
3      92

读法:基因按"拥有几种标签"分为 1/2/3 三档;3 档的 92 个即三标签齐备的双向基因;2 档的 2,069 个包含 LOF+Neutral、GOF+Neutral 与 LOF+GOF 三种组合(1,907 + 158 + 4)。

附录 H:与库内条目互链的正文索引

按 R012 纪律,互链说明只写正文、不进 frontmatter。下表列出可互链点与理由:

目标条目 rid 互链理由 建议句式
clinvar 136 GLOF 致病变异的上游来源 「GLOF 的全部致病错义变异取自 ClinVar 2023-07 版本」
alphamissense 584 可互评的致病性模型 「AlphaMissense 只判致病、不判方向,无法直接完成 GLOF 的三分类」
proteingym 813 定量适应度对照 「ProteinGym 问弱了多少,GLOF 问朝哪个方向坏」
clingen 523 基因-疾病有效性上游 「GLOF 的基因筛选依赖已确立的基因-疾病关系」
cspec 1132 ACMG 规则层 「CSpec 的 BP1 在 GOF 机制基因中被改写,GLOF 可为其提供数据支撑」
gnomad 35 中性类来源 「中性变异取自 gnomAD v3.1,并以 v4.1 复核」
omim 159 基因-疾病关系 「OMIM 提供遗传方式与表型谱系」
uniprot 37 蛋白坐标与长度 「AA_POSITION 对应 UniProt 规范序列坐标」
interpro 1044 结构域注释 「GOF 热点常聚集于特定结构域界面」

互链 URL 一律占位 https://www.qianfanghub.com/ai-ready-dataset/<slug>/0,由主会话入库后统一回填(R018)。

附录 K:本条目修订记录

日期 事项
2026-10-17 首版。核验 HF 仓库 commit 603256c 与预印本 v1 摘要;实抓 parquet 完成分布与长尾统计

附录 J:与本条目相关的检索词

中文:功能获得、功能缺失、错义变异、变异效应预测、蛋白质语言模型、深度突变扫描、变异判读、致病机制、双向机制基因、精准医学。

英文:GLOF, gain-of-function, loss-of-function, missense, variant effect prediction, protein language model, deep mutational scanning, ACMG, ClinVar, gnomAD, benchmark, Mendelic, Maricato, functional mechanism.

附录 I:读者最常问的五个「反常识」

  1. “数据集只有 1.3 MB,会不会太小?” —— 大小与信息量无关。1.3 MB 里装着 11 万个临床判读结论,每条背后都是一次文献核查。
  2. “为什么没有患者?” —— 因为任务是变异级而非个体级;患者信息在 ClinVar 原始提交里,GLOF 刻意剥离以符合最小必要原则。
  3. “为什么不用 HGVS?” —— HGVS 对转录本版本极度敏感,用坐标键反而更稳。
  4. “为什么 MIT 类宽松许可不用?” —— CC BY 4.0 兼顾学术传播与署名要求,是数据集的常见折中。
  5. “为什么不做成 5 类(含显性负效应)?” —— 显性负效应在功能层面常与 LOF 难以区分,强行细分会引入更多标签噪声。

相关数据集导航

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

  • clinvar — 共享标签:基因组学与多组学 / 变异与注释 / 罕见病
  • hpo — 共享标签:基因组学与多组学 / 变异与注释 / 评测基准 / 罕见病
  • clingen — 共享标签:基因组学与多组学 / 变异与注释 / 罕见病
  • cspec — 共享标签:基因组学与多组学 / 变异与注释 / 评测基准
  • gnomad — 共享标签:基因组学与多组学 / 变异与注释 / 罕见病
  • decipher — 共享标签:基因组学与多组学 / 变异与注释 / 罕见病
  • proteingym — 共享标签:基因组学与多组学 / 变异与注释 / 评测基准
  • interpro — 共享标签:基因组学与多组学 / 变异与注释 / 评测基准
  • cath — 共享标签:基因组学与多组学 / 变异与注释 / 评测基准
  • cosmic — 共享标签:基因组学与多组学 / 变异与注释

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

返回 AI-Ready 数据集