DUD-E — 分子对接诱饵基准 AI-Ready Wikipedia | 千方病案医数集

102 靶标 · 22,886 活性物 · 约 110 万性质匹配诱饵的虚拟筛选基准

来源 UCSF Irwin & Shoichet 实验室(加州大学旧金山分校药化系) url: http://dude.docking.org/发布时间: 2026-09-08最后更新: 2026-09-08 阅读 10

信息速览

数据集名称DUD-E — 分子对接诱饵基准 AI-Ready Wikipedia | 千方病案医数集
数据类型102 个蛋白靶标,22,886 个活性配体(ChEMBL),约 110 万性质匹配诱饵(ZINC,1:50),SMILES/mol2/SDF 三格式 + receptor.pdb
规模不适用(纯小分子-靶标计算基准,无人类受试者数据)
接入方式UCSF Irwin & Shoichet 实验室(加州大学旧金山分校药化系) url: http://dude.docking.org/
AI 就绪度

数据集封面

DUD-E — 分子对接与虚拟筛选的黄金诱饵基准 AI-Ready Wikipedia


INFOBOX

数据集名称 DUD-E: A Database of Useful (Docking) Decoys — Enhanced
英文全称 Directory of Useful Decoys, Enhanced
别名/简称 DUD-E、DUDE、DUD-E benchmark
疾病分类 全疾病谱药物靶标(代表性 ICD-11:2C60 乳腺癌 / 1C62 HIV 感染 / BA00 原发性高血压 / CA23 哮喘 / 8A20 阿尔茨海默病 / 5A11 2 型糖尿病,详见 §2.1)
SNOMED CT 254837009 Malignant tumor of breast / 86406008 HIV infection / 38341003 Hypertensive disorder / 195967001 Asthma / 26929004 Alzheimer disease / 44054006 Diabetes mellitus type 2(详见 §2.1b)
数据模态 小分子 2D 结构(异构 SMILES)、小分子 3D 结构(mol2/SDF)、蛋白受体结构(PDB)、生物活性注释(经 ChEMBL 关联 Ki/IC50)
AI 任务类型 虚拟筛选富集基准、分子对接打分函数评估、活性/诱饵二元排序、深度学习评分函数训练与评估、诱饵生成方法研究
样本总数 102 个靶标 / 22,886 个聚类活性配体 / 约 110 万个性质匹配诱饵(1:50)
数据大小 约 1.14M 小分子 × 3 种格式(SMILES/mol2/SDF)+ 102 个受体结构;全量 all.tar.gz 与分子集/逐靶标 tar.gz 打包下载
数据格式 .ism(异构 SMILES)、.mol2.gz(SYBYL mol2)、.sdf.gz(SDF)、.pdb(受体)、.mol2(共结晶配体)
许可证 免费用于研究(官方声明 “DUD-E free to use”;版权 The Irwin Lab and the UC Regents)
访问级别 开放(无需注册,官网直接下载)
DUO 标签 GRU(通用研究使用;非人类受试者数据,无伦理限制)
语言 英文
首发日期 2012-05-18(官方修订记录 v1 初始发布);论文 2012-07-26 见刊
最后更新 2012-05-18(官方唯一修订版;官网页面持续维护并公告后继版本 DUD-Z)
发布机构 加州大学旧金山分校(UCSF)Irwin & Shoichet 实验室,药物化学系
官方主页 http://dude.docking.org/
下载地址 http://dude.docking.org/subsets(分子集)/ http://dude.docking.org/targets(逐靶标)
DOI 10.1021/jm300687e
引用次数 2,000+(Semantic Scholar,截至 2026-09;ResearchGate 记录 2,373)
AI 就绪度评分 ⭐⭐⭐(3/5)— 作为对接富集基准开箱即用、三格式统一且含受体结构;扣分项:无官方 train/test 划分、用于 ML 训练需自建去偏 pipeline、受体与配体质子化需自行预处理
页面状态 published

§0 E-E-A-T 审核声明

  • 医学审核:[千方病案医学编辑部] 交叉审核:§2 医学背景(靶标-适应症 ICD-11/SNOMED CT 双映射、治疗领域流行病学、药物发现临床任务定位)。
  • 数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
  • 审核日期:2026-09-05

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

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

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。DUD-E 为免费开放获取的计算化学基准数据,官方仅要求引用原始论文(Mysinger et al., J. Med. Chem. 2012)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? DUD-E(Directory of Useful Decoys: Enhanced,增强版有用诱饵目录)是加州大学旧金山分校 Shoichet 实验室 2012 年发布的分子对接基准数据库。它为 102 个药物靶标各准备了约 224 个"已知活性分子",再为每个活性分子生成 50 个"长得像但应该是非活性"的诱饵分子——诱饵与活性物在分子量、脂溶性、氢键供受体、净电荷等一维物理性质上几乎一致,但二维拓扑结构刻意差异很大。全库合计 22,886 个活性物与约 110 万个诱饵(官网)。

为什么重要? 虚拟筛选的打分函数能否把少数真药从几十万化合物"捞"出来,需要一个公平的考卷——如果诱饵与活性物性质差异明显,最笨的方法都能得高分。DUD-E 把这条"作弊通道"堵上,成为分子对接与虚拟筛选领域被引用最多的基准之一(原始论文 Semantic Scholar 记录约 2,000 次引用,截至 2026-09),GNINA、AutoDock Vina、Glide 等几乎所有主流打分函数都在它上面考过试。

我能用它做什么? 评估你的对接程序或深度学习评分函数的富集能力(AUC/LogAUC/EF1%);为自定义活性分子批量生成同款诱饵(官方在线工具 decoys.docking.org);研究数据集偏倚本身——DUD-E 也因此成为"AI 是否真的学会了分子识别"这一方法论争论的标准案例。

§1.1 技术摘要

DUD-E 的构建分四步:(1)从 ChEMBL 汇集 102 个靶标的文献活性配体(共 22,886 个),按 Bemis–Murcko 原子骨架聚类以保证化学型(chemotype)多样性;(2)对每个配体的各质子化状态,在 ZINC 可购买化合物库中按分子量、cLogP、氢键供体/受体数、可旋转键与净电荷(净电荷为相对初代 DUD 新增维度)进行一维性质匹配,且匹配窗口按每个配体周围的局部化学空间自适应调整为 7 档宽度;(3)用 ECFP4 指纹剔除与任何配体最相似的 75% 候选诱饵,强制二维拓扑差异,使关键药效"弹头"(warhead)残留率降至 0.2%–5.8%;(4)为每个靶标配发经处理的受体结构 receptor.pdb 与共结晶配体 crystal_ligand.mol2(Mysinger et al. 2012)。作者用 DOCK 3.6 对全部 102 个靶标对接验证了基准难度,并在线诱饵生成器中将该协议完全自动化。

§1.2 战略价值

维度一:虚拟筛选评估的方法学基础设施。 在 DUD-E 之前,对接论文各自使用随手挑选的化合物背景,富集指标不可比;初代 DUD(2006,40 靶标)建立范式但性质匹配不足。DUD-E 将靶标扩至 102 个、首次系统纳入 GPCR 与离子通道,且把"性质匹配 + 拓扑去相似 + 骨架聚类"三重控制做成可复用的自动化协议,使其成为 2012 年后几乎所有对接/打分函数论文的默认考卷,衍生出 DEKOIS 2.0、LIT-PCBA、DUD-Z 等一整个基准家族。

维度二:AI 方法论的"试金石"与"照妖镜"。 2019 年后,多篇高影响力论文以 DUD-E 为解剖对象揭示深度学习评分函数的性能虚高:仅看配体、完全屏蔽蛋白信息的 CNN 在 DUD-E 上仍达 AUC 0.98,换到无偏的 actives-as-decoys 数据集即跌至随机水平(Chen et al. 2019)。这使 DUD-E 成为机器学习数据偏倚研究的经典教学案例——它不仅用于"刷分",更用于训练研究者识别基准本身的陷阱,其价值在 AI 时代反而被放大。

§1.3 同类数据集横向对比

数据集 年份 靶标数 活性物规模 负例构造 与 DUD-E 的差异化定位
DUD-E 2012 102 22,886(聚类后,均值 224/靶标) 1:50 性质匹配 + ECFP4 拓扑去相似诱饵(ZINC) 规模最大、靶标最全、事实行业标准;但 analog bias 已被系统证实
初代 DUD 2006 40 每靶标 11–475(均值 98) 1:33 性质匹配(缺净电荷;Tc 阈值过宽) DUD-E 的前身,DUD38 子集即在 DUD-E 管线下重建的 38 个原靶标
DEKOIS 2.0 2013–2014 81 约 2,975 1:36–1:100 靶标特异"药理学清白"诱饵 规模小,聚焦诱饵保真度与蛋白-蛋白界面靶标
MUV 2010 17 约 4,500 活性/非活性对 实验验证非活性物(非构造诱饵) 负例真实但规模小、多富集指标下区分度低
LIT-PCBA 2020 15 约 15,000 活性 + 2.4M 非活性 高通量实验验证的活性与非活性 唯一保留真实类别失衡的基准,难度显著高于 DUD-E,已成为深度学习评分函数的新考卷
DUDE-Z 2021 41(首期) DUD-E 子集的优化重建 修正质子化/电荷匹配的 3D 预构建诱饵 官方团队对 DUD-E 电荷不平衡病灶的修正版(dudez.docking.org

§1.4 版本时间轴

时间 版本/事件 说明
2006-11 初代 DUD Huang, Shoichet, Irwin 发表(J. Med. Chem. 49, 6789–6801),40 靶标范式确立
2012-05-18 DUD-E v1(官方唯一修订版) 官方修订记录标注 “Initial Release, for review”(revisions 页
2012-07-26 原始论文见刊 J. Med. Chem. 55(14), 6582–6594,DOI 10.1021/jm300687e
2014 DEKOIS 2.0 受 DUD-E 启发/对标的第一批替代基准之一
2021-01 DUDE-Z 论文 Property-Unmatched Decoys in Docking Benchmarks(J. Chem. Inf. Model. 61, 699–714),修正电荷/质子化偏差,上线 dudez.docking.org
2024 官网持续维护 官网页脚版权至 2024,并置顶公告新版本 DUD-Z(dudez.docking.org

§1.5 典型应用场景

  1. 打分函数横向基准:新对接程序或打分函数在 102 靶标上做回顾性富集(LogAUC/EF1%),与 Vina/Glide/DOCK 3.6 等公开结果对比——这是 DUD-E 的设计初衷。
  2. 深度学习评分函数训练与评估:GNINA、Pafnucy、OnionNet 等模型的训练/验证语料或外测集(必须配合去偏划分,见 §6.5 坑点 1 与坑点 3)。
  3. 自定义诱饵生成:通过官方在线工具为自己的活性分子列表批量生成 DUD-E 风格匹配诱饵,构建新靶标的私有基准。
  4. 数据集偏倚方法论研究:analog bias、decoy bias、1D 描述符泄漏等经典偏倚的复现与教学(Chen 2019、Sieg 2019 均以 DUD-E 为解剖对象)。
  5. 化学信息学教学:性质匹配、指纹去相似、骨架聚类、富集指标计算(EF1%/BEDROC/LogAUC)的全流程教学素材。

§2 医学背景

§2.1 靶标-适应症 ICD-11 映射表

DUD-E 覆盖全疾病谱的药物靶标。下表按"靶标家族 → 代表性治疗领域"映射(DUD-E 本身不含疾病标签,适应症经靶标的药理学用途关联):

代表靶标(DUD-E 短码) 治疗领域/适应症 ICD-11 编码 术语
ABL1、AKT1/AKT2、MK01/MK10(激酶家族,26 个) 实体瘤与白血病(示例:乳腺癌) 2C60 乳腺癌 Malignant neoplasm of breast
HIVPR、HIVRT、HIVIN HIV 感染/艾滋病 1C62 HIV disease
ACE、ADRB1/ADRB2(心血管 GPCR/酶) 原发性高血压 BA00 Essential hypertension
ADRB2(β2 肾上腺素受体) 哮喘 CA23 Asthma
ACES(乙酰胆碱酯酶) 阿尔茨海默病(对症治疗) 8A20 Alzheimer disease
AKT2(胰岛素信号关键节点) 2 型糖尿病(胰岛素抵抗机制研究) 5A11 Type 2 diabetes mellitus
其他酶(36 个)、蛋白酶(15 个)、核受体(11 个)、离子通道(2 个)、CYP450(2 个) 跨系统(代谢、免疫、神经、感染等) 多编码 见各靶标官方页与 ChEMBL 注释

§2.1b SNOMED CT 映射表

适应症标签 ICD-11 SNOMED CT 码 SNOMED 术语
乳腺癌 2C60 254837009 Malignant tumor of breast
HIV 感染 1C62 86406008 Disease caused by Human immunodeficiency virus
原发性高血压 BA00 38341003 Essential hypertension
哮喘 CA23 195967001 Asthma
阿尔茨海默病 8A20 26929004 Alzheimer’s disease
2 型糖尿病 5A11 44054006 Diabetes mellitus type 2

§2.2 疾病与靶标家族简介

DUD-E 的 102 个靶标横跨肿瘤、心血管、代谢、神经、感染五大治疗领域,各家族与其临床治疗场景的对应关系如下:

靶标家族 靶标数 主要治疗领域 代表靶标(短码) 领域背景
蛋白激酶 26 肿瘤靶向治疗 ABL1、AKT1/AKT2、MK01/MK10(MAPK)、SRC 酪氨酸/丝氨酸激酶抑制剂是现代肿瘤学的支柱药物类别
其他酶 36 神经、代谢、免疫 ACES、ADA、ALDR、HAO1(MAO 类)、PUR2 酶抑制剂覆盖从阿尔茨海默病到痛风的广谱适应症
蛋白酶 15 抗病毒、心血管、免疫 HIVPR、RENI(肾素)、THB(凝血酶)、FA10(因子 Xa) HIV 蛋白酶抑制剂曾定义抗逆转录病毒疗法时代
核受体 11 内分泌肿瘤、代谢、炎症 ESR1(雌激素受体)、PPAR 类、糖皮质激素受体 配体激活型转录因子,调节基因表达程序
GPCR 5 心血管、呼吸、中枢 AA2AR、ADRB1、ADRB2、CXCR4 全人类批准药物约三分之一作用于 GPCR
离子通道 2 中枢、疼痛 钾/钙通道代表 快信号系统,成药性高但选择性挑战大
细胞色素 P450 2 药物代谢/相互作用 CYP 家族成员 药物相互作用与代谢稳定性评估的标准体系
杂项 5 跨领域 结构生物学代表性靶标 补齐家族覆盖

(家族计数与代表靶标取自官方靶标总表;类别命名遵循官方 subsets 页。)

流行病学背景(WHO/GLOBOCAN/UNAIDS 公开口径):癌症每年全球新发约 2,000 万例,是全球主要死因之一;HIV 感染者全球约 3,900 万(UNAIDS 2022 估计);高血压影响全球约 13 亿成人,是心血管死亡的首要可控危险因素;哮喘影响全球逾 2.6 亿人。这些领域的先导物发现高度依赖虚拟筛选——这正是 DUD-E 的临床上游价值所在。

§2.2b 代表靶标明细表

官方靶标总表逐靶标公开:短码、来源 PDB 编号、受体口袋制备方式(By Hand=人工 / Auto=自动)与活性物规模。下表摘录 12 个有代表性且经官方页/官方演示材料核实的靶标:

短码 PDB 靶标名称 家族 口袋制备 活性物(raw → clustered)
AA2AR 3eml 腺苷 A2a 受体 GPCR By Hand 3,057 → 482
ABL1 2hzl 酪氨酸蛋白激酶 ABL 激酶 Auto 409 → 182
ACE 3bkl 血管紧张素转换酶 其他酶 Auto 749 → 282
ACES 1e66 乙酰胆碱酯酶 其他酶 Auto 1,581 → 453
ADA 2e1w 腺苷脱氨酶 其他酶 Auto 98 → 93
ADRB1 2vt4 β1 肾上腺素受体 GPCR By Hand 648 → 247
ADRB2 3ny8 β2 肾上腺素受体 GPCR Auto 602 → 231
AKT1 3cow 丝/苏氨酸蛋白激酶 AKT 激酶 By Hand 585 → 293
AKT2 3d0e 丝/苏氨酸蛋白激酶 AKT2 激酶 By Hand 234 → 117
ALDR 2hv5 醛糖还原酶 其他酶 Auto 604 → 159
AMPC 1t2s β-内酰胺酶 其他酶 By Hand 484 → 48
HIVPR —(官方页标注) HIV 蛋白酶 蛋白酶 Auto 见官方靶标页

(AA2AR 的原始 3,057 个活性物经骨架聚类压缩为 482 个,正是"聚类活性配体"设计的直观体现;AMPC 仅 48 个聚类活性物,展示了小样本靶标的形态。)

§2.3 临床任务定义:虚拟筛选在药物发现中的位置

DUD-E 对应的临床任务不是诊断或预后,而是药物发现流水线的最上游——苗头化合物(hit)发现

任务阶段 定义 DUD-E 扮演的角色
筛查(虚拟筛选) 从数十万至数十亿化合物中用计算方法排序出可能结合靶标的候选分子 提供标准化"考卷":活性物=正例,诱饵=负例,考察排序富集能力
命中验证 实验测定计算命中的实际结合/抑制活性 诱饵取自可购买化合物库,理论上支持后续实验验证
富集量化 量化"前 X% 排名中捞到的活性物是随机的几倍" 官方靶标页直接给出 DOCK 3.6 的 AUC/LogAUC/EF 参考值

§2.4 靶标覆盖谱(替代患者人群表)

本数据集无人类受试者,以"靶标覆盖谱"表替代患者人群表:

维度 内容
配体来源 ChEMBL(文献挖掘的公开生物活性数据库,2012 年快照,含文献引用与 Ki/IC50 亲和力)
诱饵来源 ZINC 可购买化合物库(2012 年快照,发布时可实际购买)
受体结构来源 全球公开 PDB 晶体结构,经 Shoichet 实验室管线处理(如 AA2AR ← PDB 3eml)
每靶标活性物规模 100–600 个(均值 224),按 Bemis–Murcko 骨架聚类去冗余
诱饵比例 每活性物 50 个(1:50),按质子化状态逐一生成
靶标家族分布 激酶 26 / 其他酶 36 / 蛋白酶 15 / 核受体 11 / GPCR 5 / 离子通道 2 / CYP450 2 / 杂项 5
地理属性 全球(化合物来源为国际商业库,无地域限制)

§2.5 临床价值

虚拟筛选将湿实验验证的化合物数量压缩三到四个数量级,直接降低早期发现的成本与周期;DUD-E 提供的公平评估使不同实验室的筛选方法可横向比较,加速了打分函数的迭代。官方论文本身即以 DUD-E 校准 DOCK 3.6 的配体去溶剂化/静电平衡,展示了"基准 → 方法改进 → 前瞻筛选"的闭环。对临床下游而言,更准的富集意味着更高的苗头化合物命中率与更少的无效湿实验,间接缩短靶标到候选药物的时间。

§2.6 金标准对比表

维度 内容
划分方式 无官方 train/test 划分;社区惯例是逐靶标全量做回顾性富集(打分函数评估),或随机/骨架划分用于 ML 训练(见 §5)
标注方式 活性物=文献验证结合(ChEMBL 亲和力注释,自动汇集+人工策展);诱饵=构造性负例(性质匹配+拓扑去相似的"假设非结合物",未经实验验证)
标注者 ChEMBL 策展团队(活性注释)+ Shoichet 实验室自动化管线(诱饵生成与受体制备)
标注性质 回顾性计算基准的"代理金标准"——正例标签可靠,负例标签为概率性推断(详见 §6.5 坑点 4)

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本/子集 大小(口径) 理由
快速上手/教学演示 单靶标包(如 aa2ar.tar.gz) 每靶标一包,含 3 格式配体 + 受体 一条 wget 即得,含 482 聚类活性物 + 31,550 诱饵,足够跑通全流程
新打分函数系统基准 All(all.tar.gz,102 靶标) 全库约 1.14M 分子 × 3 格式 官方标准口径,结果可与十余年文献直接对比
只测特定家族(如激酶) Kinase(26 靶标)/ Nuclear(11)/ Protease(15)/ Gpcr(5) 按子集打包(官网 subsets 页) 官方预打包,避免自己筛选目录
复现初代 DUD 论文 Dud38(38 靶标) 官方子集 初代 DUD 靶标在 DUD-E 管线下的重建版
快速迭代方法 Diverse(8 靶标) 官方最小子集 官方推荐的代表性抽样子集,用于反复调参省时
需要修正电荷偏差 DUD-Z(dudez.docking.org 官方后继版本 修正质子化状态导致的电荷不平衡(J. Chem. Inf. Model. 2021)
需要真实负例 改用 LIT-PCBA 约 15,000 活性 + 2.4M 非活性 实验验证非活性,无构造诱饵偏倚

§3.1 模态详情

  • 配体 2D 模态:异构 SMILES(.ism,制表符分隔:SMILES + 化合物 ID),活性物 ID 为 ChEMBL 编号,诱饵 ID 为 ZINC 编号。
  • 配体 3D 模态:SYBYL mol2(.mol2.gz,含原子类型/部分电荷/键级)与 SDF(.sdf.gz)双格式,均含三维坐标,可直接对接。
  • 受体模态:receptor.pdb——从 PDB 晶体结构出发经官方管线处理(链选择、活性位点口袋定义);官方 wiki 明确说明 receptor.pdb 与原始 PDB 并非逐字一致(见 §6.5 坑点 8)。
  • 共结晶配体:crystal_ligand.mol2,用于定义口袋或做重对接参照。
  • 亲和力注释:官方包内不附亲和力数值表;活性物 ID 可回查 ChEMBL 获取 Ki/IC50/EC50 及文献引用(官方 FAQ:“Literature references and affinities — Yes, via ChEMBL”)。

§3.2 子集与样本数

官方子集 靶标数 下载文件 定位
All 102 all.tar.gz 完整基准(标准口径)
Kinase 26 kinase.tar.gz 蛋白激酶
Protease 15 protease.tar.gz 蛋白酶
Nuclear 11 nuclear.tar.gz 核激素受体
Gpcr 5 gpcr.tar.gz 七次跨膜受体
Dud38 38 dud38.tar.gz 初代 DUD 靶标的重建
Diverse 8 diverse.tar.gz 代表性最小子集

(来源:官网 subsets 页;靶标类别细分:其他酶 36、离子通道 2、CYP450 2、杂项 5,见官方靶标总表。)

§3.3 文件格式表

文件 格式 内容 典型用途
actives_final.ism 文本(SMILES+ID) 聚类后活性配体 2D 特征提取、指纹计算
actives_final.mol2.gz / .sdf.gz mol2 / SDF(gzip) 活性配体 3D 结构 对接、3D 网格/图神经网络
decoys_final.ism / .mol2.gz / .sdf.gz 同上 性质匹配诱饵 负例集
receptor.pdb PDB 处理后受体结构 对接受体、口袋定义
crystal_ligand.mol2 mol2 共结晶配体 口袋参照、重对接 RMSD 基准

§3.4 存储大小

官方未在下载页标注打包体积;按数据口径估算——全库约 1.14M 个小分子、每分子三格式 3D 结构加 102 个受体文件,建议磁盘预留 ≥50 GB(原始压缩包 + 解压 + 中间产物)。单靶标包最轻(如 AA2AR:482 聚类活性物 + 31,550 诱饵),是快速上手的推荐入口。

使用场景 建议磁盘 建议内存 说明
单靶标教学/原型 ≤5 GB 4 GB 仅一个 tar.gz + 解压 + 2D 特征
家族子集研究(如 Kinase 26 靶标) 约 10–20 GB 16 GB 26 靶标 × 3 格式 × 数千分子
全量基准(102 靶标) ≥50 GB 32–64 GB 1.14M 分子 × 3 格式 + 排序/指纹中间产物
3D 深度模型全量训练 ≥100 GB SSD 64 GB + GPU 16 GB+ 网格/图特征缓存体积大,建议 SSD

(表中数值为工程规划建议而非官方口径;官方页未公布打包字节数。)

§3.5 标注方式

  • 正例(活性物):文献验证结合——ChEMBL 汇集的 Ki/IC50/EC50 注释,经 Bemis–Murcko 骨架聚类后保留代表分子(“22,886 clustered ligands drawn from ChEMBL”,原始论文摘要)。
  • 负例(诱饵):构造性负例——非实验测定的非结合物,而是"物理性质匹配 + 二维拓扑差异大 ⇒ 推定非结合"。官方 FAQ 原文承认诱饵"have not been tested"(未做实验结合测试)。
  • 生成方式:全自动管线(质子化枚举 → 局部性质窗口匹配 → ECFP4 去相似 → 骨架去重),协议已封装为在线工具 decoys.docking.org

§3.6 标注者资质与一致性

正例标签的可靠性继承自 ChEMBL 的文献策展流程(人工抽取文献活性数据 + 受控词表);诱饵"标签"由算法决定,不存在人工标注者间一致性(kappa 类指标不适用)。官方社区渠道(wiki、邮件列表 decoys@docking.org)负责错误反馈与修正。

§3.7 采集周期

数据为静态快照:活性物取自 2012 年的 ChEMBL,诱饵取自 2012 年的 ZINC;官方修订记录仅有 2012-05-18 一版,此后未发布数据修订(官网页面维护至 2024,并公告后继版本 DUD-Z)。

§3.8 地域覆盖

不适用地理概念。化合物来源为全球可购买的化学库(ZINC 聚合的国际供应商),受体结构来自全球结构生物学家的公开 PDB 存档。

§3.9 生成工具与软件规格

  • 诱饵生成:Shoichet 实验室内部管线(Python + C-Shell,依赖 ChemAxon JChem 做质子化,见官方 wiki)。
  • 指纹与去相似:ECFP4(Extended-Connectivity Fingerprints,半径 4)。
  • 验证对接:DOCK 3.6(UCSF)对全部 102 靶标做基准对接并公开结果(官方靶标页含每靶标 AUC/LogAUC/EF)。
  • 受体制备:官方 docking 管线(口袋定义基于共结晶配体)。

§3.10 深度溯源链

化合物:原始文献 → ChEMBL(活性注释 + 化合物登记号)→ DUD-E 聚类活性物(ism 内 ID 可回查 ChEMBL);诱饵:ZINC 化合物(含 ZINC ID)→ 性质匹配/去相似筛选 → decoys_final 文件(ID 可回查 ZINC);受体:PDB ID(官方靶标页逐靶标标注,如 AA2AR ← 3eml)→ 官方制备 → receptor.pdb。三级 ID 均可回溯至原始来源。


§4 数据结构

§4.0 目录树

数据解压后按官方逐靶标包组织的典型目录结构(以 AA2AR 腺苷 A2a 受体为例):

dude-e/
├── aa2ar.tar.gz                  # 官方逐靶标打包(下载入口)
├── aa2ar/                        # 靶标目录(Uniprot 短码命名)
│   ├── actives_final.ism         # 活性物:异构 SMILES + ChEMBL ID(制表符分隔)
│   ├── actives_final.mol2.gz     # 活性物 3D 结构(SYBYL mol2,含部分电荷)
│   ├── actives_final.sdf.gz      # 活性物 3D 结构(SDF)
│   ├── decoys_final.ism          # 诱饵:异构 SMILES + ZINC ID
│   ├── decoys_final.mol2.gz      # 诱饵 3D 结构(mol2)
│   ├── decoys_final.sdf.gz       # 诱饵 3D 结构(SDF)
│   ├── crystal_ligand.mol2       # 共结晶配体(口袋参照/重对接基准)
│   └── receptor.pdb              # 受体结构(官方处理版,非原始 PDB 原样)
├── kinase.tar.gz                 # 官方子集打包(26 靶标)
├── protease.tar.gz               # 官方子集打包(15 靶标)
├── nuclear.tar.gz                # 官方子集打包(11 靶标)
├── gpcr.tar.gz                   # 官方子集打包(5 靶标)
├── diverse.tar.gz                # 官方最小代表子集(8 靶标)
├── dud38.tar.gz                  # 初代 DUD 靶标重建子集(38 靶标)
└── all.tar.gz                    # 全量 102 靶标打包

(靶标目录以 Uniprot 短码命名:AA2AR 腺苷 A2a 受体、FA10 凝血因子 Xa、PUR2 嘌呤核苷酸合成酶、KITH 胸苷激酶、ACES 乙酰胆碱酯酶、HIVPR HIV 蛋白酶等。)

§4.1 DAIMS 字段字典

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
target_id 文本 靶标 Uniprot 短码(目录名) AA2AR 分组/多任务学习的任务键 102 个官方短码
pdb_id 文本 受体来源 PDB 编号 3eml 关联回原始晶体结构 官方靶标页逐靶标标注
smiles 文本 异构 SMILES(ism 第 1 列) Cc1ccc(...) 2D 特征/指纹/图神经网络输入 异构 SMILES 书写规范差异 任意合法异构 SMILES
compound_id 文本 化合物登记号(ism 第 2 列) CHEMBL12345 / ZINC01234567 回查 ChEMBL 亲和力与文献 ChEMBL/ZINC ID 空间
label 整型 类别标签(按文件来源构造) 1=active / 0=decoy 二元分类/排序监督信号 诱饵标签为推定(未实验验证)
coords_mol2 3D 坐标 mol2 内原子坐标+部分电荷+键级 3D mol2 块 对接/3D CNN/几何深度学习 生成构象非实验构象 每分子一个 3D 构象
coords_sdf 3D 坐标 SDF 内原子坐标 3D SDF 块 与 mol2 等价的替代格式 同上 同上
crystal_ligand 3D 坐标 共结晶配体(mol2) crystal_ligand.mol2 口袋定义、重对接 RMSD 实验构象 每靶标 1 个

§4.2 标签分布

全局标签比例固定为约 1:50(活性:诱饵)。按靶标看,活性物 100–600 个/靶标、诱饵 3,000–30,000+ 个/靶标(官方靶标页逐靶标列出,如 AA2AR 482 活性 / 31,550 诱饵;ESR1 383 活性 / 20,685 诱饵)。这种人为设定的极端类别失衡对指标选择有决定性影响——AUC 会被海量"简单负例"稀释,早富集指标(EF1%/BEDROC)才是虚拟筛选的核心语言(见 §6.9)。

§4.3 关键统计

  • 全库 22,886 活性物、约 110 万诱饵(1.1M,官方后继论文口径;22,886 × 50 ≈ 1,144,300)。
  • 805,136 个诱饵 Bemis–Murcko 骨架中仅 692 个(0.086%)与 25,503 个配体骨架重合——拓扑分离度的官方量化(原始论文)。
  • Warhead(关键药效团)残留率经 ECFP4 + 剔除最相似 75% 后:FA10 0.2%、PUR2 0%、KITH 5.8%(原始论文图 3)。
  • DOCK 3.6 全靶标平均富集:性质匹配诱饵 LogAUC 24.4%,药物类似物背景 26.8%(原始论文 Supporting Information Table S4)。
  • 官方靶标页示例(AA2AR,DOCK 3.6):AUC 83.39 / LogAUC 28.37 / Enrichment 21.8。

§4.4 数据层级

靶标(102 个,Uniprot 短码)
├── 受体结构(1 个 receptor.pdb + 1 个 crystal_ligand.mol2)
└── 配体集合
    ├── 活性物(100–600 个/靶标,Bemis–Murcko 聚类代表)
    │   └── 每分子:SMILES + mol2 3D + SDF 3D + ChEMBL ID
    └── 诱饵(约 50 × 活性物数/靶标,逐质子化状态匹配)
        └── 每分子:SMILES + mol2 3D + SDF 3D + ZINC ID

§4.5 缺失值与信息性缺失

DUD-E 是构造数据库而非观测数据库:结构文件(SMILES/mol2/SDF)与 ID 列完整无缺失;“缺失"发生在注释维度——(1)官方包不含亲和力数值文件,需经 ChEMBL 回查(这是设计而非缺陷,官方 FAQ 明确指引);(2)部分靶标存在 ChEMBL 标注的已知非结合物(inactives),官方单独提供(inactives_* 文件族)但不并入主诱饵集;(3)受体不含氢原子与质子化状态信息,属"有意省略”,交由用户按实验 pH 自行加氢(见 §6.5 坑点 5)。


§5 划分与使用建议

§5.1 官方划分

不存在官方 train/test 划分——这不是疏忽而是定位:DUD-E 的原生用法是"逐靶标回顾性富集",即对每个靶标把全部活性物+诱饵喂给打分函数排序,计算富集指标。此模式下没有"训练",只有排序,天然无划分问题。

§5.2 社区惯例划分(用于 ML 训练)

当用 DUD-E 训练深度学习评分函数时,社区出现过三种划分:

  1. 随机划分(不推荐):分子级随机分 train/test——analog bias 使测试集充斥训练集的类似物,性能严重虚高(Chen 2019 的核心批评对象)。
  2. 靶标级划分:训练靶标与测试靶标完全不相交(如 10 靶标训练、92 靶标测试)——检验跨蛋白泛化,但同家族靶标(28 个激酶)骨架仍高度共享,泄漏只是减轻而非消除(Walters 的 kinase 互训实验)。
  3. 骨架级划分(推荐):按 Bemis–Murcko 骨架切分,确保测试集中的骨架在训练集(同靶标内)不可见,是当前偏倚控制的最小配置。

§5.3 泄漏风险要点

  • 分子内泄漏:同一靶标内同骨架活性物分跨 train/test——必须骨架分组。
  • 跨靶标泄漏:激酶家族共享腺嘌呤结合口袋与骨架(ATP 类似物),靶标级划分对家族内靶标仍然"泄题"。
  • 描述符泄漏:DUD-E 的诱饵生成过程按 1D 性质逐维匹配,组合这些描述符的模型即可近乎完美分类(Sieg 2019)——评估时应报告"仅用 1D 描述符"的基线。
  • 去溶剂化暗通道:分子量/电荷等残余差异可被优化过的评分函数放大(DUDE-Z 论文指认的电荷不平衡路径)。

§5.4 划分方案对照表与验证代码

划分方案 适用场景 防泄漏能力 实现代价
分子级随机划分 ❌ 不应用于任何结论 无(analog bias 全量泄漏) 一行代码(这正是它危险的原因)
骨架级划分(GroupKFold on Bemis–Murcko) 靶标内 ML 训练/评估 消除分子内泄漏;对跨靶标泄漏无效 低(§6.3 步骤 3)
靶标级留出 多任务模型跨靶标泛化 消除靶标内泄漏;同家族仍共享骨架 中(需维护靶标分组)
家族级留出 检验对全新蛋白家族的泛化 最强(家族骨架+口袋双重隔离) 中-高(家族划分后训练数据骤减)
1D 描述符哨兵基线 任何方案的必配对照 不防泄漏,用于量化泄漏被利用程度
# 划分验证三断言:交付前必须全部通过
# 断言 1:骨架零交叉(靶标内)
assert not (set(data.iloc[tr]["scaffold"]) & set(data.iloc[te]["scaffold"])) or \
       data.iloc[tr]["scaffold"].eq("").any(), "骨架泄漏:请过滤空骨架后重切"

# 断言 2:跨靶标骨架共享度审计(量化家族泄漏风险,如 28 个激酶互查)
import itertools
scaf = {t: set(g["scaffold"]) for t, g in data.groupby("target_id")}
pairs = [(a, b, len(s & q) / max(1, len(s | q))) for (a, s), (b, q) in itertools.combinations(scaf.items(), 2)]
print("同家族靶标骨架 Jaccard 中位数(>0.1 即需家族留出):",
      sorted([p for p in pairs if p[2] > 0.1], key=lambda x: -x[2])[:5])

# 断言 3:1D 描述符哨兵——仅 5 个标量描述符即可复现的"AUC 上限"
from rdkit.Chem import Descriptors, Crippen
d1 = data["smiles"].map(lambda s: Descriptors.MolWt(Chem.MolFromSmiles(s)))
d2 = data["smiles"].map(lambda s: Crippen.MolLogP(Chem.MolFromSmiles(s)))
X1d = np.c_[d1, d2, data["smiles"].map(lambda s: Descriptors.NumHDonors(Chem.MolFromSmiles(s)))]
Xtr, Xte, ytr, yte = train_test_split(X1d, y, test_size=0.2, stratify=y, random_state=0)
print("1D 哨兵 AUC(越接近 0.5 越健康,接近 1 说明性质分离仍可被利用):",
      roc_auc_score(yte, RandomForestClassifier(n_estimators=200).fit(Xtr, ytr).predict_proba(Xte)[:, 1]))

§5.5 交叉验证建议

靶标内评估用 5 折骨架分组交叉验证(GroupKFold on scaffold);跨靶标评估按"家族留出"设计(留出整个激酶/整个 GPCR 家族);报告时同时给出每靶标指标分布(中位数+四分位)而非仅均值,以暴露家族失衡的影响。

§5.6 外部验证建议

DUD-E 成绩好不等于前瞻筛选有效。推荐的递进式外验序列:LIT-PCBA(真实实验负例+类别失衡)→ 前瞻小库(数百化合物湿实验验证)→ 大库对接(参考 UCSF Lyu et al. 2019 的 1.7 亿化合物实战流程)。若在 LIT-PCBA 上富集大跌,基本可判定模型学到的是 DUD-E 偏倚而非物理。


§6 AI 就绪指南 ⭐

§6.0 云端快速启动

DUD-E 体积小(单靶标包数 MB 至数十 MB 量级)、无申请流程,任何带 GPU 的云端环境(Colab/AutoDL/AWS)均可用一条命令开始。官方不提供托管 notebook,推荐本地脚本流程(§6.1)。

§6.1 快速上手

代码预期目录结构:data_root/dude/aa2ar/{actives_final.ism, decoys_final.ism}data_root 即下述 DATA_ROOT 变量,由 wget 下载+tar 解压自动形成。最小可用子集:任一靶标的 ism 两个文件即可(无需 3D 文件)。

# 步骤 1:下载并解压一个靶标(AA2AR,腺苷 A2a 受体,GPCR 代表)
# DATA_ROOT 与最终 data_root 的拼接关系:
#   wget -P $DATA_ROOT 下载 aa2ar.tar.gz → 解压得到 $DATA_ROOT/aa2ar/
import os, urllib.request, tarfile

DATA_ROOT = os.path.expanduser("~/data/dude")   # 自定义数据根目录
os.makedirs(DATA_ROOT, exist_ok=True)
url = "https://dude.docking.org/targets/aa2ar/aa2ar.tar.gz"
tar_path = os.path.join(DATA_ROOT, "aa2ar.tar.gz")
urllib.request.urlretrieve(url, tar_path)
with tarfile.open(tar_path) as tf:
    tf.extractall(DATA_ROOT)                    # → ~/data/dude/aa2ar/...
# 步骤 2:读取活性物与诱饵,构建最小数据集
# ism 文件格式:每行 "SMILES<TAB>化合物ID"(活性物=ChEMBL ID,诱饵=ZINC ID)
import pandas as pd

root = os.path.join(DATA_ROOT, "aa2ar")
def read_ism(path, label):
    df = pd.read_csv(path, sep="\t", header=None, names=["smiles", "id"])
    df["label"] = label
    return df

actives = read_ism(os.path.join(root, "actives_final.ism"), 1)
decoys  = read_ism(os.path.join(root, "decoys_final.ism"), 0)
data = pd.concat([actives, decoys], ignore_index=True)
print(actives.shape, decoys.shape)   # (482, 3) (31550, 3)
# 步骤 3:2D 指纹 + 随机森林基线(注意:此基线仅用于演示偏倚,见坑点 1)
from rdkit import Chem
from rdkit.Chem import AllChem
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score

fps = [AllChem.GetMorganFingerprintAsBitVect(Chem.MolFromSmiles(s), 2, nBits=2048)
       for s in data["smiles"]]
X = np.array(fps); y = data["label"].values
X_tr, X_te, y_tr, y_te = train_test_split(X, y, test_size=0.2, stratify=y, random_state=42)
clf = RandomForestClassifier(n_estimators=200, n_jobs=-1).fit(X_tr, y_tr)
print("随机划分 AUC(含 analog bias,不可外推):", roc_auc_score(y_te, clf.predict_proba(X_te)[:, 1]))

§6.2 数据获取

获取方式 链接 说明
全量打包 all.tar.gz(官网首页 Download 入口) 102 靶标一次取齐
官方分子集 dude.docking.org/subsets kinase/gpcr/nuclear/protease/diverse/dud38 六个子集 tar.gz
逐靶标 dude.docking.org/targets 每靶标页含 tar.gz 与官方 DOCK3.6 基准成绩
在线诱饵生成 decoys.docking.org 为自有活性物列表生成 DUD-E 风格诱饵
后继版本 dudez.docking.org 修正电荷匹配的 DUD-Z
  • 申请流程:无。免费开放下载,无需注册;官方唯一要求是引用 Mysinger et al. 2012(J. Med. Chem. 55, 6582–6594)。
  • 许可细节:官网声明 “DUD-E free to use and is provided by the Irwin and Shoichet Laboratories at UCSF”;页面版权 The Irwin Lab and the UC Regents。
  • 命令行获取(官方靶标页直链):
# 逐靶标下载(官方靶标页直链模式:https://dude.docking.org/targets/<短码>/<短码>.tar.gz)
for t in aa2ar fa10 aces hivpr; do
  wget -c "https://dude.docking.org/targets/${t}/${t}.tar.gz" -P ~/data/dude/
  tar -xzf ~/data/dude/${t}.tar.gz -C ~/data/dude/
done

§6.3 预处理全流程

# 预处理步骤 1:配体 3D 文件读取与清洗(mol2/SDF → RDKit 分子对象)
# 依赖:pip install rdkit pandas numpy
import gzip
from rdkit import Chem
from rdkit.Chem import Descriptors

def load_sdf(path):
    """读取 DUD-E 的 SDF(含 .gz),返回有效分子列表。
    mol2 文件不直接进 RDKit:先用 Open Babel 转 SDF(见下方说明),规避坑点 6 的方言问题。"""
    opener = gzip.open if path.endswith(".gz") else open
    with opener(path, "rt") as f:
        sup = Chem.SDMolSupplier()
        sup.SetData(f.read())
        return [m for m in sup if m is not None]

actives_3d = load_sdf("aa2ar/actives_final.sdf.gz")
decoys_3d  = load_sdf("aa2ar/decoys_final.sdf.gz")
print(len(actives_3d), len(decoys_3d))   # 活性物 / 诱饵的 3D 分子数

# 一致性断言:3D 文件与 ism(标签真值源)的分子数必须对齐(坑点 6 的检查逻辑)
n_ism = sum(1 for _ in open("aa2ar/actives_final.ism"))
assert len(actives_3d) == n_ism, "3D 与 SMILES 文件不对齐,先排查再训练"

# 推荐路径:mol2 统一经 Open Babel 转 SDF 后再进 RDKit
# obabel aa2ar/actives_final.mol2 -O actives_conv.sdf
# 预处理步骤 2:受体加氢与质子化(坑点 5 的标准解法)
# 依赖:conda install -c conda-forge pdbfixer openmm
from pdbfixer import PDBFixer
from openmm.app import PDBFile

fixer = PDBFixer(filename="aa2ar/receptor.pdb")
fixer.findMissingResidues()
fixer.addMissingHydrogens(pH=7.4)      # 官方 receptor.pdb 不含氢,按实验 pH 加氢
fixer.findMissingAtomTypes()
PDBFile.writeFile(fixer.topology, fixer.positions, open("receptor_h.pdb", "w"))
# 处理后建议用 Reduce 或 PropKa 复核关键残基(His/Asp/Glu/Cys/Lys)的质子化状态
# 预处理步骤 2b:跑通一次真实富集评测(AutoDock Vina,示例为 AA2AR 单配体)
# 依赖:conda install -c conda-forge openbabel vina
# 口袋中心/尺寸:取 crystal_ligand.mol2 质心,加 8-10 Å 边距(生产环境用脚本批量计算)
obabel aa2ar/actives_final.mol2 -O actives.pdbqt        # 配体转 pdbqt
vina --receptor receptor_h.pdbqt \
     --ligand actives.pdbqt \
     --center_x 1.8 --center_y 20.0 --center_z 46.0 \
     --size_x 20 --size_y 20 --size_z 20 \
     --exhaustiveness 16 --out vina_out.pdbqt           # 输出含 vina 分数
# 批量评测:对合并池(活性+诱饵)逐分子打分 → 排序 → §6.9 指标脚本
# 预处理步骤 2c:GNINA(CNN 打分)同口径对照(官方 autobox_ligand 自动定口袋)
gnina -r receptor_h.pdb -l actives.sdf \
      --autobox_ligand aa2ar/crystal_ligand.mol2 \
      --cnn_scoring default --exhaustiveness 16 -o gnina_out.sdf
# gnina_out.sdf 的 pose 属性中含 CNNscore / CNNaffinity,可直接进 §6.9 评估
# 预处理步骤 3:骨架(scaffold)提取与去偏划分(坑点 3 的标准解法)
from rdkit.Chem.Scaffolds import MurckoScaffold

def get_scaffold(smiles):
    try:
        mol = Chem.MolFromSmiles(smiles)
        return MurckoScaffold.MurckoScaffoldSmiles(mol=mol, includeChirality=False)
    except Exception:
        return ""

data["scaffold"] = data["smiles"].apply(get_scaffold)
# 分子级随机划分被禁止:必须按骨架分组(GroupShuffleSplit/GroupKFold)
from sklearn.model_selection import GroupShuffleSplit
gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
tr, te = next(gss.split(data, groups=data["scaffold"]))
assert set(data.iloc[tr]["scaffold"]) & set(data.iloc[te]["scaffold"]) == set() or True
# 严格版:若同骨架跨活性物分布,建议直接 filter 掉交叉骨架或用 lift 方案

§6.4 PyTorch DataLoader 完整代码

# ECFP 指纹版 Dataset(可运行;3D 图/网格版只需替换 __getitem__ 的特征化)
import torch
from torch.utils.data import Dataset, DataLoader
import numpy as np
from rdkit import Chem
from rdkit.Chem import AllChem

class DUDEDataset(Dataset):
    """DUD-E 活性/诱饵二元数据集。
    输入:§6.3 构建的 data DataFrame(含 smiles/label/scaffold)。"""
    def __init__(self, df, radius=2, nbits=2048):
        self.smiles = df["smiles"].tolist()
        self.labels = df["label"].astype(np.float32).tolist()
        self.radius, self.nbits = radius, nbits

    def __len__(self):
        return len(self.smiles)

    def __getitem__(self, idx):
        mol = Chem.MolFromSmiles(self.smiles[idx])
        fp = AllChem.GetMorganFingerprintAsBitVect(mol, self.radius, nBits=self.nbits)
        x = torch.tensor(np.array(fp), dtype=torch.float32)
        return x, torch.tensor(self.labels[idx])

loader_tr = DataLoader(DUDEDataset(data.iloc[tr]), batch_size=256, shuffle=True, num_workers=2)
loader_te = DataLoader(DUDEDataset(data.iloc[te]), batch_size=512, shuffle=False, num_workers=2)
# 简单 MLP 评分头(演示用;结构化深度模型见 §6.7 模型推荐表)
import torch.nn as nn

model = nn.Sequential(nn.Linear(2048, 512), nn.ReLU(), nn.Dropout(0.2),
                      nn.Linear(512, 1))
opt = torch.optim.Adam(model.parameters(), lr=1e-3)
lossf = nn.BCEWithLogitsLoss()
for epoch in range(3):
    model.train()
    for x, y in loader_tr:
        opt.zero_grad()
        loss = lossf(model(x).squeeze(-1), y)
        loss.backward(); opt.step()
    print(f"epoch {epoch} loss {loss.item():.4f}")

§6.5 坑点(8 个)

⚠️ 坑点 1:analog bias + decoy bias——深度学习在 DUD-E 上的成绩大多是虚高的(分类:偏倚陷阱)

问题:DUD-E 诱饵被刻意设计为"与活性物拓扑差异大",因此活性物之间彼此相似、与诱饵截然不同(t-SNE 上活性物聚成孤立簇)。CNN/评分模型只需识别"活性物长什么样"即可得高分,完全不需要学蛋白-配体相互作用。
症状:ligand-only 模型(蛋白信息被替换为哑原子)在 DUD-E 上 AUC 仍达 0.98,与完整模型几乎一致;换成 actives-as-decoys 无偏数据集后成绩跌至随机(约 0.50);一个 KNN+2D 指纹基线即可匹敌深度模型。
解决

  1. 简单方法:任何在 DUD-E 上的新模型,必须同时报告"配体-only"消融版与"1D 描述符基线"(MW/logP/电荷等),若两者都高分,说明学到的是偏倚。
  2. 进阶方法:骨架级划分 + 靶标级划分双重验证;用 Chen 2019 的 actives-as-decoys(AD)协议——用其他靶标的活性物做负例,测试泛化。
  3. SOTA 方法:主结果改在 LIT-PCBA(实验验证负例、真实类别失衡)上报告,DUD-E 仅作历史可比性参考;或采用 DUDE-Z 的修正诱饵。
    参考Chen et al., PLOS ONE 2019, e0220113Sieg et al., J. Chem. Inf. Model. 2019Walters, Practical Cheminformatics

⚠️ 坑点 2:AUC 对早富集不敏感——虚拟筛选必须看 EF1%/BEDROC(分类:评估误用)

问题:虚拟筛选的实践是只买排名前 0.1%–1% 的化合物做湿实验;AUC 积分整个 ROC 曲线,被海量排名靠后的诱饵稀释,无法反映"前几千个化合物里捞到多少活性物"这一实际价值。
症状:两个方法 AUC 相差无几(如 Vina 与某深度模型都在 0.7–0.8 区间),但 EF1% 相差数倍;官方靶标页 AA2AR 的 AUC 83.39 与 Enrichment 21.8 讲述的就是两个不同的故事。
解决

  1. 简单方法:同时报告 EF1% 与 AUC;EF1% = (前 1% 排名中的活性物数 ÷ 前 1% 排名总分子数) ÷ (活性物总数 ÷ 全体分子数),即相对随机的富集倍数。
  2. 进阶方法:加入 BEDROC(α=80.5 或 20,指数加权早富集)与 LogAUC(官方论文主指标,对数轴 AUC);代码见 §6.9。
  3. SOTA 方法:采用 Gnina 论文推广的 NEF1%(归一化 EF1%,跨数据集可比),并报告 bootstrap 置信区间——官方后继论文提醒:小富集差异可能在计算方差范围内(Lyu 2021)。
    参考Sunseri & Koes, Molecules 2021, 26, 7369Lyu et al., J. Chem. Inf. Model. 2021, 61, 699–714

⚠️ 坑点 3:划分方式决定生死——随机划分=自欺,靶标划分仍会经激酶家族泄漏(分类:数据泄漏)

问题:同一靶标的活性物共享少数 Bemis–Murcko 骨架;28 个激酶靶标共享 ATP 类似物骨架与腺嘌呤口袋。随机划分使测试集被训练类似物包围;即使靶标级划分,同家族靶标间骨架与口袋双重重叠。
症状:随机划分下模型近乎完美(AUC > 0.95);换骨架划分后大幅回落;跨家族(激酶训练 → GPCR 测试)外推时彻底崩盘。
解决

  1. 简单方法:靶标内实验一律 GroupShuffleSplit/GroupKFold(group=scaffold),禁止 KFold。
  2. 进阶方法:多任务模型按"家族留出"设计验证(训练集不含被测家族的任何靶标);对每对 (训练靶标, 测试靶标) 检查骨架交集。
  3. SOTA 方法:参考 90% 序列相似度阈值的蛋白级划分(Yang et al. 对 ML 评分函数的批评),并叠加口袋结构相似度过滤(DockGen 的做法)。
    参考Chen et al. 2019 图 4(单/多靶标划分示意)Sunseri & Koes 2021 关于 bias 的讨论

⚠️ 坑点 4:诱饵≠实验验证的非结合物——负标签是构造性假设(分类:标签理解)

问题:官方 FAQ 明确承认诱饵"have not been tested"(未做结合实验);标签 0 的含义是"拓扑上与已知活性物差异大 + 性质匹配 ⇒ 推定不结合"。个别诱饵可能实际结合(假负例),而 ChEMBL 已知非结合物被单独放在 inactives 文件族而非主诱饵集。
症状:把诱饵当真值训练亲和力回归模型时出现系统性偏差;用"诱饵排名分"宣称能预测结合自由能的结论经不起前瞻验证。
解决

  1. 简单方法:论文表述上严格区分"decoy enrichment"与"binding prediction"——前者是排序能力,后者是能量估计。
  2. 进阶方法:需要真负例时下载官方 inactives_* 文件(ChEMBL 实验标注)或改用 LIT-PCBA;对高排名诱饵可回查 ZINC/ChEMBL 是否有后续实验数据。
  3. SOTA 方法:用活性物做诱饵的交叉协议(Chen 2019 的 AD 数据集思路)估计假负例上界。
    参考DUD-E 官方 FAQ官方 wiki 文件文档(inactives_* 文件族)

⚠️ 坑点 5:1D-3D 性质匹配不完全——质子化/电荷失衡是官方认账的病灶(分类:预处理陷阱)

问题:诱饵匹配的是 SMILES 级 1D 性质(MW/logP/HBD/HBA/旋转键/净电荷),但溶解度、互变异构、微观 pKa 与三维电荷分布未被匹配;更严重的是多质子化状态生成会打乱原始电荷配对——DUD-Z 论文专门指认这一"charge imbalance"路径导致虚假富集。
症状:对静电敏感的打分函数(或以电荷为特征的模型)出现无法解释的高富集;同一分子不同质子化状态在集中表现迥异;受体侧(未加氢的 receptor.pdb)与配体侧质子化约定不一致。
解决

  1. 简单方法:统一配体与受体在 pH 7.4 下的质子化(配体用 RDKit/Epik/OpenBabel,受体用 PDBFixer+PropKa,见 §6.3 步骤 2)。
  2. 进阶方法:对每靶标统计活性/诱饵的净电荷直方图与 formald charge 分布,若残余失衡则做电荷分层评估。
  3. SOTA 方法:直接迁移到 DUDE-Z——官方预构建 3D 诱饵按"指定质子化/电荷状态"与配体精确匹配,从源头消除该偏差。
    参考Lyu et al., J. Chem. Inf. Model. 2021(DUDE-Z)DUD-E 官方 FAQ(性质匹配维度)

⚠️ 坑点 6:mol2 方言与三格式不一致——解析器比你想的脆弱(分类:工程陷阱)

问题:DUD-E 的 mol2 由 ChemAxon/JChem 生成,SYBYL 原子类型子集与 RDKit/Babel 的默认假设不完全对齐;同一配体在 ism、mol2、SDF 三种文件中可能因质子化枚举细节不同而不完全一一对应,直接混合读取会造成标签错配。
症状:RDKit MolFromMol2Block 返回 None 或警告 atom type not recognized;SDF 与 mol2 分子数不一致;SMILES 与 3D 文件键级/电荷不一致导致特征对不上标签。
解决

  1. 简单方法:以 ism(SMILES+ID)为唯一真值源做标签,3D 文件仅取坐标;用 obabel -imol2 x.mol2 -osdf 统一转 SDF 后再进 RDKit。
  2. 进阶方法:解析后按"分子数 + ID 交集 + InChIKey 一致性"三重断言校验三个文件的对齐关系。
  3. SOTA 方法:用 RDKit 重生成 3D 构象(ETKDG)替换原始 3D,牺牲官方构象一致性换取格式确定性,并把该选择写进论文方法节。
    参考官方 wiki 文件文档(生成管线与文件族说明)RDKit mol2 文档

⚠️ 坑点 7:靶标家族失衡 + 含金属靶标——平均分掩盖了两类系统性异常(分类:偏倚陷阱)

问题:102 个靶标中激酶 26 个、其他酶 36 个,而 GPCR 仅 5 个、离子通道 2 个——全体平均分被家族结构主导;同时部分靶标含金属离子位点(如 PDE5 的 Zn²⁺/Mg²⁺、含血红素/含铁体系),传统经验打分函数对金属配位处理粗糙,富集值系统性异常。
症状:方法 A 在"激酶重、金属重"的子集上平均分虚高/虚低;逐靶标看金属靶标(尤其 heme/铁硫/锌酶)出现极端值;只报均值的论文间结果不可比。
解决

  1. 简单方法:报告按家族分层的指标(激酶/蛋白酶/酶/GPCR/核受体各一行),不依赖全体均值。
  2. 进阶方法:识别含金属位点靶标单独成组评估;打分函数侧对金属配位原子用专用参数或屏蔽项。
  3. SOTA 方法:用 DUDE-Z/Extrema(Lyu 2021 的电荷极值基准)专门压测静电/金属路径,并把家族分层结果作为标准报告格式。
    参考官方靶标总表(家族计数)Lyu et al. 2021(Extrema 基准)

⚠️ 坑点 8:receptor.pdb 不是原始 PDB——残基标注、缺氢与结晶水都要自己处理(分类:预处理陷阱)

问题:官方 wiki 专门回答"为什么 receptor.pdb 和 PDB 文件不一样":受体经口袋选择、链/共结晶处理,残基编号与标注可能"怪异";文件本身不含氢原子与质子化状态,结晶水与共结晶辅因子去留也未统一。
症状:直接拿 receptor.pdb 对接出现口袋坐标偏移或残基名不识别;His/Asp/Glu 质子化状态默认错误导致静电项失真;保留全部结晶水使口袋被堵。
解决

  1. 简单方法:用 PDBFixer 加氢补残基(§6.3 步骤 2),结晶水默认全部去除,仅保留明确介导配体互作的水(文献判断)。
  2. 进阶方法:对 His/Asn/Gln 做翻转优化(Reduce),关键残基质子化用 PropKa/MEAD 按口袋环境复核;重对接 crystal_ligand.mol2 验证口袋定义(RMSD < 2 Å 为合格)。
  3. SOTA 方法:对比原始 PDB 与官方 receptor 的差异清单(官方 wiki 的 pdb_analyze/pdb_blessed 流程),把受体处理协议版本写进可复现脚本。
    参考官方 wiki FAQ(Q2 残基标注 / Q4 受体与 PDB 差异)

§6.6 数据增强(安全 ✅ / 危险 ❌)

操作 判定 说明
SMILES 枚举(等价写法随机化) ✅ 安全 不改变分子,常用于图/序列模型正则化
随机 3D 旋转/平移 ✅ 安全 评分函数应对刚体变换不变;网格模型需配合随机口袋采样
构象扰动(轻微键长/键角抖动) ✅ 安全 提升对对接姿态噪声的鲁棒性
骨架跳转(scaffold hopping 式替换) ❌ 危险 会改变标签语义——诱饵可能被"增强"成活性类似物
质子化/互变体随机替换 ❌ 危险 直接触碰坑点 5 的电荷失衡病灶,等于向训练集注入新偏倚
把其他靶标活性物当负例混入训练 ⚠️ 谨慎 可缓解 decoy bias(AD 协议)但引入隐性正例污染(泛结合物),需白名单过滤

§6.7 模型推荐表

模型/工具 类型 DUD-E 适用性 开源地址
AutoDock Vina 经验打分对接 必备基线(多篇论文的对照组) https://github.com/ccsb-scripps/AutoDock-Vina
GNINA 1.1 CNN 打分对接 深度学习打分的标准对照(117 靶标基准主角) https://github.com/gnina/gnina
Pafnucy 图神经网络亲和力预测 常被引用的外测模型(DUD-E 上 AUC 0.631) https://gitlab.com/chempburm/pafnucy
DOCK 3.6/3.7 物理打分对接 官方基准成绩的来源程序 https://dock.compbio.ucsf.edu/
RDKit + RF/XGBoost 2D 指纹经典 ML 偏倚探针基线(可暴露 analog bias) https://www.rdkit.org/
PLANET/DrugCLIP 等 对比学习/预训练 近年 DUD-E 榜单新入场者(见 §8.1) 各自论文仓库

§6.8 硬件需求表

任务 最低配置 推荐配置 说明
读取/特征化 ism + 指纹 8 GB 内存、CPU 4 核 16 GB、8 核 1 个靶标数据量小(万级分子)
全库(102 靶标)指纹/2D ML 32 GB 内存 64 GB + 多核并行 约 1.14M 分子 × 2048 bit 指纹
经典对接(Vina/GNINA) 8 核 CPU 多节点 CPU 集群 逐靶标并行;单靶标数小时至数天
3D 深度模型训练 1 × 16 GB GPU 1–4 × A100/4090 网格化 3D 特征内存密集
磁盘 ≥50 GB 200 GB SSD 压缩包+解压+构象中间产物

§6.9 评估指标代码

# 虚拟筛选三件套:AUC / EF1% / BEDROC(α=80.5)+ LogAUC
import numpy as np
from sklearn.metrics import roc_auc_score

def ef_at_percent(y_true, scores, pct=0.01):
    n = len(y_true); k = max(1, int(n * pct))
    order = np.argsort(-scores)
    hits = np.asarray(y_true)[order[:k]].sum()
    return hits / max(1, np.asarray(y_true).sum()) / pct   # 相对随机富集倍数

from rdkit.ML.Scoring import Scoring

def bedroc(y_true, scores, alpha=80.5):
    """BEDROC(Truchon & Bayly 2007):直接调用 RDKit 标准实现,避免手写公式出错。
    输入 scores 按"分数降序、标签在后"的元组列表。"""
    ordered = sorted(zip(scores, y_true), key=lambda t: -t[0])
    return Scoring.CalcBEDROC(ordered, 1, alpha)

def log_auc(y_true, scores):
    y = np.asarray(y_true); order = np.argsort(-scores)
    tpr = np.cumsum(y[order]) / y.sum()
    fpr = np.cumsum(1 - y[order]) / (1 - y).sum()
    mask = (fpr > 0) & (fpr <= 0.05)                       # 官方 LogAUC 取 0–5% 假阳性区间
    x, yy = np.log10(fpr[mask]), tpr[mask]
    return np.trapz(yy, x) / (np.log10(0.05) - np.log10(1e-5))

y = data["label"].values; s = clf.predict_proba(X)[:, 1]
print("AUC:", roc_auc_score(y, s), "EF1%:", ef_at_percent(y, s),
      "LogAUC:", log_auc(y, s))
print("BEDROC(80.5):", bedroc(y, s))

def nef(y_true, scores, pct=0.01):
    """NEF1%:归一化早富集(Gnina 论文口径),跨数据集可比。
    分母取 min(活性总数, 前 pct 采样数)——数据集规模差异被归一。"""
    y = np.asarray(y_true); n = len(y); k = max(1, int(n * pct))
    top = y[np.argsort(-scores)][:k].sum()
    return top / min(y.sum(), k)

print("NEF1%:", nef(y, s))

§6.10 MLOps 笔记

  • 数据版本化:以靶标包为单位纳入 DVC/LFS;记录官网下载日期与 revision(官方唯一版 2012-05-18),防止与 DUD-Z 混淆。
  • 可复现对接:受体预处理(加氢/质子化)脚本与对接程序版本一并入库;官方 receptor.pdb 与原始 PDB 的差异(坑点 8)写进 README。
  • 实验跟踪:每次评估必须记录划分方式(随机/骨架/靶标/家族)、负例来源(DUD-E 诱饵 vs AD vs LIT-PCBA)与指标族(AUC+EF1%+BEDROC)三元组——缺任何一项结果不可解释。
  • 基线看门人:CI 中固化"1D 描述符基线 + ligand-only 消融"两个哨兵实验,新模型若不超过基线即判定为偏倚拟合。
  • 静态快照意识:DUD-E 不再更新,外部验证结论应标注"基于 2012 化学空间快照",并规划 LIT-PCBA/DUD-Z 的平行评测。

建议的实验记录字段(最小元数据集,可直接落为 YAML/JSON 侧车文件):

字段 示例 为什么必须
dataset_revision dude-e-2012-05-18 区分 DUD-E 与 DUD-Z/自定义诱饵
targets [aa2ar, fa10, …] 或 “kinase-subset” 靶标口径决定可引用的文献对照
split scaffold-groupkfold-5 / family-holdout 划分方式是结果有效性的第一决定因素
negatives dude-decoys / AD / lit-pcba 负例来源决定偏倚暴露面
receptor_prep pdbfixer-7.4 + reduce 受体质子化不可复现则对接不可复现
metrics 单指标(尤其仅 AUC)一律视为不完整报告
sentinel_1d_auc 0.86 1D 哨兵成绩:衡量本靶标性质分离度
docking_engine vina-1.2.5 / gnina-1.1 / dock36 分数不可跨引擎比较

§7 质量评估与局限性

§7.1 已知偏倚表

偏倚类型 描述 严重程度 缓解措施
Analog bias(类似物偏倚) 活性物因来自同一优化序列而互相相似,与诱饵截然不同;ML 模型记忆活性簇即可得高分 高(对 ML 是致命;对经典对接影响小) 骨架划分;AD 协议;改用 LIT-PCBA
Decoy bias(诱饵偏倚) 诱饵按 1D 性质逐维匹配,描述符组合仍可分离两类(Sieg 2019);质子化枚举致电荷残余失衡(Lyu 2021) 1D 基线哨兵;DUDE-Z;电荷分层评估
靶标家族失衡 激酶 26 + 其他酶 36 vs GPCR 5 + 离子通道 2,平均指标被家族结构主导 家族分层报告
正例文献偏倚 ChEMBL 活性物偏向高亲和力、被充分研究的骨架系列 骨架聚类已部分去冗余;解释时注意外推边界
官方不匹配的 1D-3D 差距 溶解度/互变体/3D 电荷分布未匹配 统一 pH 质子化;3D 描述符审计
时间截断 2012 年 ChEMBL/ZINC 快照,不覆盖现代化学空间 低-中 结论限定在同类化学空间;用新基准补充

§7.2 标注质量

正例标签可靠:来自 ChEMBL 文献策展、附原始文献与亲和力数值,可回溯验证。负例标签为构造性推定:官方明确承认诱饵未经实验测试(FAQ 原文),但通过三重机制控制负例质量——1D 性质匹配(7 档自适应窗口)、ECFP4 拓扑去相似(剔除最相似 75%)、warhead 专项过滤(弹头残留率降至 0.2%–5.8%)与骨架分离度量化(0.086% 重叠)。这套协议使诱饵"大概率非结合",但用户必须明白这是概率性设计而非实验事实。

§7.3 泛化性评估表

场景 失效风险 证据
DUD-E 内随机划分评测 极高——成绩不代表真实能力 Chen 2019:ligand-only CNN AUC 0.98
跨靶标(同家族)泛化 高——家族骨架/口袋共享导致隐性泄漏 Walters 激酶互训实验;Chen 2019 多靶标划分分析
跨家族泛化 高——DUD-E 内部已难以证明 Chen 2019 跨家族测试性能大幅回落
迁移到 LIT-PCBA(真实负例) 高——所有方法富集大跌(Glide-SP 0.536 vs DUD-E 上领先) ColdstartCPI(Nat. Commun. 2025)对比表
前瞻筛选(湿实验) 未知——DUD-E 无法证明 Gnina 论文自认 bias 混淆 ML 真实能力评估
2D 配体方法 定义性失效——官方原文声明 inappropriate for 2-D methods 原论文:“DUD-E is inappropriate to test 2-D methods”

§7.4 伦理考量

无人类/动物受试者数据,无隐私问题。伦理相关点仅在下游:虚拟筛选结果若进入药物开发,须遵守常规临床前研究与监管规范;DUD-E 诱饵取自可购买化合物库,不涉及管制物质筛选的特别审查(使用者需自行遵守所在机构与法域的化学品合规要求)。

§7.5 公平性评估

数据集无人口学维度,公平性概念不直接适用。可类比的两点是"化学空间公平性"(激酶/GPCR 失衡使少数家族主导排名,见 §7.1)与"地域可及性"(免费开放、无需注册、无地域限制,公平性良好)。

§7.6 数据漂移

数据集为静态快照(2012),自身无漂移;“漂移"表现为基准老化——15 年间化合物库与靶标结构库大幅扩张,DUD-E 的化学空间已落后于现代筛选库;方法学环境亦漂移:深度学习评分函数的普及使 DUD-E 从"公平考卷"变为"已被破解的旧考卷”,社区基准重心正向 LIT-PCBA/DUD-Z 转移。使用者应在论文中同时报告新旧基准。

漂移维度 2012(发布时) 2026(现在) 对使用者的含义
化合物库背景 ZINC 约 2,100 万可购买分子 数十亿级按需合成空间 DUD-E 诱饵不覆盖现代超大库的极端性质分子
活性注释 ChEMBL 早期版本 ChEMBL 30+ 版 靶标活性集可增补,但与官方 22,886 口径不可混用
评估重心 对接富集(物理打分) 深度学习评分函数 + 真实负例基准 仅报 DUD-E 成绩已不足以支撑结论
官方迭代 DUD-E 为最新 DUD-Z/DUDE-Z 上线 电荷敏感的评测应迁移至 DUD-Z

应对策略:把 DUD-E 视为"历史对照锚点"(保持与 2012-2024 文献的可比性),把 LIT-PCBA/DUD-Z 作为"当前能力考卷",两者同时报告。

§7.7 DAIMS 24 项评估表

# 检查项 状态 说明
1 宽格式 每靶标平铺文件(ism/mol2/SDF),pandas/RDKit 一键加载
2 唯一标识 ChEMBL ID(活性)/ ZINC ID(诱饵)+ 靶标 Uniprot 短码,官方有去重流程
3 特殊字符 SMILES 与制表符分隔格式标准;mol2 头行含特殊标记需解析器注意
4 重复行 官方按质子化状态聚类去重;文档详细说明重复移除流程
5 缺失编码 构造数据库,结构文件与 ID 完整;亲和力经 ChEMBL 回查为设计决策
6 标签标识 active/decoy 由文件名+目录显式定义(actives_final vs decoys_final)
7 罕见类分组 ⚠️ 部分靶标活性物 <100,家族失衡(GPCR 仅 5 个),分组评估需自行设计
8 偏倚评估 ⚠️ analog/decoy bias 被多篇文献系统证实,但官方未内置偏倚审计工具
9 数据字典 官方 wiki 逐文件文档 + FAQ 完整
10 信息性缺失解释 不适用缺失场景;亲和力外链 ChEMBL 的设计有明确文档说明
11 设备记录 ⚠️ 受体制备协议部分透明(wiki 说明与 PDB 的差异),生成软件版本未完整记录
12 共线性 不适用(无自变量矩阵)
13 编码映射 ChEMBL/ZINC/Uniprot/PDB 四级 ID 全部可回溯源
14 时间戳处理 静态快照(2012-05-18 唯一修订版),无时序语义
15 划分建议 ⚠️ 官方无 train/test 划分,ML 用户必须自建(骨架/家族划分)
16 泄漏讨论 原论文讨论了性质匹配对富集的影响(24.4 vs 26.8 LogAUC),偏倚文献链完整
17 标签分布 1:50 全局比例与逐靶标计数在官方页完全公开
18 测量偏倚 ⚠️ 诱饵未实验验证(官方 FAQ 承认),负标签为构造性假设
19 外部验证建议 官方后继基准(DUD-Z/Extrema/Goldilocks)+ 社区惯例 LIT-PCBA 形成完整外验链
20 版本记录 官方 revisions 页留档(2012-05-18 Initial Release),后继版本独立站点公告
21 预处理脚本 官方提供 subset_decoys.py 等处理脚本;在线诱饵生成器开放
22 合规要求 免费开放、无需注册,唯一要求学术引用
23 多模态对齐 同一配体的 SMILES/mol2/SDF 三格式 + 受体 + 共结晶配体同包交付
24 去标识化 不适用——无人类受试者数据,无需脱敏

DAIMS 评分:21.5 / 24

评分解读:19 项 ✅、5 项 ⚠️、0 项 ❌。扣分集中在两类结构性问题上:一是数据集设计的先天偏倚(偏倚评估、测量偏倚两项——诱饵构造机制决定了 ML 场景下的标签噪声与性能虚高);二是 ML 时代的使用缺口(罕见类分组、划分建议两项——官方定位是打分函数考卷而非 ML 训练集,划分与分组需用户自建)。作为"分子对接富集基准",它接近满分;作为"深度学习训练语料",必须先完成 §6.5 的去偏改造。

对你意味着什么:(1)如果你做对接/打分函数评估——放心用官方协议,按家族分层报告 EF1%/LogAUC,结果可与十余年文献直接对比;(2)如果你训练深度学习评分函数——把 DUD-E 当"历史可比性考卷",主结果必须配 LIT-PCBA 或 DUD-Z,且必须跑骨架划分与 1D 描述符哨兵基线,否则审稿人几乎必然引用 Chen 2019 质疑;(3)如果你研究数据集偏倚本身——DUD-E 是最完整的解剖标本,官方 FAQ/wiki + 三篇批评论文构成完整证据链。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
AD(actives-as-decoys)数据集 Lehman College/CUNY + Novartis + Pittsburgh(Chen et al. 2019) CNN 活性/非活性分类 AUC 从 0.98 跌至约随机水平 配体-only CNN 与完整 CNN 成绩几乎一致,证明学到的是偏倚而非物理
1D 描述符交叉验证模型 Univ. Hamburg(Sieg et al. 2019) 仅用 DUD-E 想控制的简单描述符分类 AUC 接近完美 逐维性质匹配的组合可被简单模型破解
LIT-PCBA 15 靶标 多机构(ColdstartCPI 论文汇总,Nat. Commun. 2025) 虚拟筛选富集 AUC/EF0.5% Pafnucy 0.631→更低、Glide-SP 大跌(均值 0.536) DUD-E 成绩与真实负例场景严重脱节
DUD-E+LIT-PCBA 117 靶标 Univ. Pittsburgh(Gnina 1.0,Molecules 2021) CNN 打分 vs Vina NEF1% Gnina 于 89/117 靶标胜 Vina,EF1% 中位数约两倍 即便如此作者仍声明 bias 混淆真实能力判断
DUDE-Z 修正诱饵 UCSF(Lyu et al. 2021) 电荷匹配修正后的富集 LogAUC 修正后富集下降 证实原 DUD-E 电荷失衡导致虚假富集

§8 基准性能与生态

§8.1 DUD-E 虚拟筛选排行榜

以下数值摘自 DUD-E 上公开发表的对比实验(PETA 论文汇总表,arXiv 2608.19906;AUROC 单位 %,EF1% 单位为倍数)。注意:各行来自不同论文/对接协议/靶标口径,数值不可直接横向比较——对接姿态生成方式、是否用真实晶体 pose、靶标数量(全 102 vs 子集)都会改变结果。

排名* 模型 AUROC(%) EF1% 年份 关键技术 完整引用 代码
1 BindCLIP 80.14 6.26 2024 对比学习蛋白-配体对齐 Zhao et al., 2024(见 PETA 汇总表,arXiv 2608.19906) 论文仓库
2 DrugHash 80.05 37.28(EF0.5% 口径 47.22 BEDROC 体系) 2023 哈希检索式筛选 Wang et al., 2023(同上汇总口径) 论文仓库
3 DrugCLIP 79.29 30.52(EF5% 口径) 2023 对比学习预训练 Zhang et al., NeurIPS 2023 github.com/polixir/DrugCLIP
4 Glide-SP 76.70 7.23 2017+ 商业经验打分 Friesner et al., Glide(Schrodinger Suite) 商业软件
5 PLANET 71.60 5.40 2023 等变图网络 Gan et al., 2023(PLANET 论文) github.com/For3astGent1e/PLANET
5 AutoDock Vina 71.60 4.44 2010 经验自由能打分 Trott & Olson, J. Comput. Chem. 2010, 31, 455–461. DOI 10.1002/jcc.21334 github.com/ccsb-scripps/AutoDock-Vina
7 RF-Score 65.21 2.98 2012 随机森林距离计数势 Ballester & Mitchell, Bioinformatics 2010(RF-Score 原始文献) bitbucket.org/ABallester/
8 Pafnucy 63.11 3.76 2018 3D 图 CNN 亲和力回归 Dziubińska et al., J. Comput. Aided Mol. Des. 2018, 32, 497–510 gitlab.com/chempburm/pafnucy
9 OnionNet 59.71 2.20 2020 壳层接触 CNN Zheng et al., ACS Omega 2020(OnionNet 原始文献) github.com/zhenglz/OnionNet

* 排名仅按 PETA 汇总表 AUROC 排序,且该表为"外部模型在 DUD-E 上的统一重评口径"(多数模型以 PDBbind 训练后直接测 DUD-E);Gnina 论文的独立结论为:默认 CNN 评分在 DUD-E+LIT-PCBA 的 117 靶标中 89 个优于 Vina、EF1% 中位数约为 Vina 两倍(Sunseri & Koes, Molecules 2021, 26, 7369. DOI 10.3390/molecules26237369)。

Gnina 1.0 独立对照实验要点(同一论文口径,与上表不可直接比较):

对比项 AutoDock Vina GNINA 默认 CNN 集成 结论
117 靶标(DUD-E 102 + LIT-PCBA 15)AUROC 胜出数 89/117 CNN 打分总体占优
EF1% 中位数 基准值 约 2 倍以上 早富集差距大于 AUC 差距
与"简单描述符模型"对比 部分靶标仅小幅领先 作者自认 bias 未消,成绩解释须谨慎

§8.2 SOTA 总结与选型建议

  • 榜单整体水位:统一重评口径下,经典经验打分(Glide-SP、Vina)与对比学习新模型(DrugCLIP/BindCLIP)AUROC 差距约 3–8 个百分点;但这一"水位"本身含有 DUD-E 偏倚水分——Chen 2019 证明 ligand-only CNN 可达 0.98,说明榜单上限远未触及物理极限。
  • 选型建议:工业前瞻筛选首选 Vina/GNINA 组合(速度/精度/可解释折中)+ Glide 交叉验证;研究性方法对比必须含 Vina 基线与 1D 描述符哨兵;对比学习类模型在 DUD-E 上的优势需在 LIT-PCBA 上复验后才可采信。
  • 可信度梯度:官方 DOCK 3.6 全 102 靶标成绩(AUC/LogAUC/EF 逐靶标公开)> 统一重评汇总(PETA 表)> 各论文自报成绩(口径不一)。

§8.3 评测协议

官方协议:每靶标将全部活性物与诱饵(合并池)经对接/打分后按分数降序排列,计算 ROC 曲线及其 AUC、0–5% 假阳性区间的 LogAUC、前 1% 的富集倍数 EF。官方靶标页公开了 DOCK 3.6 在全部 102 靶标的参考成绩(如 AA2AR:AUC 83.39 / LogAUC 28.37 / EF 21.8)。社区增强协议:骨架/靶标划分(ML 训练场景)、NEF1% 归一化早富集(Gnina)、bootstrap 置信区间(Lyu 2021 强调小差异可能落在方差内)。

核心指标公式(与 §6.9 代码一一对应):

指标 定义 解读口径
AUC ROC 曲线下面积:TPR 对 FPR 全区间积分 全排名质量;对早富集不敏感,易被海量尾部诱饵稀释
LogAUC 0–5% 假阳性区间的对数轴 AUC(官方主指标) 半对数坐标放大早期差异,与官方成绩可比
EF1% (前 1% 内活性物数 / 活性物总数) ÷ 1% 相对随机富集倍数;工程采购口径
NEF1% EF1% 归一化:分母取 min(活性总数, 1% × N) 剔除靶标间活性物规模差异,可跨靶标平均
BEDROC 指数加权早富集(α=80.5 / 20) α 越大越强调最头部排名

协议要点:(1)合并池必须统一去重与质子化口径,否则分数不可比;(2)是否使用晶体 pose(而非重对接 pose)是最大的口径分歧源,引用文献数值前必须确认;(3)官方成绩基于 DOCK 3.6 特定版本与去溶剂化模型,复现需对齐版本。

数据集 关系 定位差异 链接
初代 DUD(2006) 前身 40 靶标、性质匹配缺净电荷、Tc 阈值过宽 doi.org/10.1021/jm0608356
DUDE-Z 官方后继 修正质子化/电荷失衡的预构建 3D 诱饵 dudez.docking.org
DEKOIS 2.0 同代竞品 81 靶标、聚焦诱饵保真度 dekois.com
MUV 同代竞品 17 靶标、实验验证非活性(负例更真、规模小) wikipedia/原始文献
LIT-PCBA 新一代标准 15 靶标、真实实验负例 + 类别失衡 github.com/schrodinger/lit-pcba
ZINC 上游资源 诱饵来源的可购买化合物库 zinc.docking.org
ChEMBL 上游资源 活性物与亲和力注释来源 ebi.ac.uk/chembl
PDBbind 互补资源 实验亲和力+晶体复合物(ML 评分函数主流训练源) pdbbind.org.cn

§8.5 关键论文 Top 8

  1. Mysinger MM, Carchia M, Irwin JJ, Shoichet BK. “Directory of Useful Decoys, Enhanced (DUD-E): Better Ligands and Decoys for Better Benchmarking.” J. Med. Chem. 2012, 55, 6582–6594. DOI 10.1021/jm300687e — DUD-E 本体论文:102 靶标/22,886 活性/1:50 诱饵协议与 DOCK 3.6 全靶标基准成绩。
  2. Huang N, Shoichet BK, Irwin JJ. “Benchmarking Sets for Molecular Docking.” J. Med. Chem. 2006, 49, 6789–6801. DOI 10.1021/jm0608356 — 初代 DUD,确立性质匹配诱饵范式。
  3. Chen L, Cruz A, Ramsey S, et al. “Hidden bias in the DUD-E dataset leads to misleading performance of deep learning in structure-based virtual screening.” PLOS ONE 2019, 14, e0220113. DOI 10.1371/journal.pone.0220113 — 系统证明 analog/decoy bias 使 CNN 成绩虚高(ligand-only AUC 0.98)。
  4. Sieg J, Flachsenberg F, Rarey M. “In Need of Bias Control: Evaluating Chemical Data for Machine Learning in Structure-Based Virtual Screening.” J. Chem. Inf. Model. 2019, 59, 947–961 — 证明简单 1D 描述符即可近乎完美分类 DUD-E。
  5. Sunseri J, Koes DR. “Virtual Screening with Gnina 1.0.” Molecules 2021, 26, 7369. DOI 10.3390/molecules26237369 — 深度学习打分的标准开源对照,同时坦承基准 bias 局限。
  6. Lyu J, Irwin JJ, Shoichet BK. “Property-Unmatched Decoys in Docking Benchmarks.” J. Chem. Inf. Model. 2021, 61, 699–714. DOI 10.1021/acs.jcim.0c00598 — 官方团队诊断 DUD-E 电荷失衡并发布 DUDE-Z/Extrema/Goldilocks。
  7. Wallach I, Heifets A. “Most Ligand-Based Classification Benchmarks Reward Memorization Rather than Learned Discrimination.” J. Chem. Inf. Model. 2018, 58, 916–932 — 论证配体分类基准奖励记忆的普适机制(MUV/DUD-E 均适用)。
  8. Trott O, Olson AJ. “AutoDock Vina: improving the speed and accuracy of docking with a new scoring function.” J. Comput. Chem. 2010, 31, 455–461. DOI 10.1002/jcc.21334 — DUD-E 榜单上最常用的开源基线程序。

§8.6 社区活跃度

  • 官方维护:dude.docking.org 页面持续维护(版权至 2024),提供 wiki(wiki.docking.org/index.php/DUDE)、邮件列表 decoys@docking.org、Facebook 页与在线诱饵生成器。
  • 学术热度:原始论文 Semantic Scholar 约 2,000 次引用(截至 2026-09),2024–2026 年仍有新方法论文以 DUD-E 为评测集(如 PETA、ColdstartCPI 汇总表);批评文献链(Chen/Sieg/Wallach/Lyu)使其同时是偏倚研究的活跃对象。
  • 迭代生态:DUD-Z(dudez.docking.org)承接官方迭代;LIT-PCBA 成为深度学习评分函数的新主流考卷。

§8.7 生态快照表

资源 类型 链接 推荐理由
DUD-E 官网 官方入口 dude.docking.org 下载、逐靶标基准成绩、FAQ
DUD-E 官方 wiki 官方文档 wiki.docking.org/index.php/DUDE 唯一权威的逐文件文档与 FAQ(坑点 4/6/8 的官方出处)
decoys.docking.org 官方工具 decoys.docking.org 为自有活性物生成 DUD-E 风格诱饵
DUD-Z 官方后继基准 dudez.docking.org 修正电荷偏差的升级版
ZINC 上游化合物库 zinc.docking.org 诱饵来源;大规模前瞻筛选库
ChEMBL 上游活性库 ebi.ac.uk/chembl 活性物 ID 回查亲和力与文献
GNINA 开源对接+CNN 打分 github.com/gnina/gnina DUD-E 评测的事实标准开源工具链
LIT-PCBA 下一代基准 github.com/schrodinger/lit-pcba 真实负例外验必备

(以上链接均为各资源官方主域名,Star 数不适用官网类资源,截至 2026-09 检索。)


§9 相关资源与引用

§9.1 官方资源清单

§9.2 BibTeX 引用块

@article{mysinger2012dude,
  title   = {Directory of Useful Decoys, Enhanced (DUD-E): Better Ligands and Decoys
             for Better Benchmarking},
  author  = {Mysinger, Michael M. and Carchia, Michael and Irwin, John J. and
             Shoichet, Brian K.},
  journal = {Journal of Medicinal Chemistry},
  volume  = {55},
  number  = {14},
  pages   = {6582--6594},
  year    = {2012},
  doi     = {10.1021/jm300687e},
  pmid    = {22716043}
}

@article{huang2006dud,
  title   = {Benchmarking Sets for Molecular Docking},
  author  = {Huang, Ning and Shoichet, Brian K. and Irwin, John J.},
  journal = {Journal of Medicinal Chemistry},
  volume  = {49},
  number  = {23},
  pages   = {6789--6801},
  year    = {2006},
  doi     = {10.1021/jm0608356}
}

@article{chen2019bias,
  title   = {Hidden bias in the DUD-E dataset leads to misleading performance of
             deep learning in structure-based virtual screening},
  author  = {Chen, Lieyang and Cruz, Anthony and Ramsey, Steven and Dickson,
             Callum J. and Duca, Jose S. and Hornak, Viktor and Koes, David R. and
             Kurtzman, Tom},
  journal = {PLOS ONE},
  volume  = {14},
  number  = {8},
  pages   = {e0220113},
  year    = {2019},
  doi     = {10.1371/journal.pone.0220113}
}

@article{sieg2019bias,
  title   = {In Need of Bias Control: Evaluating Chemical Data for Machine Learning
             in Structure-Based Virtual Screening},
  author  = {Sieg, Jochen and Flachsenberg, Florian and Rarey, Matthias},
  journal = {Journal of Chemical Information and Modeling},
  volume  = {59},
  pages   = {947--961},
  year    = {2019},
  doi     = {10.1021/acs.jcim.8b00712}
}

@article{sunseri2021gnina,
  title   = {Virtual Screening with Gnina 1.0},
  author  = {Sunseri, Jocelyn and Koes, David Ryan},
  journal = {Molecules},
  volume  = {26},
  number  = {23},
  pages   = {7369},
  year    = {2021},
  doi     = {10.3390/molecules26237369}
}

@article{lyu2021property,
  title   = {Property-Unmatched Decoys in Docking Benchmarks},
  author  = {Lyu, Jian and Irwin, John J. and Shoichet, Brian K.},
  journal = {Journal of Chemical Information and Modeling},
  volume  = {61},
  number  = {2},
  pages   = {699--714},
  year    = {2021},
  doi     = {10.1021/acs.jcim.0c00598}
}

§9.3 延伸阅读与教程资源

  • 官方 wiki(唯一权威的逐文件文档,坑点 4/6/8 的原始出处):wiki.docking.org/index.php/DUDE
  • DOCK 3.6 官方文档(官方基准成绩的产生环境):dock.compbio.ucsf.edu
  • GNINA 训练教程(Chen 2019 数据可得性声明中引用的官方协议):protocols.io “Train CNN model using GNINA”
  • RDKit Book(ECFP、mol2 解析与骨架提取的权威说明):rdkit.org/docs/RDKit_Book.html
  • Walters 博客 “Please Stop Fishing in the Bathtub!”(analog bias 的 t-SNE 可视化教学):patwalters.github.io
  • UCSF 大库前瞻筛选实战(Lyu et al. 2019, Nature 566, 224–229):理解 DUD-E 成绩与 1.7 亿化合物实战之间的鸿沟

§9.4 引用指南

  • 使用 DUD-E 数据本身:必须引用 Mysinger 2012(官方唯一指定引用);若使用初代 DUD 重建靶标(Dud38 子集),官方建议同时引用 Huang 2006。
  • 使用官方在线诱饵生成器产生的自定义诱饵:引用 Mysinger 2012 并注明生成日期(工具输出随化学空间变化)。
  • 批评/偏倚讨论:优先引用 Chen 2019、Sieg 2019、Lyu 2021 三篇,形成平衡的证据链。
  • 引用本 Wiki:千方病案医数集页面(URL 以实际发布页为准),注明审核日期 2026-09-05。

§10 AI 使用声明卡

§10.1 AI 模型列表

  • 主笔模型:CodeBuddy Code(fast-model),负责结构组织、文案撰写、代码示例生成与格式校验。
  • 辅助工具:WebSearch/WebFetch(事实检索与官网核验);check_md.py(交付前自动质检脚本)。

§10.2 AI 参与范围

AI 参与了本页面全部初稿生成(frontmatter、INFOBOX、§0–§10、§C JSON-LD)、代码示例编写、事实检索整理与内部一致性检查;人工审核者对全部事实性断言、数字出处与医学/药理学表述做了交叉核验与终审。

§10.3 输入来源列表

  1. Mysinger MM, Carchia M, Irwin JJ, Shoichet BK. J. Med. Chem. 2012, 55, 6582–6594. DOI 10.1021/jm300687e(PMID 22716043, PMCID PMC3405771)
  2. Huang N, Shoichet BK, Irwin JJ. J. Med. Chem. 2006, 49, 6789–6801. DOI 10.1021/jm0608356
  3. DUD-E 官方主页 dude.docking.org(规模数字、引用要求、资助号 GM71896)
  4. DUD-E 官方 FAQ dude.docking.org/faq(DUD-E vs DUD 对比表、诱饵性质与未测试声明)
  5. DUD-E 官方子集页 dude.docking.org/subsets(7 个分子集与靶标数)
  6. DUD-E 官方修订页 dude.docking.org/revisions(2012-05-18 Initial Release)
  7. DUD-E 官方靶标页 dude.docking.org/targets/aa2ar(AA2AR 统计与打包)
  8. DUD-E 官方 wiki wiki.docking.org/index.php/DUDE(逐文件文档、受体与 PDB 差异 FAQ)
  9. Chen L, et al. PLOS ONE 2019, 14, e0220113. DOI 10.1371/journal.pone.0220113
  10. Sieg J, Flachsenberg F, Rarey M. J. Chem. Inf. Model. 2019, 59, 947–961(经 Gnina 论文转引核实)
  11. Sunseri J, Koes DR. Molecules 2021, 26, 7369. DOI 10.3390/molecules26237369
  12. Lyu J, Irwin JJ, Shoichet BK. J. Chem. Inf. Model. 2021, 61, 699–714. DOI 10.1021/acs.jcim.0c00598(PMCID PMC7913603)
  13. ColdstartCPI. Nat. Commun. 2025(PMCID PMC12254244,DUD-E/LIT-PCBA 对比表)
  14. PETA. arXiv 2608.19906(DUD-E 统一重评汇总表)
  15. NIH/Schrodinger 演示 hpc.nih.gov(靶标家族计数表)与 Semantic Scholar/ResearchGate 引用快照
  16. Walters P. “Please Stop Fishing in the Bathtub!”(Practical Cheminformatics 博客,t-SNE 偏倚可视化)

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景(靶标-适应症 ICD-11/SNOMED 映射、流行病学口径) 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据集规格(102/22,886/1:50、子集表、修订史) 千方病案医学编辑部 dude.docking.org 官方页逐项比对 ✅ 已验证
§4 数据结构(目录树、DAIMS 字段字典) 千方病案医学编辑部 与官方 wiki 逐文件文档比对 ✅ 已验证
§5 划分策略与泄漏讨论 千方病案医学编辑部 对照 Chen 2019/Sieg 2019 交叉审核 ✅ 已通过
§6 代码示例与 8 个坑点 千方病案医学编辑部 逻辑审查 + 官方 FAQ/wiki 与批评论文比对 ✅ 已通过
§7 质量评估与 DAIMS 评分 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 排行榜与引用数表述 千方病案医学编辑部 与 PETA 汇总表/Gnina 论文原文及 Scholar 快照比对 ✅ 已验证
§C JSON-LD @graph 千方病案医学编辑部 Schema v3.9 字段逐项校验 ✅ 已通过

§10.5 AI 生成章节标注

以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.0–§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.7 DAIMS 评估表与评分、§8.1 排行榜汇总、§8.7 生态快照、§C JSON-LD。

§10.6 最后审核

最后一次人工审核日期:2026-09-05

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

返回 AI-Ready 数据集