GEOM-DRUGS:被当成标准答案的分子形状库,自己漏掉了低能量形状

药物分子要和蛋白结合,靠的是形状。同一个分子,单键一转,三维形状就变了:这个长链分子既可以伸开成一条直线,也可以折成一个环抱的姿态。每一种形状叫作一个构象,不同构象的能量有高有低,能量越低的越可能在生理环境里出现。所以药物设计的第一步,常常是让模型把分子的低能形状集生成出来。2022 年,GEOM 数据集把这件事变成了一个可以打分的任务,它给 45 万个分子准备好了约 3700 万个构象,全行业拿这套参考集当 ground truth,谁的生成器命中得多,谁就是 SOTA。直到一篇新论文把矛头指向了这套标准答案本身:它自己的能量面上就有低能构象没被采到。作者审它的办法很朴素。把候选构象放回构建参考集时用的同一张 GFN2-xTB 能量面上重新松弛,再和发布出来的参考构象逐一比对。比下来,有一批既稳定收敛、又落在低能窗口里的结构,和参考集里任何一个构象都差着 0.75 埃以上。论文标题说得很直白:参考集不是答案集(The Reference Set Is Not the Answer Set)。

我们凭什么说一个构象生成模型"对了"?

论文要拆的就是这个"对了"到底靠不靠得住。它要审的对象很具体:GEOM-DRUGS 在构建参考集时所用的那张 GFN2-xTB 能量面上,就漏掉了低能构象。审它的办法最小化到只做两件事:论文作者把一批候选构象放回构建参考集时用的同一张 GFN2-xTB 能量面上做几何松弛,再把松弛后的结构拿去和发布出来的参考构象逐一比对。反常之处随即浮现,有一批既收敛稳定、又落在低能窗口内的结构,和参考集里的每一个构象都差着超过 0.75 埃。 GeoMol

先看打分这件事是怎么操作的。给定一个分子的参考构象集,让模型也生成一批构象,然后定义一个距离函数,把模型输出和参考集逐个比对。这个距离叫 RMSD,可以理解成两个三维结构差多远,单位是埃,1 埃是百亿分之一米(0.1 纳米)。比对的标准是:模型生成的某个构象,如果距某个参考构象在 0.75 埃以内,就算命中。于是有了两个指标:coverage(覆盖率)统计模型命中了参考集里多大比例的结构,precision(精确率)统计模型生成的构象里有多大比例落在参考集附近。一个模型分数高不高,完全取决于这套比对协议,而协议里最关键的那个常数,0.75 埃,不是这篇论文定的,而是近年构象生成评估基准沿用的评分半径(GeoMol 原版对 GEOM-DRUGS 用的是 1.25 埃) GeoMol。

0.75 这个数字有多敏感?GeoMol 论文自己画过一张图:横轴是 RMSD 阈值,纵轴是覆盖率,每条曲线是一个生成方法。阈值从 0.5 扫到 2.5 埃,所有曲线都随阈值上升而上升,问题在于,它们在中间段会交叉。也就是说,同一批方法,换一个 δ 打分,排名顺序可以直接颠倒。

GeoMol 论文里覆盖率随 RMSD 阈值变化的曲线

图注:横轴是 RMSD 阈值 δ(埃),纵轴是 Recall Coverage(覆盖率,百分比),多条曲线对应 GeoMol、OMEGA、RDKit/ETKDG 等不同构象生成方法。曲线整体随 δ 增大而上升,在中间段相对排名会交叉,说明评分阈值本身就是排名敏感参数。GeoMol

把这张图读透,就抓住了全文的地基:模型"对了"不是一个物理事实,而是"像不像参考集"的协议产物。打分靠的是记分牌,记分牌上写着参考集里每一道题的标准答案。那么问题就被磨利了:这块记分牌本身完整吗?如果标准答案自己漏了题,那所有在这个记分牌上打出来的分数,还能信吗?

这套"标准答案"是怎么造出来的?

要回答参考集完整不完整,得先知道它是怎么来的。GEOM 数据集的构造流程写在原始论文里:用 CREST 程序,在 GFN2-xTB 这条能量面上,对每个分子做物理采样,把采到的低能构象连同统计权重一起存进参考集 GEOM。这句话里每个部件都要拆开看,因为漏洞就藏在它们各自的局限里。还要注意采样对象本身的难度:GEOM 的 drug-like 子集平均每个分子 44.4 个原子、6.5 个可旋转键,可旋转键越多,一个分子能摆出的形状组合就越多,采样要覆盖的空间就越庞大,漏掉东西的概率也越高。

先说能量面。分子的每一种形状都对应一个能量,把所有形状和它们各自的能量画在一起,就是一张势能面,想象成一张地形图,低洼处是稳定构象,山脊是旋转分子时需要翻越的能量壁垒。原则上这张图应该由精确的量子化学计算来画,但精确的 DFT 方法对 45 万个分子、每个分子几百个构象来说太慢了。于是用半经验方法,也就是用精度换速度的近似量子化学。GFN2-xTB 是其中的一种,它针对上千原子尺度的分子做了参数化,速度比 DFT 快几个数量级,代价是能量只是近似值 GFN2-xTB。参考集的能量排序,从一开始就被绑定在这张近似图上。

再说采样。CREST 的默认工作流叫 iMTD-GC,大致是并行跑多组元动力学模拟,用一种不断"往爬过的谷里填土"的偏置势逼系统翻过壁垒去探索新谷地;然后在不同温度下跑常规分子动力学补旋转异构体;再用遗传交叉把两个现有结构的内部坐标相加,生成结构上全新的候选 CREST。每条候选路径都经过多级几何优化,最后按能量和结构相似度排序去重。

CREST 默认采样流程 iMTD-GC 工作流

图注:iMTD-GC 工作流流程图。输入结构经过自动设置后进入并行的元动力学模拟(MTD),再做不同温度的常规 MD 补旋转异构体,随后遗传交叉(GC)生成新候选;右侧分支标注了 RMSD 集体变量、计算器,以及 ANCOPT 几何优化与 CREGEN 排序去重,最终产出构象集合。CREST

这套流程的天花板在哪里?CREST 论文自己写得很坦白:采样只能与所用能量面一样好。把这句话翻译成画面:参考集就像给一座山画等高线地图,测量仪器的精度决定了地图的误差上限,测绘队走了多少条路线决定了地图覆盖了多少区域。无论测绘队多勤快,地图都不可能比仪器更准,也画不出任何一条没走过的山谷。GEOM 构造时还要赶工期,论文里记录过有些分子因为 CREST 在 40 个核上跑几天都不收敛,直接被剔除出数据集。一张精度有限的近似图、一份有预算的测绘计划、一个出版后就不再更新的版本,这就是参考集的全部出身。

所以"参考集等于标准答案"这个前提,物理上就不成立。它不是 DFT 真值,而是"一张近似能量面加一个采样预算"的产物,必然有遗漏。剩下的问题是:到底漏了多少?漏在哪?能不能用可复现的方法把它量出来?这正是这篇论文要做的事。

怎么判定"漏了":把"参考集"和"答案集"分开

论文的核心论点是:发布出来的参考集,不等于该分子全部显著低能的构象。前者是采样产物,后者才是真正的答案集。判断参考集漏没漏,不能靠感觉,得先立一个可操作的定义,论文称之为 unreferenced endpoint,即"未被参考的结构"。

一个候选构象要被算作"未被参考",需要先通过一整套与参考集同口径的筛选:先用 GFN2-xTB 做几何松弛,松弛前后结构位移不超过 0.5 埃,说明它是稳定收敛的;再要求松弛后的能量落在该分子最低点附近 6 kcal/mol 的能量窗内,这是"低能"的操作化定义;然后过三道化学身份检查:镜像检查排除把分子照了镜子却没发现的构象,立体化学检查确认每个手性中心的排布没被搞错,松弛后连接性检查保证分子没有被优化器劈成两半。三重筛选全部通过、却仍然距每一个参考构象都超过 0.75 埃,才算真正"漏掉"了 锚论文。

三个常数都不是论文自己挑的:0.75 埃是 GeoMol 基准的评分半径,6 kcal/mol 是 CREST 当年构造参考集时的保留判据,0.5 埃比评分半径更严。论文是在用基准自己的尺子量基准自己。这道筛选不是走过场,原始数据里混着的候选里有一大半会在这里被刷掉,它们大多是立体化学误判,不是真缺口。

定义立好之后,论文设计了四类互相独立、口径各异的实验来交叉验证同一个问题。下表是四类实验的地图:

实验它问什么怎么验证样本量
五架构共同队列公开生成器提出的构象里,有多大比例落入半径外?统一筛选后统计 unreferenced endpoint 占比384 个分子
DFT 复算审计"漏"是采样漏掉的,还是优化器造出的伪低能?用 ωB97X-D3BJ 密度泛函重新优化复核113 对结构
无阈值互补检测不依赖半径和能量窗,是否存在低于整套发布能量集的结构?只比数值能量差与化学完整性100 个分子
独立 CREST 重采样用造参考集的同一工具重新跑,能找到更深的谷吗?默认设置与 4 倍预算各跑一轮69 个分子

论文没有笼统地喊"参考集不完整",而是先给出能重复执行的判定协议,再让四种互相不依赖的探测器去量同一个洞。四组回答,就是下一章的数字。

漏了多少、漏在哪里:四条证据链与一个机制

第一路:五架构共同队列,384 个分子,被评估的是五个公开的机器学习构象生成器(GeoMol、MCF、ET-Flow、GeoDiff,以及 Torsional Diffusion,后者是第一个在 GEOM-DRUGS 上稳定超过商业软件 OMEGA 的 ML 方法 Torsional Diffusion)。把所有生成器提交的构象过一遍筛选,落在 0.75 埃半径外的低能结构比例,从 GeoMol 的 2.26%(置信区间 [1.64, 2.97])到 ET-Flow 的 7.01%([5.82, 8.29])不等,摘要口径即 2.3% 到 7.0% 锚论文。2.3% 到 7.0% 听着不大,但要注意两个细节:一是若只看松弛稳定下来的构象,比例涨到 8.55% 到 16.83%;二是如果跳过化学身份筛选直接统计,数字会虚高到 4.6% 到 19.7%,其中约一半是立体化学误判。换句话说,筛选越严格,漏掉的结构越少,但漏掉这件事本身依然稳定存在。

第二路:DFT 复算审计。半径外结构可能是真的低能构象,也可能是 GFN2-xTB 优化器造出来的假低点,即由于近似能量面本身的误差,某个结构被"优化"进了一个其实不该存在的坑。论文挑了 113 对"未被参考/参考"结构对,用 ωB97X-D3BJ 这个精确得多的密度泛函重新优化。结果 107 对复算之后依旧隔着超过 0.75 埃。这是存在性证明:至少这些被选中的例子,是实实在在的遗漏,不是优化噪声。论文强调这批样本是有偏向地挑出来的,它证明了"健壮的漏例确实存在",不估计漏的比例。

第三路:无阈值互补检测。这一路最绕开人为设定:不用半径,不用能量窗,只问一件事,这一百个分子里,有没有任何一个生成器找到了化学完整、且能量低于整套发布能量集最低点的结构?答案是分子级别的 15.0%([8.0, 22.0])。这个实验的深意在于,参考集构造时用的 CREST 流程对重启次数没有上限,按设计这些更低的谷本就该被采到。

第四路:独立 CREST 重采样。作者直接用当年构造参考集的同一个程序 CREST 2.9,在 69 个随机分子上重跑,一次用默认参数,一次把元动力学长度放大到 4 倍。结果是 69 个里有 11 个分子找到了比整个发布集合还低至少 0.5 kcal/mol 的结构。关键在于对照组:另外 65 个分子用默认参数就能和发布最低点对上,误差在 0.5 kcal/mol 以内,说明重跑的工具没有系统性偏差,那 11 个分子是真的值得找到却没被找到。

四条证据链的机制,在分子 L1 上看得最清楚。L1 是个酰腙分子,参考集里 135 个构象全部挤在酰胺扭转角的一侧,而 CREST 重新采样得到的 661 个构象中有 612 个落在另一侧,其中 478 个能量低于参考集的最低点。在 GFN2-xTB 面上,这两个旋转异构体谷之间隔着 4.85 kcal/mol;用 ωB97X-D3BJ 复算后,间隔缩到 1.91 kcal/mol,但方向不变,参考集这边依然不是低的那边。

分子 L1:参考集只占一个能量谷,CREST 找到另一侧更低的谷

图注:分子 L1 的 GFN2-xTB 能量随酰胺扭转角变化,纵轴以参考集最低点为基准归零。深蓝色点(已发布参考集)只占据一个谷,深橙色点(CREST 重新采样)占据两个谷,且在另一侧有更低的极小值。一个扭转角就能造成一个完整能量谷从参考集消失。锚论文

被漏掉的结构长什么样?统计显示,它们距最近参考构象的中位 RMSD 是 1.005 埃,47.2% 只差一两个扭转角、环结构基本没变。也就是说,遗漏大多是参考集已含结构的局部扭转重排,不是天外来客。但别小看这些"小改动":按热平衡概率计算,有 27.3% 的分子把超过 1% 的结构出现权重分给了被漏构象,7.3% 的分子这个权重超过 50%。按生成器逐个统计被漏掉的权重均值,从 GeoMol 的 1.68%、GeoDiff 的 3.93%、Torsional Diffusion 的 4.14%、MCF 的 4.17%,到 ET-Flow 的 5.05% 一路递增,排序和构象层面的漏率完全一致。这已经不只是"存在几个漏例"的问题了。

重量级的证据是最后这张图。把 L1 的所有构象投影到 UMAP 降维平面上:左边,三个生成器被判为"错误"的构象,聚集成一大片参考集完全没覆盖的孤立簇;右边,CREST 的 661 个构象恰好落进同一片簇,覆盖了基准惩罚为"错误"的全部结构。

基准惩罚的"错误"恰好是参考集漏掉的簇,CREST 能重新找到

图注:分子 L1 的双面板 UMAP 散点图。左图,已发布参考集(黑)与三个 ML 生成器被判错的构象(蓝、粉、棕)形成彼此孤立的簇;右图,CREST 的 661 个构象(深绿)落进同样的孤立簇,与基准记为错误的结构(红)重叠。锚论文

三个生成器被扣分的地方,恰好就是参考集漏掉的谷;而找回这个谷的工具,正是当初造参考集的同一个 CREST。四条互不依赖的探测器在同一点上给出了同一个读数。那么最后一个问题:把这些漏掉的结构补回参考集,评估结论真的会变吗?

把漏掉的结构补回去,评估结论变了

论文做了一个 leave-one-out 实验:96 个分子上,把四个生成器提出过的构象补进参考集,逐个重建评分用的 key,再看所有生成器的分数怎么变。结果一致得没有悬念:每个生成器的 absolute coverage-precision 都上升,Torsional Diffusion 涨 2.99 个百分点([1.90, 4.26]),ET-Flow 涨 2.91([1.73, 4.27]),MCF 涨 2.75([1.72, 4.01]),GeoDiff 涨 1.85([0.97, 2.88]),GeoMol 涨 1.48([0.68, 2.46]),所有置信区间都不含零 锚论文。注意 precision 上升的同时 recall 反而下降,这不是矛盾,而是因为任务集合变大了,生成器要"找全"的东西变多了。

这个结果说明,现有的分数被系统性压低了:参考集越完整,所有生成器看起来越好。2 到 3 个百分点听起来不算巨大,但它是五个架构无一例外的方向性偏移,而且置信区间全部不含零,意味着它不是抽样噪声。在覆盖率这类"一个百分点都要比半天"的 benchmark 上,这是能实实在在改变比拼格局的差距。

最扎眼的反常出现在和实验数据的对比里。作者在 PDB 里找到了两个也出现在 GEOM-DRUGS 中的配体,其中一个叫 3VC,它的晶体结构被实验测定过。参考集里 22 个构象中最近的一个,距实验结构 0.872 埃,这已经超出了 0.75 埃的评分半径;而 ET-Flow 生成的某个构象距实验结构只有 0.223 埃,比参考集里的任何构象都贴近实验。但按基准的规则,它距离最近参考构象 0.847 埃,超出半径,被判为 precision 失败。反常要直说:被基准罚错的构象,反而比整套标准答案更接近实验测出来的真实形状。另一个确认实例 8DE 给出了同样的读数:参考集最近构象距晶体 0.849 埃,ET-Flow 的构象 0.463 埃,一样在 0.75 埃半径内却被罚。当然这只是探索性的案例,只有两个确认实例,不能推成比例,但它们把"参考集不完备"从纸面推演变成了看得见摸得着的后果。

被罚错的 ET-Flow 构象反而比参考集更接近实验晶体结构

图注:配体 3VC(PDB 4WWN)双面板叠合。左图,参考集 22 个构象(黑)投影在实验晶体结构(灰)的主平面上,最近的一个距实验结构 0.872 埃;右图,ET-Flow 生成的构象(蓝)距实验结构仅 0.223 埃,却因距最近参考构象 0.847 埃被判 precision 失败。锚论文

更重要的是,这篇论文不是孤例。几乎同期,Nikitin 等人从另一个角度独立解剖了同一个基准:他们发现评估协议里 valency 的计算有 bug(芳香键对化合价的 1.5 贡献被四舍五入成了 1,污染了 look-up 表),还发现用 MMFF 力场做能量评估与参考集所用的 GFN2-xTB 面不一致,同一批结构在两个力场下能量差能到 16 kcal/mol,而在同一能量面内重优化差值几乎为零 GEOM-Drugs Revisited。一篇说参考集本身漏了结构,一篇说打分协议本身有 bug,两篇合起来,2025 到 2026 这波对 GEOM-DRUGS 的纠错就是一个行业级的共识,而不是某个实验室的牢骚。

这篇论文证明了什么、还没有证明什么

读基准纠错的论文,最要紧的能力是分清"证明了"和"没证明"。这篇论文把第一件事钉死了:GEOM-DRUGS 参考集在它自己被采样所用的那张 GFN2-xTB 能量面上就是不完备的,差距可测量、可复现,而且经过更精确的 DFT 复算后方向不变。四条独立证据在这个结论上收敛,没有一条被推翻。

第二件事,论文没有证明,也明确承认没有证明。DFT 审计的那批结构是瞄准了挑出来的样本,它是存在性证明,告诉我们"健壮的漏例确实有",而不是说能据此估计全量构象中被 DFT 判为漏检的比例。审计没有计算二阶导数(Hessian)来确认极值点,所以那些结构只能叫优化端点,不能确认是真正的最小值。GFN2-xTB 与 DFT 之间只验证了 36 个构象上的分子内排序一致性(Spearman ρ = 0.8762),这不能当作 GFN2-xTB 绝对能量的背书,甚至用神经网络势做交叉核对时,与 xTB 的一致性系数只有 κ = 0.656,遇到张力构象还要更差。采样预算只试了 4 倍这一个倍数,单分子重采样成本约 26 核时,样本量被算力卡着脖子。

更远的问题,论文把它们列成了开放项:这种遗漏在全量 GEOM-DRUGS 上到底有多普遍,没有答案;把参考集补全之后,会不会真的重排已经发表的 SOTA 排名,作者说这是开放问题,不做结论;什么样的分子容易漏、什么样的不太会漏,作者坦承也还没找出预测规律;至于参考集怎么补,作者把对参考集做一次标准化、独立的重新采样定为根本修法,而不只是在原参考集上打补丁,但并未明确承诺是否重建整份 GEOM-DRUGS。可复现性也还差最后一公里:论文承诺发布增强参考集、basin-count CSV、缓存数组、CREST 集合和复现脚本五样东西,但 v1 版本里一项外部链接都没挂出来。论文目前是一篇 NeurIPS SIMBIOCHEM workshop 的投稿,同行评审记录还没有。

把这些边界合起来,得到的是一个清醒的判断。参考集可以被采得更全,预算够、工具也在,CREST 重跑就能找回一部分漏谷,这是工程上可以修的。但真正需要重新设计的,是"拿一套物理采样产物当标准答案来打分"这个评估协议本身。分数从来不是模型对物理的逼近,而是模型对记分牌的逼近;记分牌画得再密,它也只是一张地图。下次看到构象生成 benchmark 榜首的覆盖率时,值得多想一句:这个数字,是在哪张地图上量出来的?

想深入可以读原文:The Reference Set Is Not the Answer Set: GEOM-DRUGS Is Missing Low-Energy Conformers on Its Own Energy Surface — arXiv:2610.12523

参考文献

  • 锚论文:The Reference Set Is Not the Answer Set: GEOM-DRUGS Is Missing Low-Energy Conformers on Its Own Energy Surface — arXiv:2610.12523
  • GEOM-Drugs Revisited: Toward More Chemically Accurate Benchmarks for 3D Molecule Generation(Nikitin 等)— arXiv:2505.00169
  • GEOM: Energy-annotated molecular conformations for property prediction and molecular generation(Axelrod & Gómez-Bombarelli)— arXiv:2006.05531
  • CREST — A program for the exploration of low-energy molecular chemical space(Pracht 等,J. Chem. Phys. 160, 114110, 2024)— DOI: 10.1063/5.0197592
  • GFN2-xTB — An Accurate and Broadly Parametrized Self-Consistent Tight-Binding Quantum Chemistry Method(Bannwarth 等,JCTC 2019)— DOI: 10.1021/acs.jctc.8b01176
  • Torsional Diffusion for Molecular Conformer Generation(Jing 等,NeurIPS 2022)— arXiv:2206.01729
  • GeoMol: Torsional Geometric Generation of Molecular 3D Conformer Ensembles(Ganea 等,NeurIPS 2021)— arXiv:2106.07802
GEOM-DRUGS:被当成标准答案的分子形状库,自己漏掉了低能量形状