MoleculeNet — 分子机器学习基准套件 AI-Ready Wikipedia | 千方病案医数集

分子 ML 的 ImageNet · 17 个子数据集 · 78 万化合物 · 849 个任务

来源 斯坦福大学 Pande Lab & Schrödinger url: https://moleculenet.org/发布时间: 2026-09-06最后更新: 2026-09-06 阅读 11

信息速览

数据集名称MoleculeNet — 分子机器学习基准套件 AI-Ready Wikipedia | 千方病案医数集
数据类型17 个子数据集,约 78.3 万化合物 / 849 个任务,SMILES + 3D 坐标,MIT(聚合层),DeepChem 一行加载,免费获取
规模78.3 万个化合物
接入方式斯坦福大学 Pande Lab & Schrödinger url: https://moleculenet.org/
AI 就绪度

数据集封面

MoleculeNet — 分子机器学习基准套件 AI-Ready Wikipedia


INFOBOX

数据集名称 MoleculeNet
英文全称 MoleculeNet: A Benchmark for Molecular Machine Learning
别名/简称 MoleculeNet、MolNet、Wu et al. 2018 Benchmark、分子界的 ImageNet
疾病分类 药物研发全链条而非单一疾病:ICD-11 1C62.Z HIV 感染(HIV 子集)/ 8A20 阿尔茨海默病(BACE 子集)/ NE60–NE6Z 药物有害效应(SIDER/ClinTox/Tox21/ToxCast 子集)
SNOMED CT 86406008 HIV infection / 26929004 Alzheimer’s disease / 62014003 Adverse reaction to drug / 371807006 Blood brain barrier structure(详见 §2.2)
数据模态 分子结构(SMILES 字符串)、3D 原子坐标(QM/PDBbind 子集)、多任务性质标签(连续值 + 二值标签 + NaN 缺失)
AI 任务类型 多任务分类、回归预测、虚拟筛选排序、分子表征预训练、QSAR 建模
样本总数 17 个子数据集 / 782,927 条化合物记录 / 849 个任务
数据大小 约 2 GB(17 个 CSV + PDBbind 结构文件;不含 PDB 原始全库)
数据格式 CSV(SMILES + 标签列)/ SDF 与 PDB(3D 坐标)/ DeepChem Dataset 对象 / PyG 图对象 / DGL 图对象
许可证 MIT(聚合层与 DeepChem 代码);子数据集沿用各自来源许可——SIDER 限非商业研究、PDBbind 学术免费且再分发受限
访问级别 开放(DeepChem 一行代码加载,无需注册申请)
DUO 标签 GRU, NPUNCU(SIDER/PDBbind 子集)
语言 英文(SMILES 为国际通用化学线性表示)
首发日期 2017-03-02(arXiv:1703.00564)/ 2018-01-03(Chemical Science 正式发表)
最后更新 2018 年随论文冻结(本体无版本迭代;DeepChem 加载器与扩展数据集持续维护)
发布机构 斯坦福大学 Pande Lab(化学/计算机/生物物理)& Schrödinger Inc.
官方主页 https://moleculenet.org/
下载地址 DeepChem dc.molnet.load_*() 自动下载(S3 镜像);PyG torch_geometric.datasets.MoleculeNet
DOI 10.1039/C7SC02664A
引用次数 4,200+(Google Scholar,截至 2026-09)
AI 就绪度评分 ⭐⭐⭐⭐⭐(5/5)— 一行代码加载 + 推荐划分/指标 + 多框架支持 + 开放获取;注意本体已冻结、部分子集存在重复与许可异质性
页面状态 published

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

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(HIV/阿尔茨海默病/药物不良效应的 ICD-11 与 SNOMED CT 映射、ADMET 与毒性预测的临床边界、金标准描述)、§7 偏倚与双用途伦理分析。

数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(SMILES 字段、NaN 缺失编码、多任务标签矩阵)、§5 scaffold/time 划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与斯坦福大学 Pande Lab、Schrödinger Inc.、DeepChem 项目无任何商业利益关联。本页面不分发任何子数据集副本,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构任何形式的资助。

医疗免责声明:本页面提供的医学与药学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案,亦不构成任何化合物的安全性结论。数据集中关于毒性、副作用与活性的描述基于公开发表的文献与公共数据库,未经逐一实验复核。任何基于该数据集训练的 AI 模型在用于候选药物决策、临床前安全性判断或监管申报前,必须经过独立的实验验证与合规审查。

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

数据使用合规:MoleculeNet 聚合层为 MIT 许可,但各子数据集沿用各自来源许可——SIDER 官方许可限制为非商业研究用途,PDBbind 学术免费但禁止再分发,ChEMBL 衍生数据受 CC BY-SA 约束。商用前请逐一核对你实际使用的子集许可。DUO 标签仅供参考,具体使用限制以各来源官方协议为准。


§1 数据集概览

§1.0 30 秒速览

MoleculeNet 是斯坦福大学 Pande Lab 与 Schrödinger 公司于 2018 年在 Chemical Science 上发表的分子机器学习基准套件。它不是一份新采集的数据,而是把当时分散在各处的 17 个公开分子数据集整理成一个统一评测场——合计约 78.3 万个化合物、849 个预测任务,从量子力学电子性质一路覆盖到溶解度、生物活性、血脑屏障通透性和临床毒性。

它的地位常被类比为"分子机器学习的 ImageNet":在它之前,每篇新算法论文都在互不相同的私有数据上刷分,谁也说不清哪个方法更好;MoleculeNet 第一次给出了统一的数据、划分(scaffold/time/stratified)与指标(ROC-AUC/PRC-AUC/RMSE/MAE),并以 DeepChem 开源库提供全部实现。论文引用已超过 4,200 次(Google Scholar,截至 2026-09),今天几乎所有分子性质预测论文的实验表里都有它的子集——BBBP、Tox21、ESOL、QM9 这些名字就是从这里成为社区通用语的。

你可以用它来:公平比较你的图神经网络/Transformer 与几十个公开基线、训练 ADMET 与毒性预测模型用于候选分子早期筛选、在 QM9 上开发量子机器学习势函数、或者作为预训练-微调范式的标准下游评测。若目标是可部署的药企级 ADMET 模型,建议同时参考其后继者 TDC(Therapeutics Data Commons)。

§1.1 摘要

MoleculeNet 由 Zhenqin Wu、Bharath Ramsundar 等 8 位作者完成(Stanford + Schrödinger),2017 年 3 月首发 arXiv、2018 年 1 月正式刊出。它按分子性质的尺度把 17 个公开数据集组织成四大类:量子力学(QM7、QM7b、QM8、QM9——DFT 计算的电子/热力学性质,含 3D 坐标)、物理化学(ESOL 溶解度、FreeSolv 水合自由能、Lipophilicity 脂溶性——湿实验测定)、生物物理(PCBA、MUV、HIV、BACE、PDBbind——高通量筛选与蛋白-配体结合亲和力)、生理学(BBBP、Tox21、ToxCast、SIDER、ClinTox——体内毒性、副作用与药代屏障)。所有数据统一为"SMILES + 标签"的 CSV 形态(QM/PDBbind 另附 3D 坐标),通过 DeepChem 的 dc.molnet.load_*() 一行加载并自动完成 80/10/10 划分。论文同时基准了 10 余种算法(从逻辑回归、随机森林到图卷积、Weave、MPNN、DTNN),核心结论至今仍然成立:可学习表征总体最优,但小数据、极端不平衡与 scaffold 外推场景下传统方法依然能赢

§1.2 战略价值分析

评测标准化维度:MoleculeNet 之前,分子 ML 处于"各自为战"的黑暗时代——Duvenaud 的图卷积指纹在 ESOL 上验证,Weave 在另一组私有测定上验证,结果互不可比。MoleculeNet 第一次把"数据集 + 划分方式 + 指标 + 参考实现"打包成完整协议,尤其是把 scaffold 划分(按 Bemis–Murcko 骨架分组,测试模型对全新化学骨架的泛化)和 PRC-AUC(应对 0.2% 阳性率的极端不平衡)写进了社区标准。此后八年,从 GROVER、Uni-Mol 到各类分子基础模型,几乎所有里程碑工作都以 MoleculeNet 子集作为下游评测的第一站。

工具生态维度:MoleculeNet 与 DeepChem 是同一批作者的一体两面——基准的每个数据集、每种特征化(ECFP、Coulomb matrix、graph convolution、weave、grid featurizer)、每种划分器都有 MIT 许可的生产级实现。这种"论文即库"的设计让入门成本从数周降到一行代码,直接孵化了 PyG 的 MoleculeNet 数据集类、DGL-LifeSci、scikit-fingerprints 等下游封装,以及 OGB(ogbg-molhiv/ogbg-molpcba 直接沿用了其中的 HIV 与 PCBA 数据)这一二代基准。

领域范式维度:MoleculeNet 是"AI 药物发现"从概念走向工程学的基础设施级事件。它给出的四点告诫——可学习表征不是万能药、小数据下树模型更稳、物理感知特征比架构选择更重要、不平衡分类下图模型假阳性失控——塑造了整个领域对"分子 ML 能做什么、不能做什么"的集体认知。2026 年回望,它既是仍被每天使用的评测场,也是 TDC、OGB、Polaris 等后继者反复引用与修正的原点。

§1.3 横向对比

基准/数据集 规模 模态 定位 与 MoleculeNet 的关系
MoleculeNet 17 子集 / 78.3 万化合物 / 849 任务 SMILES + 3D 坐标 通用分子 ML 基准(2018 冻结) 本体
OGB(ogbg-mol*) molhiv 4.1 万 / molpcba 43.8 万 分子图 确定性 scaffold 划分 + 公开 leaderboard 数据同源(HIV、PCBA),协议更严格
TDC(Therapeutics Data Commons) 22+ ADMET/DTI 任务 SMILES + 蛋白序列 面向可部署药物研发的整理标准 任务导向后继者,重叠部分 ADMET 终点
ChEMBL 240 万+ 化合物 / 2,000 万+ 活性 SMILES + 生物活性 原始生物活性数据库(季度更新) MoleculeNet 的 Lipo/活性类数据源之一,无预定义划分
PubChem BioAssay 150 万+ 测定 / 1 亿+ 结果 SMILES + 测定读数 高通量筛选原始库 PCBA/MUV/HIV 的数据源头
PDBbind 约 2 万蛋白-配体复合物(2020 版) 3D 复合物结构 结构导向结合亲和力 MoleculeNet 取其 2015 版 refined+core
QMugs / GEOM 66.5 万+ 分子构象 3D 构象系综 新一代量子/构象数据集 QM9 精神续作,覆盖更大化学空间

MoleculeNet 的不可替代性在于三点:引用密度(复现 2018 年后任何分子 ML 论文几乎绕不开它)、尺度跨度(一套协议横跨量子到生理四个层级)、零门槛(一行代码加载 + 免费)。其短板同样清晰:2018 年冻结、随机划分为主、小数据集 leaderboard 已饱和(详见 §7.3 与 §8.2)。

§1.4 版本演进时间轴

时间 事件
2004–2016 各源数据集陆续诞生:ESOL(Delaney 2004)、FreeSolv/SAMPL(Mobley)、MUV(2009)、QM9(Ramakrishnan 2014)、BBBP(Martins 2012)、Tox21 挑战赛(2014)、BACE(Subramanian 2016)、ClinTox(Gayvert 2016)
2017-03-02 arXiv:1703.00564 首发(MoleculeNet v1 预印本)
2017-12 社区报告 Tox21 重复与标签不一致问题(deepchem issue #967),作者承诺排查重复与盐形式
2018-01-03 Chemical Science 正式发表(9(2):513-530,DOI: 10.1039/C7SC02664A),17 数据集 + 完整基准结果定型
2018-2019 DeepChem molnet 模块成为标准入口;PyG、DGL-LifeSci 相继封装 MoleculeNet 加载器
2019-2020 D-MPNN/Chemprop(Yang 2019)、AttentiveFP(Xiong 2019)、GROVER(Rong 2020)等在 MoleculeNet 上确立消息传递与预训练范式
2020-05 OGB 发布(Hu et al. NeurIPS 2020),ogbg-molhiv/ogbg-molpcba 沿用 MoleculeNet 数据但提供确定性 scaffold 划分
2021 deepchem/moleculenet leaderboard 仓库停止更新;社区转向论文自带 leaderboard
2022 TDC 发布(Huang et al. Nature Chemical Biology),面向部署的 ADMET 后继基准
2022-2023 Uni-Mol(ICLR 2023)、GEM 等 3D 预训练模型刷新多数子集纪录
2023-2026 MoleculeNet 作为"经典基准层"持续被分子基础模型论文引用;DeepChem molnet 扩展至 30+ 数据集(材料、成像、反应类)

§1.5 典型 AI 应用场景

  1. 分子性质预测架构评测:新 GNN/Transformer 论文在 BBBP、BACE、ClinTox、Tox21、SIDER、ESOL、FreeSolv、Lipo 等标准子集上与 D-MPNN、GROVER、Uni-Mol 等基线对比——这是 MoleculeNet 的第一用途。
  2. ADMET 与毒性早期筛选:用 Tox21/ToxCast/SIDER/ClinTox 训练毒性多任务模型,用于候选分子临床前淘汰(注意标签噪声与不平衡,见 §6.5 坑点 2/4)。
  3. 虚拟筛选与活性预测:HIV、BACE、PCBA、MUV 提供从单靶点到 128 测定的分类任务,MUV 专为无偏虚拟筛选验证设计。
  4. 量子机器学习:QM7-QM9 提供 13.4 万分子的高精度 DFT 性质,是开发与评测机器学习势函数(DTNN、SchNet、ANI 类)的经典数据。
  5. 分子表征预训练的标准下游:GROVER、Uni-Mol、MolCLR 等自监督预训练模型几乎无一例外地以 MoleculeNet 子集作为下游微调评测协议。

§2 医学背景

§2.1 ICD-11 疾病分类锚定

MoleculeNet 面向药物研发全链条而非单一疾病。其生理学/生物物理子集可锚定到以下 ICD-11 临床领域:

子数据集 临床/药学领域 ICD-11 对应 在套件中的角色
HIV HIV 抗病毒药物筛选 1C62.Z 人类免疫缺陷病毒感染,未特指 41,127 个化合物的 HIV 复制抑制筛选
BACE 阿尔茨海默病治疗靶点(BACE-1) 8A20 阿尔茨海默病 1,513 个化合物的 BACE-1 抑制活性
SIDER 药品上市后不良反应 NE60–NE6Z 药物或药剂的有害效应 1,427 个上市药物的 27 类系统器官副作用
ClinTox 临床试验失败(毒性原因) NE60–NE6Z 药物有害效应 1,478 个化合物的临床毒性 + FDA 审批结局
Tox21 / ToxCast 化学物质毒理学筛查 NE60–NE6Z + 中毒相关类目 核受体/应激通路体外毒性谱(12 + 617 终点)
BBBP 中枢神经系统药物递送 无疾病编码(药代屏障性质) 2,039 个化合物血脑屏障通透性
ESOL / FreeSolv / Lipo 药剂学前置性质(ADME 之 A) 无疾病编码(物理化学性质) 溶解度、水合自由能、logD
QM7–QM9 / PCBA / MUV / PDBbind 计算化学与筛选基础科学 无疾病编码 电子性质、结合亲和力、筛选基准

为什么"无疾病编码"的子集仍然是医药资产:药物研发的漏斗模型中,90% 以上的淘汰发生在进入临床试验之前——溶解度差、透不过血脑屏障、CYP 抑制、肝毒性,这些失败原因对应的正是 ESOL/BBBP/Tox 系列所建模的终点。MoleculeNet 把"临床前失败原因"系统性地变成了可监督学习的标签,这是它对医药 AI 最根本的贡献方式。

§2.2 SNOMED CT 映射

临床/药学场景 对应子集 ICD-11 SNOMED CT SNOMED CT 术语
HIV 感染治疗 HIV 1C62.Z 86406008 Human immunodeficiency virus infection (disorder)
阿尔茨海默病 BACE 8A20 26929004 Alzheimer’s disease (disorder)
药物不良反应 SIDER / ClinTox NE60 62014003 Adverse reaction to drug (disorder)
肝毒性 Tox21/ToxCast(部分终点) NE61 197352009 Toxic hepatitis (disorder)
心脏毒性(hERG 等相关通路) ToxCast NE61 698247007 Cardiotoxicity (disorder)
血脑屏障 BBBP 371807006 Blood brain barrier structure (body structure)
高通量药物筛选 PCBA / MUV / HIV 399208008 High throughput screening (procedure)

§2.3 领域简介

药物研发是人类最昂贵的科学工程之一:一款新药从靶点发现到上市平均耗资逾 20 亿美元、耗时 10 年以上,而进入 I 期临床的候选物最终获批率仅约 10%。失败原因高度集中在两类——疗效不足不可接受的毒性/药代性质。MoleculeNet 的生理学五件套(BBBP、Tox21、ToxCast、SIDER、ClinTox)正是针对第二类失败:如果能在分子画出来的第一天就预测其临床毒性概率,就能在合成之前淘汰最危险的候选物。这一愿景同时服务 3R 原则(Replacement、Reduction、Refinement——替代、减少、优化动物实验),Tox21 与 ToxCast 本身就是美国 NIH/EPA 为减少动物实验而建立的国家级高通量筛选计划。与此同时,QM 系列把昂贵的量子化学计算变成可插值的机器学习问题,生物物理系列把高通量筛选变成虚拟筛选基准——四个层级合起来,构成了"用计算替代湿实验"的完整梯度。

§2.4 临床/药学任务定义

AI 任务 药学定义 标准参考 在 MoleculeNet 中的操作化
虚拟筛选(活性分类) 预测化合物对靶点的抑制活性 HTS 测定读数 HIV/PCBA/MUV/BACE 二值标签(scaffold 或 random 划分)
ADMET 性质预测 吸收/分布/代谢/排泄/毒性终点 湿实验测定值 ESOL(logS)、Lipo(logD@pH7.4)、BBBP(通透/不通透)
毒性预测 体外通路毒性 + 临床毒性结局 Tox21 挑战赛 / SIDER 说明书 / 临床审批记录 Tox21(12 任务)、ToxCast(617 任务)、SIDER(27 任务)、ClinTox(2 任务)
结合亲和力回归 蛋白-配体结合自由能(pKd/pKi) PDBbind 实验亲和力 PDBbind 单任务回归(time 划分,RMSE)
量子性质回归 原子化能、HOMO/LUMO、偶极矩等 DFT 计算(B3LYP/PBE0/TDDFT) QM7/QM7b/QM8/QM9 多任务回归(MAE)
水合自由能回归 溶剂化自由能 FreeSolv 实验值 + SAMPL 盲测 FreeSolv 单任务回归(RMSE)

§2.5 化合物人群特征(替代患者人群表)

维度 特征
数据来源 全球公共库聚合:PubChem/ChEMBL(生物活性)、GDB-13/GDB-17(枚举化学空间 + DFT)、PDB(复合物结构)、SIDER 药品说明书、NCI DTP、EPA/NIH Tox 计划、Merck(BACE)
采集时间 源数据跨度约 1982(PDBbind 最早复合物)–2016(BACE);MoleculeNet 聚合快照为 2017–2018
规模 782,927 条化合物记录(DeepChem 加载器口径合计);任务数 849
化学空间 以类药小分子为主:C/N/O/S/F 主导;QM 系列限 ≤9 个重原子;金属配合物、大环、核苷酸、多肽基本缺失
分子量分布 QM 系列 <200 Da;物化/生物物理/生理系列集中在 150–600 Da 类药区间
标签完整性 QM/物化/BBBP/BACE/SIDER/ClinTox 标签完整;Tox21/ToxCast/PCBA/MUV 存在系统性 NaN(未测定 ≠ 阴性)
阳性率 从 HIV 约 3.5%、BBBP 约 78%、ClinTox 约 91%(获批)到 MUV 0.20%、PCBA 约 1.4%,横跨四个数量级

§2.6 金标准/参考标准

数据类别 标签产生方式 产生者 金标准性质
QM7/QM7b/QM8/QM9 第一性原理 DFT 计算(PBE0/tier2;B3LYP/6-31G(2df,p);TDDFT/CC2) Quantum-Machine 团队(von Lilienfeld 等),Gaussian 09 确定性计算值,接近无噪声;但与真实实验存在 DFT 方法学系统误差
ESOL / FreeSolv / Lipo 湿实验测定(溶解度、水合自由能、摇瓶法 logD) Delaney 2004 / Mobley & Guthrie / ChEMBL 整理 实验金标准,批间误差约 0.5–1 个 log 单位
PCBA / MUV / HIV 高通量筛选(HTS/qHTS)浓度响应曲线归类 NIH PubChem / NCI DTP 筛选级标签,存在测定噪声、自发荧光干扰与命中率偏差
BACE Merck 定量 BACE-1 抑制测定(>20,000 化合物中精选 1,513 个) Subramanian et al. 2016(Merck) 药企级单实验室测定,质量高于公共 HTS
PDBbind X 射线晶体学复合物 + 文献实验亲和力(Kd/Ki/IC50) PDBbind 团队(王任小实验室) 结构金标准;IC50 混合来源需注意口径
BBBP 文献整理的体内/体外通透性标签 Martins et al. 2012 文献汇总标签,测量口径异质
SIDER 药品说明书(监管文件)副作用文本结构化 SIDER 4.1(EMBL-EBI 生态) 上市后药物警戒汇总,存在报告偏倚
ClinTox 临床试验结局 + FDA 审批状态聚合 Gayvert et al. 2016(Cell) 真实世界结局标签,但失败归因不纯(毒性 vs 疗效混杂)

§3 数据集规格

§3.0 版本抉择矩阵

MoleculeNet 本体在 2018 年冻结,但"用 MoleculeNet"在 2026 年有四条不同路径。30 秒选型:

你的需求 推荐路径 大小 理由
复现分子 ML 论文 / 与文献数字对比 DeepChem dc.molnet.load_* 约 2 GB 与 4,200+ 引用论文同源同口径;featurizer + splitter + transformer 全自动
图神经网络研究(PyG/DGL 生态) PyG MoleculeNet / DGL-LifeSci 按需下载 原生图对象、确定性处理管线;PyG 覆盖 12 个非 QM 子集,DGL 覆盖 11 个
与公开 leaderboard 严格可比 OGB(ogbg-molhiv / ogbg-molpcba) 同 HIV/PCBA 确定性 scaffold 划分 + 官方评测脚本,杜绝"自选种子刷分"
药企级 ADMET / 可部署模型 TDC(Therapeutics Data Commons) 22+ 任务 任务导向整理、更新维护、含 DDI/DTI;MoleculeNet 仅作基线参照
量子 ML / 构象研究 QM9 原始发布(figshare)+ QMugs 数百 MB 起 需要 3D 坐标与原始 xyz 时绕过 CSV 抽象层,直接用原始文件

一句话结论:做论文对比 → DeepChem/PyG 加载 MoleculeNet;要公开排名 → OGB;要落地 ADMET → TDC;要 3D 原始数据 → 源站下载。

MoleculeNet vs 后继基准关键差异速查

维度 MoleculeNet(2018) OGB-mol(2020) TDC(2022)
数据新鲜度 冻结于 2018 沿用 MoleculeNet 部分数据 持续维护更新
划分 推荐方式(多 random) 确定性 scaffold(公开) scaffold + 确定性种子
覆盖任务 4 大类 17 子集 849 任务 图学习通用(分子仅 3 个子集) 22+ ADMET/DTI/HTS 任务
Leaderboard 无官方持续榜 官方公开榜 官方公开榜
加载方式 DeepChem/PyG/DGL/skfp ogb 包 PyTDC 包
适用阶段 方法学对比、教学 图方法排名 药物研发落地

§3.1 模态详细说明

MoleculeNet 以 SMILES 字符串为统一分子表征,围绕它派生出多种机器可消费模态:

  1. SMILES + 标签(全部 17 子集):每行一个化合物的 CSV。SMILES 经 RDKit 可解析为分子图(原子节点 + 化学键边),或直接哈希为 ECFP 指纹。注意各子集 SMILES 规范化程度不一——Tox21 剥离了盐、部分子集保留立体化学标记(详见 §6.5 坑点 3)。
  2. 3D 原子坐标(QM7/QM7b/QM8/QM9/PDBbind):xyz 格式原子坐标(QM 系列为 DFT 优化几何,PDBbind 为晶体结构),供 DTNN/SchNet/MPNN/grid featurizer 等物理感知模型使用。QM 系列另含 Coulomb matrix 特征。
  3. 多任务标签矩阵:分类子集为 0/1 二值 + NaN(未测定),回归子集为连续值。任务数从 1(HIV)到 617(ToxCast)不等。

§3.2 样本量拆分(17 个子数据集完整清单)

A. 量子力学(QM,DFT 计算性质)

数据集 化合物数 任务数 任务类型 推荐划分 推荐指标 来源
QM7 7,160 1 回归(原子化能) stratified MAE GDB-13,PBE0/tier2 DFT,含 3D + Coulomb matrix
QM7b 7,211 14(DeepChem 加载 13 个连续属性列) 回归 random MAE QM7 多任务扩展(Montavon 2013)
QM8 21,786 12 回归(电子光谱/激发能) random MAE GDB-17 ≤8 重原子,TDDFT/CC2 × 3 方法 × 4 性质
QM9 133,885 12 回归(几何/能量/电子/热力学) random MAE GDB-17 ≤9 重原子,B3LYP/6-31G(2df,p);3,054 个 uncharacterized 分子惯例剔除后为 130,831

B. 物理化学(实验测定宏观性质)

数据集 化合物数 任务数 任务类型 推荐划分 推荐指标 来源
ESOL 1,128 1 回归(log 溶解度) random RMSE Delaney 2004
FreeSolv 643(论文口径 642) 1 回归(水合自由能 kcal/mol) random RMSE Free Solvation Database + SAMPL
Lipophilicity 4,200 1 回归(logD @ pH 7.4) random RMSE ChEMBL 整理

C. 生物物理(分子-生物系统相互作用)

数据集 化合物数 任务数 任务类型 推荐划分 推荐指标 来源
PCBA 437,929 128 分类 random PRC-AUC PubChem BioAssay 128 个测定,阳性率约 1.4%
MUV 93,087 17 分类 random PRC-AUC Maximum Unbiased Validation,阳性率 0.20%
HIV 41,127 1 分类 scaffold ROC-AUC NCI DTP AIDS Antiviral Screen,CI/CA/CM 三档合并
PDBbind 11,908 1 回归(结合亲和力) time RMSE PDBbind 2015 refined + core,含复合物 3D 结构
BACE 1,513 1 分类 scaffold ROC-AUC Merck BACE-1 抑制测定(Subramanian 2016)

D. 生理学(体内效应与毒性)

数据集 化合物数 任务数 任务类型 推荐划分 推荐指标 来源
BBBP 2,039 1 分类(通透/不通透) scaffold ROC-AUC Martins et al. 2012
Tox21 7,831 12 分类(核受体 + 应激通路) random(OGB 用 scaffold) ROC-AUC NIH/EPA Tox21 挑战赛,约 30% 标签缺失
ToxCast 8,575 617 分类(体外毒性谱) random ROC-AUC EPA ToxCast,标签大面积缺失
SIDER 1,427 27 分类(系统器官副作用) random ROC-AUC SIDER 4.1 药品说明书
ClinTox 1,478 2 分类(CT_TOX + FDA_APPROVED) random ROC-AUC Gayvert et al. 2016 临床结局聚合

合计 782,927 条记录、849 个任务(DeepChem 加载器口径;论文 Table 1 在 QM7/QM7b/FreeSolv/BBBP/Tox21/ToxCast/ClinTox 的个位数上有 ±1–40 的口径差异,正文统一采用加载器数字)。

§3.3 数据格式详情

形态 格式 说明
原始 CSV .csv(部分 .gz) 每子集一个文件,SMILES 列 + 1–617 个标签列;DeepChem 首次调用时从 AWS S3 下载并缓存于 ~/DeepChem_datasets 或指定 data_dir
DeepChem 对象 DiskDataset / NumpyDataset dc.molnet.load_*() 返回 (tasks, datasets, transformers),含特征化、划分与变换后产物
PyG 图对象 Data(x, edge_index, edge_attr, y) torch_geometric.datasets.MoleculeNet,NaN 保留在 y 中
DGL 图对象 DGLGraph + label tensor DGL-LifeSci 各 *Dataset 类,含 task_pos_weights 处理不平衡
3D 结构 xyz / SDF / PDB QM 系列坐标 + PDBbind 复合物结构;grid featurizer 专用
社区镜像 HuggingFace Datasets(zpn/* 等) 部分子集(lipo 等)含 SMILES + SELFIES 双表示与预置 scaffold 划分

§3.4 存储大小

内容 大小 备注
17 个 CSV 合计 约 200 MB–2 GB PCBA(43.8 万行 × 128 列)为最大单文件
特征化缓存 1–10 GB ECFP 1024/2048 位指纹化后显著膨胀;GraphConv 对象更大
PDBbind 结构文件 约 1.5 GB 蛋白 + 配体 PDB 文件
建议预留磁盘 20 GB 含缓存与多 featurizer 并存场景

§3.5 标注方式

MoleculeNet 自身不做标注,其标签体系继承自来源数据集,分四类:

  1. 计算标签(QM 系列):DFT 单点/几何优化计算——确定性、可复现,但携带方法学系统误差(B3LYP 色散描述不足等)。
  2. 实验测定标签(ESOL/FreeSolv/Lipo/PDBbind/BBBP):湿实验测定值的文献整理——接近金标准,存在批间与实验室间差异(logS 测定误差约 0.5–1 log 单位)。
  3. 筛选归类标签(PCBA/MUV/HIV/BACE/Tox21/ToxCast):HTS 浓度响应或单点读数按阈值二值化——高通量但噪声显著(假阳性来源:自发荧光、聚集、细胞毒性串扰)。
  4. 结局聚合标签(SIDER/ClinTox):药品说明书文本结构化与临床审批状态汇总——真实世界但归因不纯。

§3.6 标注者资质

无传统人工标注者。计算标签由 DFT 软件(Gaussian 09 等)产生;实验标签由原始文献作者实验室测定;筛选标签由 NIH/EPA/NCI/Merck 的自动化 HTS 平台产生;SIDER 由 EMBL-EBI 生态团队对监管文件做文本挖掘整理。MoleculeNet 作者的贡献是策展与协议设计:统一 SMILES 表示、清洗(盐剥离、RDKit 可解析性过滤)、规定划分与指标。

§3.7 数据采集时间范围

各源数据集采集跨度约 1982(PDBbind 最早晶体结构)至 2016(BACE);MoleculeNet 聚合快照为 2017–2018 年,此后未随源库更新——ChEMBL、PubChem、PDBbind、SIDER 后续版本的新增数据均不在其内。

§3.8 地理覆盖

化学空间维度无地理概念;来源机构以美国(NIH、EPA、NCI、Merck、Stanford)与欧洲(EMBL-EBI ChEMBL/SIDER、苏黎世 GDB)为主。类药化学空间的覆盖偏差详见 §7.1。

§3.9 采集设备与计算规格

子集 产生方式 规格
QM7/QM7b DFT PBE0 杂化泛函 + tier2 数值基组(FHI-aims 生态)
QM8 TDDFT / CC2 3 种方法 × 4 种激发态性质
QM9 DFT Gaussian 09,B3LYP/6-31G(2df,p),PM7 预优化(MOPAC)+ 严格收敛
Tox21 qHTS 机器人平台 NIH NCATS 自动化筛选,12 个测定(NR-AR、SR-p53 等)
PCBA/MUV/HIV HTS PubChem BioAssay 多测定平台
PDBbind X 射线晶体学 PDB 条目分辨率筛选 + 文献亲和力

§3.10 深度溯源链

环节 系统/方法 关键转换
1. 原始产生 DFT 计算 / 湿实验 / HTS 平台 / 监管文件 各源数据集独立产生(2004–2016)
2. 源库归档 PubChem、ChEMBL、PDB、GDB、SIDER、NCI DTP 公共数据库长期归档,持续更新(MoleculeNet 取其历史快照)
3. MoleculeNet 策展 Wu/Ramsundar 等(Stanford + Schrödinger) RDKit 可解析性过滤、盐剥离、标签整流(如 HIV 三档并二值)、统一 CSV
4. 协议定义 MoleculeNet 论文 四大类组织、推荐划分(random/scaffold/stratified/time)、推荐指标(MAE/RMSE/ROC-AUC/PRC-AUC)
5. 工具分发 DeepChem molnet 模块(S3 镜像) 一行加载;PyG/DGL-LifeSci/skfp 二次封装;HuggingFace 镜像
6. 后继基准 OGB(2020)/ TDC(2022)/ Polaris 数据同源或任务延续,协议更严格

§4 数据结构详解

§4.0 目录结构预览

以 DeepChem 加载(默认缓存目录)为例:

~/DeepChem_datasets/
├── delaney-processed.csv           # ESOL 1,128 行:Compound ID, ESOL predicted log solubility, ..., smiles
├── SAMPL.csv                       # FreeSolv 643 行:iupac, smiles, expt(实验值), calc(计算值)
├── Lipophilicity.csv               # Lipo 4,200 行:CMPD_CHEMBLID, exp(logD), smiles
├── qm7.csv / qm7b.csv              # QM7/QM7b:SMILES + 属性列(qm7 另附 .mat Coulomb matrix 与坐标)
├── qm8.csv                         # QM8 21,786 行:smiles + 12 个光谱属性列
├── qm9.csv                         # QM9 133,885 行:smiles + 12 个属性列(mol_id, A, B, C, mu, alpha, homo, lumo, gap, r2, zpve, u0...)
├── pcba.csv.gz                     # PCBA 437,929 行:PCBA-1 ~ PCBA-128 + smiles(最大单文件)
├── muv.csv.gz                      # MUV 93,087 行:MUV-466 ~ MUV-859 共 17 任务 + smiles
├── hiv.csv                         # HIV 41,127 行:smiles, HIV_active(0/1)
├── bace.csv                        # BACE 1,513 行:mol, CID, class(0/1), Model, pIC50, smiles
├── pdbbind/                        # 结构目录:复合物 PDB 文件 + 亲和力表(core/refined/full)
├── bbbp.csv                        # BBBP 2,039 行:num, name, p_np(1=通透), smiles
├── tox21.csv.gz                    # Tox21 7,831 行:NR-AR ... SR-p53 共 12 列(含空值)+ smiles + mol_id
├── toxcast_data.csv.gz             # ToxCast 8,575 行:617 个测定列(大面积空值)+ smiles
├── sider.csv                       # SIDER 1,427 行:27 个 SOC 副作用列 + smiles
└── clintox.csv                     # ClinTox 1,478 行:FDA_APPROVED, CT_TOX + smiles

§4.1 DAIMS 标准化字段描述表

通用字段(17 子集共有)

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
smiles TEXT 化合物 SMILES 线性表示 “CCOc1ccc2nc(S(N)(=O)=O)sc2c1” 分子解析/特征化之根 规范化程度不一;盐形式被剥离 不允许缺失 合法 SMILES
任务标签列(分类) FLOAT 二值活性/毒性标签 1.0 监督信号 HTS 噪声、阈值化信息损失 空值/NaN = 未测定(绝非阴性) 0.0 / 1.0 / NaN
任务标签列(回归) FLOAT 连续性质值 -2.11(logS) 监督信号 实验批间误差或 DFT 系统误差 个别缺失 因任务而异
mol_id / 名称列 TEXT 来源 ID 或化合物名 “PCBA-1030” / IUPAC 名 溯源 命名异质 部分子集缺失 自由文本

代表子集:tox21.csv(12 任务分类)

字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
NR-AR FLOAT 雄激素受体活性 0.0 核受体毒性任务 qHTS 阈值化 NaN = 该分子未测此测定 0/1/NaN
NR-ER / NR-Aromatase / NR-PPAR-gamma / NR-AhR / NR-AR-LBD / NR-ER-LBD FLOAT 其余核受体任务 1.0 多任务学习 同上 NaN 0/1/NaN
SR-ARE / SR-ATAD5 / SR-HSE / SR-MMP / SR-p53 FLOAT 应激通路任务 0.0 多任务学习 同上 NaN 0/1/NaN
smiles TEXT 盐已剥离的 SMILES 见上 特征化 与原始挑战赛文件存在盐/水合物差异 不允许缺失 合法 SMILES

代表子集:qm9.csv(12 任务回归)

字段名 数据类型 说明 示例值 AI 用途 观测误差 取值范围
mu FLOAT 偶极矩(Debye) 2.31 QM 回归任务 DFT 方法学误差 ≥0
alpha FLOAT 极化率(Bohr³) 68.2 QM 回归 同上 >0
homo / lumo / gap FLOAT 轨道本征值与能隙(Hartree) -0.235 电子性质 同上 实数
u0 / u298 / h298 / g298 FLOAT 内能/焓/自由能(Hartree) -267.31 热力学性质 同上 实数
cv FLOAT 恒容热容(cal/(mol·K)) 28.5 热力学性质 同上 >0
r2 / zpve / A / B / C FLOAT 电子空间范围/零点能/转动常数 几何与振动性质 同上 实数

§4.2 标签分布统计

子集 阳性率/分布 说明
BBBP 约 78% 通透(p_np=1) 偏多数类;scaffold 划分下类别比例漂移
ClinTox FDA_APPROVED 约 91% 阳性;CT_TOX 约 8% 阳性 两任务方向相反,注意别把"获批"当"无毒"
HIV 活性约 3.5%(1,443/41,127) 中低不平衡
SIDER 27 任务阳性率约 10%–60% 不等 任务间差异大
Tox21 各任务阳性率约 3%–15% 另有约 30% 标签缺失
ToxCast 617 任务中大量任务阳性率 <1% 长尾任务建议合并或剔除
PCBA 各测定阳性率约 0.05%–5%(均值约 1.4%) PRC-AUC 必需
MUV 阳性率 0.20% 全套件最极端不平衡
ESOL logS 范围约 -11.6 ~ 1.6,近似正态 stratified 无必要,random 即可
QM9 u0 范围约 -2,700 ~ -50 Hartree 随重原子数强相关,注意归一化

§4.3 关键字段描述性统计

  • 总记录 782,927 条;PCBA + MUV + QM9 三个大子集贡献约 85%。
  • SMILES 平均长度约 30–60 字符;QM 系列 ≤9 重原子(平均分子量 <150 Da)。
  • Tox21 每分子平均实测标签约 8–9 个(12 个任务中);ToxCast 每分子平均实测任务仅数十个(617 中)。
  • SIDER 27 个 SOC 类目共 1,427 个上市药物,平均每药 5–6 个副作用标签。
  • PDBbind 亲和力以 -log(Kd/Ki) 表示,范围约 2–12(pKd/pKi),core 子集约 200 个复合物。

§4.4 数据层级关系

MoleculeNet(17 子集,849 任务)
├─ 量子力学(QM7 / QM7b / QM8 / QM9)
│   └─ 记录 = 分子(SMILES + 3D 坐标 + Coulomb matrix)→ 标签 = DFT 性质向量
├─ 物理化学(ESOL / FreeSolv / Lipophilicity)
│   └─ 记录 = 分子(SMILES)→ 标签 = 单个实验测定值
├─ 生物物理(PCBA / MUV / HIV / BACE / PDBbind)
│   └─ 记录 = 分子(SMILES;PDBbind 为分子-蛋白对 + 3D)→ 标签 = 测定活性
└─ 生理学(BBBP / Tox21 / ToxCast / SIDER / ClinTox)
    └─ 记录 = 分子(SMILES)→ 标签 = 体内/临床终点向量
  • 高频踩坑:同一 SMILES 可在多个子集中出现(跨子集无唯一 ID);多任务子集中同一行的各标签列是独立测定,缺失模式互不相同——多任务训练的 loss 必须按列掩蔽。
  • DeepChem 数据对象模型:Dataset.X(特征)、Dataset.y(标签矩阵)、Dataset.w(权重,未测定位置为 0)、Dataset.ids(SMILES)。w=0 是处理 NaN 的正解(见 §6.5 坑点 2)。

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

缺失类型 涉及子集 缺失原因 信息性缺失编码 对 AI 的影响
未测定(MNAR_screen) Tox21 / ToxCast / PCBA / MUV HTS 资源有限,非全矩阵测定 NaN = 未测,w=0;绝不等同阴性 若 impute 为 0,人为制造大量"假阴性",与原始挑战赛协议不可比
解析失败剔除 全部(少量) RDKit 无法解析/盐形式剥离 该 SMILES 不出现在 CSV 与源库行数对不上属预期
几何优化失败 QM9 3,054 个分子重排(uncharacterized) 原 xyz 中带 * 标记 惯例剔除后 130,831;混用两口径导致论文不可比
无 3D 坐标 QM 与 PDBbind 以外全部 性质与构象无关或未测定 无坐标文件 3D 模型需自行 RDKit/MMFF 生成构象(引入新噪声)
标签归因不纯 ClinTox 临床失败 ≠ 全因毒性 CT_TOX 为聚合结局 当作"纯毒性金标准"使用会高估模型临床价值

§5 数据划分与使用建议

§5.1 官方数据划分

MoleculeNet 不提供固定的 train/valid/test 划分文件,而是为每个子集推荐划分方式(见 §3.2 表),统一按 80/10/10 执行。四种划分器均在 DeepChem 中实现:

划分器 机制 推荐用于 目的
random 随机分配 QM7b/QM8/QM9、ESOL/FreeSolv/Lipo、PCBA/MUV、Tox21/ToxCast/SIDER/ClinTox 基线对比(注意泄漏风险,§5.3)
scaffold 按 Bemis–Murcko 骨架分组,整套骨架落在同一侧 HIV/BACE/BBBP(论文推荐);OGB 全部分子任务 模拟"全新化学系列"的真实发现场景
stratified 按回归标签分箱分层 QM7 保证各子集覆盖完整标签值域
time 按 PDB 发布年份切分 PDBbind 模拟真实研发中的前瞻预测

需要与公开 leaderboard 严格可比时,请使用 OGB 的确定性 scaffold 划分(ogbg-molhiv/ogbg-molpcba,数据与 MoleculeNet 同源)——它消除了"自选随机种子"这一刷分漏洞。

§5.2 推荐划分策略

  1. 论文对比场景:遵循论文推荐划分(§3.2)+ 报 3 个随机种子的均值±标准差(原论文协议)。小数据集(<3,000)建议 5–10 个种子。
  2. 真实研发模拟场景:一律 scaffold split(即使官方推荐 random);更严格可用 Butina 聚类划分或时间划分。
  3. 不平衡子集(PCBA/MUV/ToxCast):scaffold + PRC-AUC;必要时按任务过滤"阳性数 <30"的长尾任务。
  4. 预训练评测场景:报 scaffold 与 random 双口径,并声明预训练语料与测试集的去重策略(见 §5.3 第 4 条)。
  5. QM9 惯例:剔除 3,054 个 uncharacterized 分子(剩 130,831),训练/验证/测试常用 110k/10k/13k 或 100k/18k/13k 等非官方口径——引用数字前务必核对对方的剔除与划分口径。
import deepchem as dc

# 标准做法:一行加载并完成 80/10/10 scaffold 划分
tasks, datasets, transformers = dc.molnet.load_bbbp(
    featurizer="ECFP", splitter="scaffold", reload=False
)
train, valid, test = datasets
print(tasks, len(train), len(valid), len(test))

# 手动 scaffold 划分(自定义数据集时)
from rdkit import Chem
splitter = dc.splits.ScaffoldSplitter()
tr, va, te = splitter.train_valid_test_split(dataset, frac_train=0.8, frac_valid=0.1, frac_test=0.1)

§5.3 数据泄漏风险防御

  1. 同系物泄漏(最大风险):random split 下,同一化学系列的类似物(仅差一个甲基/卤素)同时出现在训练与测试集,ROC-AUC 虚高 5–15 个百分点。防御:scaffold split;额外报告 Tanimoto 相似度分层性能。
  2. 盐/水合物重复:同一活性成分的盐酸盐、钠盐、游离碱可能作为多行存在(Tox21 已报告,issue #967)。防御:RDKit SaltRemover + 去重;跨子集核对(同一分子可能同时存在于 BACE 与 BBBP)。
  3. 多任务标签泄漏:某些任务高度相关(如 Tox21 的 NR-AR 与 NR-AR-LBD 同一通路;ClinTox 的 CT_TOX 与 FDA_APPROVED 逻辑互斥)。把高相关任务之一作特征会泄漏。
  4. 预训练语料污染:在 ZINC/ChEMBL/PubChem 全库上自监督预训练的模型,其预训练语料几乎必然包含 MoleculeNet 测试分子。防御:预训练前按 InChIKey/scaffold 对测试集去重,并在论文中声明。
  5. 构象泄漏(3D 任务):自行用 RDKit 生成构象时若先对全库做构象搜索再划分,同分子的多个构象可能跨侧。先划分 SMILES,再生成构象。

§5.4 交叉验证建议

小数据集(ESOL/FreeSolv/BBBP/BACE/SIDER/ClinTox,均 <5,000 条)上单一 80/10/10 划分的测试集仅百余样本,AUC 置信区间极宽(±0.03–0.05)。建议:scaffold 分组 5 折交叉验证报均值±标准差,或在多个随机种子 × 多个 scaffold 种子下评估。注意 GroupKFold 的分组键用 scaffold 而非 SMILES。

§5.5 外部验证

  • 同协议外推:在 MoleculeNet HIV 上训练的模型直接在 ogbg-molhiv 上评测(数据同源、划分不同),检验协议敏感性。
  • 跨库外推:用更新版 ChEMBL/PubChem 中新测定的同靶点活性做"未来数据"验证;TDC 的 ADMET 组与 MoleculeNet 部分终点重叠但来源不同,可作互证。
  • 真实研发验证:终极检验是药企 retrospective HTS 富集分析(enrichment factor at 1%),公开证据有限,部署前务必用内部数据复测。

§6 AI 就绪指南

§6.0 云端快速启动

5 分钟极速体验:在 Google Colab 新建笔记本,运行下方两段代码即可在 Tox21 上训练一个图卷积模型。Colab 免费 GPU 足够;DeepChem 会自动下载数据(约 2 MB)。

# 第 1 格:安装(约 2-3 分钟)
!pip install -q deepchem rdkit

# 第 2 格:加载 Tox21 + 训练 GraphConv + 输出 ROC-AUC
import deepchem as dc
tasks, (train, valid, test), _ = dc.molnet.load_tox21(featurizer="GraphConv", splitter="scaffold")
model = dc.models.GraphConvModel(n_tasks=len(tasks), mode="classification", batch_size=64)
model.fit(train, nb_epoch=20)
metric = dc.metrics.Metric(dc.metrics.roc_auc_score, np.mean)
print("Test ROC-AUC:", model.evaluate(test, [metric]))

预期:20 epoch 后测试集 ROC-AUC 约 0.72–0.78(随种子波动)。想换数据集只需把 load_tox21 换成 load_bbbp / load_delaney(ESOL)等 17 个函数之一。

§6.1 快速上手

# ========================================
# MoleculeNet 快速上手 — DeepChem 版
# 环境要求: pip install deepchem rdkit(CPU 可跑;GPU 更佳)
#
# ⚠️ 目录与下载约定:
#   dc.molnet.load_*() 首次调用时自动从 AWS S3 下载原始 CSV 至
#   ./DeepChem_datasets/(或自定义 data_dir),并缓存特征化结果。
#   无需手动解压;离线环境会失败(见 §6.5 坑点 7)。
#
# ⚠️ 返回约定:
#   tasks       : 任务名列表(如 Tox21 的 12 个测定名)
#   datasets    : (train, valid, test) 三元组,已按 splitter 划分
#   transformers: 归一化等变换列表(回归任务预测后需 inverse_transform)
# ========================================
import deepchem as dc
import numpy as np

# 1) 加载 BBBP(血脑屏障通透性,scaffold 划分为论文推荐协议)
tasks, (train, valid, test), transformers = dc.molnet.load_bbbp(
    featurizer="ECFP",      # 2048 位 Morgan 指纹;图模型用 "GraphConv"/"MolGraphConv"
    splitter="scaffold",    # Bemis-Murcko 骨架划分,抗同系物泄漏
    reload=False,           # True 则强制重新下载+重新特征化
)
print(f"tasks={tasks}, train={len(train)}, valid={len(valid)}, test={len(test)}")

# 2) 训练一个随机森林基线(scikit-learn 封装,CPU 30 秒)
from sklearn.ensemble import RandomForestClassifier
model = dc.models.SklearnModel(RandomForestClassifier(n_estimators=200, n_jobs=-1))
model.fit(train)

# 3) 按官方指标评估(分类 ROC-AUC;PCBA/MUV 请换 prc_auc_score)
metric = dc.metrics.Metric(dc.metrics.roc_auc_score)
print("valid:", model.evaluate(valid, [metric]))
print("test :", model.evaluate(test, [metric]))

§6.2 数据获取流程

途径 命令/链接 说明
DeepChem(首选) dc.molnet.load_<name>() 17 个加载函数:load_delaney/freesolv/lipo/qm7/qm7b/qm8/qm9/pcba/muv/hiv/pdbbind/bace/bbbp/tox21/toxcast/sider/clintox
PyG torch_geometric.datasets.MoleculeNet(root, name="ESOL") 12 个非 QM 子集,原生图对象
DGL-LifeSci dgllife.data.Tox21(...) 11 个子集,含 task_pos_weights
OGB ogbg-molhiv / ogbg-molpcba HIV/PCBA 同源数据 + 确定性划分
HuggingFace zpn/* 系列镜像(如 zpn/lipo) 部分子集,含 SELFIES 与预置划分
原始源库 PubChem / ChEMBL / PDBbind / tripod.nih.gov/tox21 / figshare QM9 获取更新版或原始 3D 文件时绕过 MoleculeNet 快照

无需注册、无申请流程;PDBbind 原始全库需在 pdbbind.org.cn 注册(学术免费),但 MoleculeNet 内的 PDBbind 子集随 DeepChem 直接分发。

§6.3 预处理 Pipeline

# ========================================
# MoleculeNet 分子清洗与标准化 Pipeline(RDKit 原生做法)
# 适用:当你不使用 DeepChem 加载器、直接处理原始 CSV 时
# ========================================
from rdkit import Chem
from rdkit.Chem import SaltRemover, Descriptors
from rdkit import RDLogger
import pandas as pd
RDLogger.DisableLog("rdApp.*")

def standardize_smiles(smi: str) -> str | None:
    """解析 → 去盐 → 去重前的规范化。失败返回 None。"""
    mol = Chem.MolFromSmiles(smi)
    if mol is None:
        return None                       # 坑点 7:RDKit 版本差异导致解析失败
    remover = SaltRemover.SaltRemover()
    mol = remover.StripMol(mol)           # 去盐(盐酸盐/钠盐 → 游离母体)
    return Chem.MolToSmiles(mol, isomericSmiles=True)  # 保留立体化学!

df = pd.read_csv("tox21.csv")            # 或任一子集
df["std_smiles"] = df["smiles"].map(standardize_smiles)
df = df.dropna(subset=["std_smiles"])

# 关键 1:NaN 标签保持 NaN,绝不填 0(坑点 2)
label_cols = [c for c in df.columns if c.startswith(("NR-", "SR-"))]

# 关键 2:按 std_smiles 去重;同分子标签冲突时剔除整组(保守做法)
df = (df.groupby("std_smiles")
        .filter(lambda g: g[label_cols].dropna().drop_duplicates().shape[0] <= 1)
        .drop_duplicates("std_smiles"))

# 关键 3:scaffold 划分放在清洗之后(先划分会引入构象/盐泄漏)

流程要点:SMILES 解析 → 盐剥离 → 立体化学保留的规范化 → 去重(冲突组剔除)→ scaffold 划分 → 特征化(ECFP/图)→ 标签掩蔽(w=0)。

§6.4 框架加载

PyTorch(经 PyG)

from torch_geometric.datasets import MoleculeNet
from torch_geometric.loader import DataLoader

ds = MoleculeNet(root="./data", name="BBBP")       # 自动下载并解析为图
# 注意:PyG 不提供 scaffold 划分,需自行按 scaffold 索引切分
loader = DataLoader(ds, batch_size=64, shuffle=True)
# y 中 NaN 保留:训练时用 torch.isnan(y) 掩蔽 loss

TensorFlow/Keras(经 DeepChem)

import deepchem as dc
tasks, (train, valid, test), _ = dc.molnet.load_tox21(featurizer="GraphConv")
# GraphConvModel 是 Keras/TF 模型,要求 featurizer="GraphConv"(ConvMolFeaturizer)
model = dc.models.GraphConvModel(n_tasks=len(tasks), mode="classification",
                                 batch_size=64, dropout=0.2, learning_rate=1e-3)
model.fit(train, nb_epoch=50)

PyTorch(经 DeepChem + DGL)

# AttentiveFP / GCN / GAT / DMPNN 为 PyTorch 实现,需 pip install dgl dgllife
tasks, (train, valid, test), _ = dc.molnet.load_bace(
    featurizer="MolGraphConv", splitter="scaffold")   # use_edges=True 供 DMPNN/AttentiveFP
model = dc.models.AttentiveFPModel(n_tasks=len(tasks), mode="classification")
model.fit(train, nb_epoch=50)

§6.5 常见坑点

⚠️ 坑点 1:随机划分导致同系物泄漏,AUC 虚高 5–15 个百分点(分类:数据泄漏)

问题:17 个子集中 10 个官方推荐 random split。类药数据集由化学系列构成,random 划分让同一系列的类似物同时落入训练与测试集——模型记住的是"这个骨架"而非"性质与结构的关系"。

症状:random split 下 ROC-AUC 很漂亮(如 BACE 0.90+),换 scaffold split 立刻掉到 0.75–0.85;与真实药企前瞻富集结果差距巨大。

解决:最终结论性实验一律 scaffold split(splitter="scaffold");论文对比场景同时报 random(对齐旧文献)与 scaffold(对齐真实难度)双口径;进一步用 Butina 聚类划分做压力测试。

参考:Wu et al. 2018 §3.2(scaffold 划分定义);aidrugsearch 2026 数据集对比综述(5–15 点降幅估计)。

⚠️ 坑点 2:把 NaN(未测定)当成阴性 0(分类:标签理解)

问题:Tox21 约 30%、ToxCast 更高比例的标签是 NaN——含义是"该分子没测这个测定",不是"阴性"。fillna(0) 会人为制造大量假阴性,并把问题变成与原 Tox21 Challenge 不可比的另一个任务。

症状:按"全 0/1 矩阵"统计的阳性率明显低于文献口径;与官方挑战赛 AUC 对不上;模型在缺失重的任务上学到"测没测"而不是"毒不毒"。

解决:DeepChem 加载器已在 Dataset.w 中把未测定位置置 0 权重——loss 与指标自动屏蔽,直接用即可;自写 pipeline 时用 ~np.isnan(y) 生成掩蔽;评估只在实测标签上计算(scikit-fingerprints 文档明确要求)。

参考:deepchem issue #967;scikit-fingerprints load_tox21 文档;Tox21 Challenge 官方协议(tripod.nih.gov/tox21/challenge)。

⚠️ 坑点 3:Tox21 重复化合物、标签冲突与盐剥离差异(分类:预处理陷阱)

问题:MoleculeNet 版 Tox21(7,831 行)与原始挑战赛文件(8,337+ 唯一 SMILES)对不上:策展时剥离了盐(如 .Cl、酒石酸根)并过滤了 RDKit 不可解析项;同一化合物存在多行且标签冲突;粗暴 canonicalization 会丢失立体化学。

症状:你的行数、阳性数与论文/镜像(PyG 7,831、原始 8,000+)两两对不上;同 SMILES 出现相反标签。

解决:明确声明你用的版本(MoleculeNet CSV vs 原始挑战赛);去重前先盐剥离 + isomericSmiles=True;标签冲突的分子整组剔除(保守);与文献对比时使用同一来源文件。

参考github.com/deepchem/deepchem/issues/967(官方确认与处理记录)。

⚠️ 坑点 4:MUV/PCBA 极端不平衡下 ROC-AUC 严重误导(分类:评估误用)

问题:MUV 阳性率 0.20%、PCBA 约 1.4%。ROC-AUC 在大面积真阴性主导下对假阳性极不敏感——一个几乎不预测阳性的模型也能拿到"体面"的 ROC-AUC,而虚拟筛选恰恰关心前排分子的精度。

症状:ROC-AUC 0.85 的模型在 top-1% 候选里一个活性都找不到;PRC-AUC 只有 0.05–0.15。

解决:按论文推荐改用 PRC-AUC(dc.metrics.prc_auc_score);补充报告 EF1%(1% 富集因子)与 BEDROC;训练侧用 BalancingTransformer 或正例加权(DGL-LifeSci 的 task_pos_weights)。

参考:Wu et al. 2018 §3.3(PRC-AUC 选择理由)与 Fig. 7(MUV 上图模型假阳性失控的原始讨论)。

⚠️ 坑点 5:QM9 的 3,054 个 uncharacterized 分子与坐标口径混乱(分类:预处理陷阱)

问题:QM9 全量 133,885 个分子中有 3,054 个在几何优化中发生重排(标记为 uncharacterized)。文献惯例剔除后用 130,831;此外 DeepChem 的 qm9.csv 只有 SMILES 与性质,3D 坐标需另取 figshare 原始 xyz;不同论文的训练集大小(110k/100k/全量)各异。

症状:同一"QM9 MAE"数字无法复现;用你的 133,885 训练的模型与文献 130,831 数字对比出现系统性偏差。

解决:训练前按 uncharacterized 清单剔除(或用 curatedQM9 的修复版 133,660);3D 模型从 figshare(Quantum chemistry structures and properties of 134 kilo molecules)取 xyz;论文方法部分写明剔除与划分口径。

参考:Ramakrishnan et al. 2014 Scientific Data 1:140022;moldis-group.github.io/curatedQM9。

⚠️ 坑点 6:PDBbind 子集混用与许可误区(分类:评估误用 / 合规)

问题:PDBbind 的 core(约 200)、refined(约 4,000)、full/general(约 15,000)子集清洗严格度不同,MoleculeNet 使用 refined+core(11,908 条记录);不同论文在 core 上报 RMSE、另一些在 full 上报,直接横比无意义。此外 PDBbind 本体许可要求注册且禁止再分发,MoleculeNet 内的子集可随 DeepChem 用,但拿它去做商业评测需自查。

症状:你的 CASF-2013 风格 core-set RMSE 与别人 “PDBbind RMSE” 差一倍;商业团队收到数据源方的合规质询。

解决:报数时写清子集(core/refined/full)与划分(time split 为 MoleculeNet 推荐);结构特征(grid featurizer)与纯配体特征(ECFP)分开报告;商用场景回源 pdbbind.org.cn 注册并核对许可。

参考:Wu et al. 2018 §4.2(PDBbind 三子集基准结果);PDBbind 官方许可条款。

⚠️ 坑点 7:RDKit 版本解析差异 + DeepChem 下载/缓存的工程脆弱性(分类:工程陷阱)

问题:新版 RDKit 拒绝解析 Tox21 中 8 个含高价态铝的分子(行数随 RDKit 版本变化);dc.molnet.load_* 首次调用需访问 AWS S3——离线/沙箱/内网环境直接报错;reload=True 会清掉缓存重新特征化(大子集数十分钟);DeepChem 的 GraphConv(ConvMolFeaturizer)与 MolGraphConv(PyTorch GNN 用)特征互不通用。

症状:同一份代码换台机器行数变了;CI 里 load_tox21 超时;GraphConvModel 报与特征化毫不相关的属性错误。

解决:固定 rdkit 版本(如 rdkit==2023.09.*)并记录;提前在有网环境预热缓存(data_dir 指向共享盘),离线机只读缓存;模型-特征化配对查文档(GraphConvModel↔GraphConv、AttentiveFP/DMPNN↔MolGraphConv use_edges=True)。

参考:scikit-fingerprints load_tox21 文档(8 个 Al 分子修复说明);DeepChem molnet 文档。

⚠️ 坑点 8:小数据集 leaderboard 饱和与单种子报分(分类:评估误用)

问题:BBBP(2,039)、BACE(1,513)、ClinTox(1,478)、SIDER(1,427)测试集仅 130–200 个分子,不同随机种子的 ROC-AUC 波动 ±0.02–0.05——当前这些子集的"SOTA 之争"大量处于噪声范围内,刷分意义有限。

症状:同一模型重跑分数差 3 个点;论文 A 报 0.94、论文 B 报 0.90,协议稍有不同就无法裁决。

解决:至少 3 个种子(小子集建议 5–10 个)报均值±标准差;优先在 OGB/TDC 的确定性划分上验证;把小子集当作"回归测试"而非"SOTA 战场";重大结论用配对检验(bootstrap/DeLong)确认显著性。

参考:Wu et al. 2018 实验协议(3 种子均值±方差);aidrugsearch 2026 综述(leaderboard 饱和讨论)。

§6.6 数据增强

✅ 安全增强 ❌ 危险增强(禁止)
SMILES 枚举增强(同一分子的多个等价 SMILES,RDKit doRandom=True 对标签加抖动(毒性/活性标签不可"微调")
3D 任务的整体旋转/平移(对旋转不变模型安全) 对 3D 坐标逐原子加噪声(破坏键长/键角的物理合法性)
键级/氢原子的图级 dropout(训练期正则) 随机替换原子类型生成"新分子"(化学不合法)
用 RDKit 生成多构象做构象级多实例(QM 以外任务) 把 scaffold 信息"混入"特征工程(人为泄漏)
预训练-微调(ZINC/ChEMBL 自监督,声明去重) 用测试集分子做任何形式的预训练/特征选择

§6.7 模型推荐

任务/子集 推荐方案 特征化 参考性能(注意协议差异)
快速基线(任意子集) RandomForest / XGBoost ECFP4 2048 位 BACE ROC-AUC 约 0.85(scaffold,MoleculeNet leaderboard)
通用分类(BBBP/Tox21/HIV/BACE/ClinTox) D-MPNN(Chemprop) 分子图 + 键方向 五子集均值约 0.78–0.91(scaffold,kMoL 汇总)
当前第一梯队 Uni-Mol / GEM(3D 预训练) 3D 构象 + 图 ClinTox 0.919 / BACE 0.857 / PCBA 0.885(scaffold,各自论文)
小数据集(<3,000) KernelSVM / XGBoost + ECFP ECFP 原论文结论:传统方法在 HIV/BACE/BBBP/SIDER 上反超图模型
QM 系列 DTNN/SchNet/MPNN 类(3D 感知) 坐标 + Coulomb matrix QM9 多任务 MAE 远优于纯拓扑特征(原论文 2.35 vs 4.35)
极大子集(PCBA 43.8 万) 多任务 GNN / 预训练模型 PRC-AUC 口径;注意显存与训练时长(§6.8)
教学/演示 DeepChem MultitaskClassifier ECFP 5 分钟出结果的课堂基线

§6.8 计算资源需求

硬件 最小配置 推荐配置
磁盘 5 GB(CSV + 单特征化缓存) 20 GB(多特征化 + PDBbind 结构)
内存 8 GB(小子集) 32 GB(PCBA 全量特征化)
GPU CPU 足够(RF/XGBoost/小子集 GNN) 1 × 16 GB 显存(D-MPNN/预训练微调);PCBA 多任务建议 24 GB
训练时间 BBBP GNN 数分钟(单卡) PCBA D-MPNN 数小时–1 天;Uni-Mol 级预训练需多卡(推理/微调单卡可)
云端替代 Colab 免费 GPU(小子集) 任意云 GPU + 预热 S3 缓存

§6.9 评估指标

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

def masked_auc(y_true, y_prob, kind="roc"):
    """MoleculeNet 多任务评估的标准做法:按任务列掩蔽 NaN,再取任务均值。"""
    scores = []
    for t in range(y_true.shape[1]):
        mask = ~np.isnan(y_true[:, t])          # 关键:只在实测标签上评估
        if mask.sum() == 0 or y_true[mask, t].ptp() == 0:
            continue                            # 全 NaN 或单类别的任务跳过
        fn = roc_auc_score if kind == "roc" else average_precision_score
        scores.append(fn(y_true[mask, t], y_prob[mask, t]))
    return float(np.mean(scores))

# 分类子集:ROC-AUC(HIV/BACE/BBBP/Tox21/ToxCast/SIDER/ClinTox)
# 极端不平衡子集:PRC-AUC(PCBA/MUV)——kind="prc"
# 回归子集:MAE(QM 系列)/ RMSE(ESOL/FreeSolv/Lipo/PDBbind)
from sklearn.metrics import mean_absolute_error, root_mean_squared_error

社区共识:与 MoleculeNet 原论文对比用其推荐指标(§3.2);与 OGB 榜对比用 OGB 评测脚本;多任务一律报"任务均值"并说明 NaN 处理方式;小数据集报多种子均值±标准差。

§6.10 MLOps 笔记

  • 版本锁定:MoleculeNet 本体无版本号,论文方法部分应写 “MoleculeNet(Wu et al. 2018)+ DeepChem X.Y + RDKit YYYY.MM + splitter/种子”,四者缺一都可能导致数字漂移(坑点 7)。
  • 引用要求:主引 Wu et al. 2018(DOI: 10.1039/C7SC02664A);用了哪个子集建议同时引该子集原始文献(如 QM9 引 Ramakrishnan 2014,Tox21 引挑战赛,SIDER 引 Kuhn 2016,PDBbind 引 Wang 2004/2005)——各源数据集作者值得这份署名。
  • 缓存治理~/DeepChem_datasets 随特征化组合膨胀,团队共享盘 + 只读挂载是省心方案;reload=True 慎用。
  • 许可红线:SIDER 非商业、PDBbind 再分发受限——把 MoleculeNet 打进商业产品或 SaaS 前逐子集核对(§0 合规声明)。
  • 双用途审查:毒性预测模型属于潜在双用途工具(见 §7.4),对外发布模型权重前进行机构级审查。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
化学空间偏倚 以类药小分子为主(C/N/O/S/F 主导);金属配合物、大环、PROTAC、核苷酸近乎缺失;QM 系列限 ≤9 重原子 明确模型的适用域(applicability domain);新材料/新模态药物用专门数据集
类别不平衡偏倚 MUV 0.20%、PCBA 约 1.4%、ToxCast 大量任务 <1% 阳性 PRC-AUC/EF 指标 + 正例加权 + 长尾任务过滤
测定噪声偏倚 HTS 假阳性(自发荧光、聚集体、细胞毒串扰);HIV/PCBA 为历史筛选快照 中高 多测定一致性过滤;把标签当弱监督处理
报告偏倚 SIDER 来自药品说明书——只覆盖上市药物、只报告被观察到的副作用 不用于"非上市分子是否会有此副作用"的因果推断
归因混杂偏倚 ClinTox 临床失败混杂疗效/商业/毒性因素;CT_TOX 为聚合结局 仅作毒性倾向信号,不作监管级结论
时代冻结偏倚 2018 年快照:ChEMBL/PubChem/PDBbind 后续新增数据不在内;测定技术进步未反映 用新版源库自建验证集
系列富集偏倚 活性子集由化学系列构成,random split 下系列内插值偏乐观 scaffold/time 划分(§5.3)
小样本方差偏倚 BBBP/BACE/SIDER/ClinTox 测试集仅百余分子 中高 多种子 + 显著性检验(坑点 8)

§7.2 标注质量评估

标签来源 可靠性 一致性 局限性
DFT 计算(QM 系列) 确定性可复现 完全自洽 与实验值存在方法学系统误差;3,054 个 QM9 分子几何异常
湿实验物化测定(ESOL/FreeSolv/Lipo) 实验金标准 批间误差约 0.5–1 log 单位 测定条件(温度/pH)口径异质
HTS 筛选(PCBA/MUV/HIV/Tox21/ToxCast) 筛选级 测定间一致性有限 假阳性机制多;单点读数阈值化损失信息
药企单实验室测定(BACE) 高(Merck 内部标准) 仅 1,513 个化合物,化学空间窄
晶体结构 + 亲和力(PDBbind) 结构金标准 亲和力口径混合(Kd/Ki/IC50) 子集清洗度差异大
说明书/临床结局(SIDER/ClinTox) 真实世界 报告体系差异 报告偏倚 + 归因混杂

§7.3 泛化性讨论

场景 失效风险 证据
新化学骨架外推 scaffold split 下 ROC-AUC 普遍降 5–15 点(§6.5 坑点 1);原论文 HIV/BACE/BBBP 三子集 train-test 差距显著扩大
跨测定技术(HTS → 正交验证实验) 中高 HTS 标签噪声使模型学到测定伪影;BACE(药企测定)与公共 HTS 表现差异
跨时间(2018 快照 → 当代化学) 中高 新模态药物(PROTAC、共价抑制剂、大环)超出训练分布
跨尺度(QM 小分子 → 药物分子) QM9 ≤9 重原子训练的势函数不能直接用于 500 Da 药物分子
计算 → 实验(DFT 标签 → 湿实验) DFT 系统误差使 QM 模型预测实验性质时需校准
小数据集架构比较 测试集百余样本,架构间差异多在噪声内(坑点 8)

§7.4 伦理考量

  1. 双用途风险(本数据集最特殊的伦理议题):毒性预测模型反向使用即可用于设计有毒分子。Urbina et al.(2022,Nature Machine Intelligence)的 MegaSyn 实验证明:生成模型 + 类 Tox21 训练的毒性预测器可在数小时内产出类 VX 神经毒剂结构。MoleculeNet 数据本身无害(公开数据聚合),但在其上训练并对外发布的毒性模型应纳入机构双用途审查
  2. 3R 与动物实验替代:Tox21/ToxCast 的正当用途是减少动物实验——引用这些数据时建议保留这一初衷表述。
  3. 无患者隐私问题:全部记录为公开化学结构与汇总结局,不含任何个体数据;SIDER 来自公开监管文件。
  4. 许可伦理:SIDER(非商业)、PDBbind(再分发受限)的条款是数据源作者维护公共品的条件,遵守许可即维护生态。
  5. 不夸大临床效力:ClinTox 上的高 AUC 不等于"AI 能预测临床失败"——失败归因混杂,对外传播时避免误导性表述。

§7.5 公平性评估

分子数据无人口统计学维度,公平性分析的对象是化学空间覆盖公平性

# 按分子量/骨架分层检查性能差异——识别"对某类分子系统性失效"
from rdkit import Chem
from rdkit.Chem import Descriptors
import numpy as np
from sklearn.metrics import roc_auc_score

mw = np.array([Descriptors.MolWt(Chem.MolFromSmiles(s)) for s in test_smiles])
for lo, hi in [(0, 300), (300, 450), (450, 1000)]:
    m = (mw >= lo) & (mw < hi) & ~np.isnan(y_test[:, 0])
    if m.sum() > 20 and y_test[m, 0].ptp() > 0:
        print(f"MW {lo}-{hi}: n={m.sum()}, ROC-AUC={roc_auc_score(y_test[m,0], y_prob[m,0]):.3f}")

已知差异:大分子(MW>500)、含硫/卤素比例高的子群在 QM 衍生特征上覆盖差;MUV 各任务的阳性分子骨架高度集中,跨骨架富集能力是虚拟筛选公平性的核心检验。

§7.6 数据漂移提示

  • MoleculeNet 的化学分布冻结于 2018 年:ChEMBL 此后新增数十万活性数据、PDBbind 复合物翻倍、新测定技术(如 DEL 筛选)产生的数据分布与 HTS 时代显著不同。
  • 监控信号:部署分子的 Tanimoto 最近邻距离分布漂移、MW/cLogP 分布 PSI > 0.2、applicability domain 覆盖率下降。
  • QM 系列无时间漂移(物理定律不变),但"DFT 水平漂移"存在——更新的泛函/基组结果与 B3LYP/6-31G(2df,p) 标签存在系统差。

§7.7 DAIMS 24 项数据就绪度评估

# 检查项 状态 说明
1 数据为宽格式(每行一个样本) 每行一个化合物,标签列宽表
2 有唯一标识符列 ⚠️ 无官方唯一 ID;SMILES 为事实主键但存在重复/盐形式变体(坑点 3)
3 无 Unicode 或特殊字符 SMILES 与标签均为 ASCII
4 无重复行 Tox21 等存在已知重复与标签冲突(issue #967),未在发布层清理
5 缺失值已识别并编码 NaN + w=0 权重机制(§4.5)
6 标签列被明确标识 任务名即列名(NR-AR 等),文档完整
7 已对罕见类别(<3%)进行分组 ⚠️ ToxCast 617 任务中大量 <1% 阳性任务未合并,需自行过滤
8 偏倚评估已完成 §7.1 八类偏倚与缓解措施
9 有完整的数据字典 论文 Table 1 + DeepChem 文档逐子集说明
10 对"信息性缺失"有明确编码解释 未测定 NaN ≠ 阴性,全社区共识
11 数据采集设备和设置已记录 DFT 泛函/基组、qHTS 平台、晶体学来源均有记录(§3.9)
12 已移除完全共线性变量 ⚠️ 未执行;Tox21 同通路任务(NR-AR/NR-AR-LBD)高度相关
13 对编码的映射标准已说明 ⚠️ SMILES 无本体映射;SIDER 副作用未映射 MedDRA/UMLS(需自行桥接)
14 对时间戳的处理已明确说明 ⚠️ 仅 PDBbind 保留年份用于 time split;其余子集无时间维度
15 训练/验证/测试划分建议已给出 每子集推荐 splitter + 统一 80/10/10(§5.1)
16 数据泄漏风险已被讨论 scaffold 划分的提出即针对泄漏;§5.3 五种模式
17 标签分布已被分析 §4.2 各子集阳性率
18 选择性测量偏倚已被讨论 §4.5 未测定机制 + §7.1 报告偏倚
19 外部验证建议已给出 §5.5 OGB/TDC/新源库三层验证
20 数据更新和版本信息已记录 ⚠️ 无版本号、无 changelog;2018 冻结事实需从论文推断
21 最小必要预处理脚本已提供 DeepChem 加载器即生产级预处理管线
22 合规使用要求已明确 ⚠️ 聚合层 MIT 声明清晰,但子集异质许可(SIDER/PDBbind)未在加载层集中警示
23 多模态对齐方法已说明 ⚠️ SMILES ↔ 3D 坐标 ↔ 标签的对齐依赖各加载器,官方无统一说明
24 去标识化方法已被记录 不含个人数据,无需去标识化

DAIMS 评分:19 / 24

评分解读优秀——策展、协议与工具链均为教科书级;扣分集中在 2018 冻结带来的陈旧性与发布层的清洁度遗留。

对你意味着什么:MoleculeNet 的 15 个 ✅ 几乎全部来自其"协议设计 + DeepChem 实现"的双重工程质量——推荐划分、缺失编码、指标选择、预处理脚本开箱即用。需要你动手补救的只有四件事:(1) 训练前对 Tox21/ToxCast 做去重与冲突剔除(坑点 3);(2) 结论性实验一律 scaffold split(坑点 1);(3) PCBA/MUV/ToxCast 过滤长尾任务并换 PRC-AUC(坑点 4);(4) 商用前逐子集核对许可(SIDER/PDBbind)。若你的课题需要 2018 年后的数据或监管级 ADMET 终点,MoleculeNet 应作为基线层与 TDC/新源库联用,而非唯一数据源。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部测试集变化 关键发现
OGB ogbg-molhiv(确定性 scaffold) Stanford OGB HIV 活性分类 ROC-AUC 约 0.75–0.83(GNN 类) 相对 MoleculeNet HIV 同口径相当 数据同源、划分更严——是检验"种子运气"的标准对照
OGB ogbg-molpcba Stanford OGB 128 测定分类 PRC-AUC 约 0.27–0.30(GNN 类) 与论文随机划分结果不可比 划分与指标双严格化后绝对分显著降低,证实原协议偏乐观
TDC ADMET 组(重叠终点) Harvard 等 hERG/肝毒/溶解度等 因终点而异 分子重合但标签口径不同 同终点跨库标签一致性有限,部署前必须统一测定口径
新版 ChEMBL(时间外推) EMBL-EBI 同靶点活性预测 未见统一公开数字 下降方向一致 文献共识:2018 快照模型对新增化学系列泛化衰减
药企 retrospective HTS 各药企(非公开为主) 富集分析 EF1% 内部口径 通常显著低于基准表现 公开证据有限;MoleculeNet 高分不保证真实筛选富集

MoleculeNet 在 2026 年还值得用吗? 值得——但定位要准确。作为方法学通用语与教学基线它无可替代:4,200+ 引用论文的可比性都锚定在它的协议上。作为性能裁决场它已饱和:小子集噪声、随机划分、无官方维护的 leaderboard 使"SOTA"含金量下降。作为部署数据源它已陈旧:请把 MoleculeNet 当作起跑线,把 OGB/TDC/内部数据当作终点线。


§8 基准性能与生态

§8.1 排行榜

MoleculeNet 的"官方"排行榜有两层:原论文的同协议基准结果(数字严格可比),以及 2019 年后社区在各子集上的演进(协议各异,横比需谨慎——详见表后警示)。

可比组排行榜(原论文 2018,test set,同协议:GP 超参优化 + 3 种子均值)

子集(指标) 最佳传统方法 最佳图方法 完整引用
QM7(MAE ↓) KRR(Coulomb) 10.22 DTNN 8.75 Wu Z, Ramsundar B, et al. “MoleculeNet: a benchmark for molecular machine learning.” Chemical Science 9(2):513-530 (2018). DOI: 10.1039/C7SC02664A
QM9(MAE ↓) Multitask(CM) 4.35 DTNN 2.35 同上
ESOL(RMSE ↓) XGBoost 0.99 MPNN 0.58 同上
FreeSolv(RMSE ↓) XGBoost 1.74 MPNN 1.15 同上
PCBA(PRC-AUC ↑) LogReg 0.129 GraphConv 0.136 同上
Tox21(ROC-AUC ↑) KernelSVM 0.822 GraphConv 0.829 同上
HIV(ROC-AUC ↑,scaffold) KernelSVM 0.792 GraphConv 0.763 同上
BACE(ROC-AUC ↑,scaffold) RF 0.867 Weave 0.806 同上

演进组代表结果(2019–2023,各论文协议不同,绝对值不可与上表直接比较)

模型 代表子集成绩(scaffold,ROC-AUC %) 年份 关键技术 完整引用 代码
D-MPNN(Chemprop) ClinTox 90.6 / BACE 80.9 / BBBP 71.0 / Tox21 75.9 2019 键方向消息传递 Yang K et al. “Analyzing Learned Molecular Representations for Property Prediction.” J. Chem. Inf. Model. 59(8):3370-3388 https://github.com/chemprop/chemprop
AttentiveFP ClinTox 84.7 / BACE 78.4 / SIDER 60.6 2019 图注意力指纹 Xiong Z et al. J. Med. Chem. 62(23):10494-10503 DGL-LifeSci 内置
PretrainGNN HIV 79.9 / BACE 84.5 / Tox21 78.1 2020 节点/图双级自监督预训练 Hu W et al. ICLR 2020 https://github.com/snap-stanford/pretrain-gnns
GROVER BBBP 约 70(large)/ SIDER 65.4 2020 图 Transformer + 千万级预训练 Rong Y et al. NeurIPS 2020 https://github.com/tencent-ailab/grover
GEM BACE 85.6 / ClinTox 90.1 / SIDER 67.2 2022 3D 几何增强预训练 Fang X et al. Nature Machine Intelligence 4:127-134 https://github.com/PaddlePaddle/PaddleHelix
MolCLR ClinTox 91.2 / BACE 82.4 2022 图对比学习 Wang Y et al. Nature Machine Intelligence 4:279-287 https://github.com/yuyangw/MolCLR
Uni-Mol ClinTox 91.9 / BACE 85.7 / Tox21 79.6 / PCBA 88.5 2023 3D 分子预训练 Transformer Zhou G et al. ICLR 2023 https://github.com/dptech-corp/Uni-Mol

横比警示:演进组数字来自各自论文,划分种子、scaffold 实现、NaN 处理、是否剔除 QM9 异常分子、超参预算均不统一。引用任何单点数字前,请回到原论文核对协议;严肃的架构比较应在统一 pipeline(如 kMoL、OGB、Polaris)下重跑。

§8.2 SOTA 总结与选型建议

如果你… 推荐方案 为什么
复现/对比 2018 年前后文献 DeepChem 加载器 + 原论文协议(3 种子) 唯一与历史数字严格可比的路径
快速出一个可信基线 Chemprop 默认配置 + scaffold split 安装简单、多数子集接近第一梯队
追求最高性能(有 GPU) Uni-Mol / GEM 预训练权重微调 2023 年后多数子集的纪录保持者阵营
数据 <2,000 的小子集 XGBoost/KernelSVM + ECFP 原论文结论:小数据下传统方法更稳
上公开 leaderboard OGB-molhiv/molpcba + 官方评测脚本 杜绝协议自由的排名游戏
做可部署 ADMET 迁移到 TDC 协议重测 任务导向整理,更接近真实研发

§8.3 官方评测协议

原论文协议:每子集推荐 splitter(§3.2)+ 80/10/10 + 推荐指标(MAE/RMSE/ROC-AUC/PRC-AUC)+ Gaussian process 超参优化 + 3 随机种子均值±标准差;多任务报任务均值。无官方持续 leaderboard(deepchem/moleculenet 仓库的榜单 2021 年停更)。社区共识补充:小数据集加种子数、不平衡子集报 PRC-AUC/EF1%、QM9 声明 uncharacterized 剔除口径。

数据集 关系 说明
OGB(ogbg-molhiv/molpcba/molfreesolv) 同源升级 数据沿用 MoleculeNet,确定性划分 + 官方榜
TDC 后继 22+ ADMET/DTI 任务,部署导向,持续维护
Polaris 后继 2024 年起的药企联合基准,含 MoleculeNet 任务的严格化重制
ChEMBL / PubChem 数据源 活性数据的原始上游(MoleculeNet 取其快照)
PDBbind(全库) 数据源/扩展 MoleculeNet 取其 2015 refined+core;全库需注册
QM9(figshare 原始版) 数据源 含 xyz 坐标的原始发布;MoleculeNet CSV 为其子集化
QMugs / GEOM / ANI-1 同类扩展 更大规模量子/构象数据,承接 QM9 路线
ZINC 互补 虚拟筛选可购买化合物库,常用作预训练语料(注意测试集污染,§5.3)

§8.5 关键论文 Top 10

  1. Wu Z et al. (2018), Chemical Science 9(2):513-530. “MoleculeNet: a benchmark for molecular machine learning.” — 数据集本体与协议定义,权威引用入口。DOI: 10.1039/C7SC02664A
  2. Duvenaud D et al. (2015), NeurIPS. “Convolutional Networks on Graphs for Learning Molecular Fingerprints.” — 图卷积分子指纹的开山之作,MoleculeNet 图方法的直系祖先。
  3. Gilmer J et al. (2017), ICML. “Neural Message Passing for Quantum Chemistry.” — MPNN 框架,QM9 基准化的起点。
  4. Kearnes S et al. (2016), J. Comput.-Aided Mol. Des. “Molecular Graph Convolutions: Moving Beyond Fingerprints.” — Weave 模型。
  5. Yang K et al. (2019), J. Chem. Inf. Model. 59(8):3370-3388. D-MPNN/Chemprop — 至今最常用的小分子性质预测训练框架。
  6. Xiong Z et al. (2019), J. Med. Chem. 62(23). AttentiveFP — 图注意力分子表征,毒性预测见长。
  7. Hu W et al. (2020), NeurIPS (OGB) + ICLR (PretrainGNN). — 确定性划分与预训练范式的二代基础设施。
  8. Rong Y et al. (2020), NeurIPS. GROVER — 千万级自监督分子图 Transformer。
  9. Zhou G et al. (2023), ICLR. Uni-Mol — 3D 预训练统一框架,多子集纪录。
  10. Huang K et al. (2022), Nature Chemical Biology 18:1033-1036. TDC — MoleculeNet 精神在可部署药物研发方向的正式后继。

§8.6 社区活跃度

维度 数据
Google Scholar 引用(MoleculeNet 论文) 4,200+(截至 2026-09,快照 4,290)
ScienceDirect 显示引用 2,508(Scopus 口径,较早快照)
DeepChem GitHub 约 12,000+ stars(截至 2026-09,估算)——MoleculeNet 的官方载体
deepchem/moleculenet leaderboard 仓库 约 80 stars,2021 年停更(MIT)
PyG MoleculeNet 数据集类 随 PyG 主仓库分发,12 子集
下游封装 DGL-LifeSci、scikit-fingerprints、HuggingFace zpn/* 镜像
教学采用 Deep Learning for the Life Sciences(Ramsundar et al. 2019, O’Reilly)配套数据;多家高校化学信息学课程

§8.7 生态快照

资源 类型 链接 活跃度(截至 2026-09) 为什么值得关注
deepchem/deepchem 官方工具库 https://github.com/deepchem/deepchem 约 12,000+ stars(估算),活跃 MoleculeNet 官方载体:17 加载函数 + 全部 featurizer/splitter/模型
chemprop/chemprop 训练框架 https://github.com/chemprop/chemprop 活跃 D-MPNN 官方实现,MoleculeNet 上最常用的自训模型入口
PyG MoleculeNet 图框架封装 https://pytorch-geometric.readthedocs.io 随 PyG 活跃 12 子集原生图对象,GNN 研究标准入口
DGL-LifeSci 图框架封装 https://github.com/awslabs/dgl-lifesci 维护态 11 子集 + 预训练模型 zoo
OGB 排行榜 https://ogb.stanford.edu 活跃 molhiv/molpcba 确定性榜,MoleculeNet 数据的严格赛场
TDC 后继基准 https://tdcommons.ai 活跃 ADMET 部署导向任务的下一站
scikit-fingerprints 工具库 https://scikit-fingerprints.readthedocs.io 活跃 修复了 RDKit 兼容问题的新派加载器(含 Tox21 铝分子修复)
HuggingFace zpn/* 镜像 数据镜像 https://huggingface.co/datasets/zpn/lipo 社区维护 datasets 库直接加载,含 SELFIES 双表示
moleculenet.org 官方主页 https://moleculenet.org/ 静态 论文入口与项目说明

§9 相关资源与引用

官方资源

BibTeX 引用

% 1) MoleculeNet 主引(必需)
@article{wu2018moleculenet,
  title={MoleculeNet: a benchmark for molecular machine learning},
  author={Wu, Zhenqin and Ramsundar, Bharath and Feinberg, Evan N. and Gomes, Joseph and Geniesse, Caleb and Pappu, Aneesh S. and Leswing, Karl and Pande, Vijay},
  journal={Chemical Science},
  volume={9},
  number={2},
  pages={513--530},
  year={2018},
  publisher={Royal Society of Chemistry},
  doi={10.1039/C7SC02664A}
}

% 2) QM9(使用 QM9 子集时建议同引)
@article{ramakrishnan2014qm9,
  title={Quantum chemistry structures and properties of 134 kilo molecules},
  author={Ramakrishnan, Raghunathan and Dral, Pavlo O. and Rupp, Matthias and von Lilienfeld, O. Anatole},
  journal={Scientific Data},
  volume={1},
  pages={140022},
  year={2014},
  doi={10.1038/sdata.2014.22}
}

% 3) SIDER(使用 SIDER 子集时建议同引)
@article{kuhn2016sider,
  title={The SIDER database of drugs and side effects},
  author={Kuhn, Michael and Letunic, Ivica and Jensen, Lars Juhl and Bork, Peer},
  journal={Nucleic Acids Research},
  volume={44},
  number={D1},
  pages={D1075--D1079},
  year={2016},
  doi={10.1093/nar/gkv1075}
}

% 4) PDBbind(使用 PDBbind 子集时建议同引)
@article{wang2004pdbbind,
  title={The PDBbind database: collection of binding affinities for protein-ligand complexes with known three-dimensional structures},
  author={Wang, Renxiao and Fang, Xueliang and Lu, Yipin and Wang, Shaomeng},
  journal={Journal of Medicinal Chemistry},
  volume={47},
  number={12},
  pages={2977--2980},
  year={2004},
  doi={10.1021/jm030580l}
}

% 5) DeepChem(使用加载器/模型实现时建议引用)
@book{ramsundar2019deep,
  title={Deep Learning for the Life Sciences: Applying Deep Learning to Genomics, Microscopy, Drug Discovery, and More},
  author={Ramsundar, Bharath and Eastman, Peter and Walters, Patrick and Pande, Vijay},
  year={2019},
  publisher={O'Reilly Media}
}

其余子集原始文献(ESOL: Delaney 2004 JCIM;FreeSolv: Mobley & Guthrie 2014;BBBP: Martins 2012;BACE: Subramanian 2016;ClinTox: Gayvert 2016 Cell;MUV: Rohrer & Baumann 2009)在使用相应子集时同样建议引用——完整清单见原论文参考文献。

教程与学习资源

原始论文

  1. Wu Z, Ramsundar B, Feinberg EN, Gomes J, Geniesse C, Pappu AS, Leswing K, Pande V (2018). “MoleculeNet: a benchmark for molecular machine learning.” Chemical Science 9(2):513-530. DOI: 10.1039/C7SC02664A. PMID: 29629118. PMCID: PMC5868307.
  2. Ramakrishnan R, Dral PO, Rupp M, von Lilienfeld OA (2014). “Quantum chemistry structures and properties of 134 kilo molecules.” Scientific Data 1:140022.
  3. Delaney JS (2004). “ESOL: Estimating aqueous solubility directly from molecular structure.” J. Chem. Inf. Comput. Sci. 44(3):1000-1005.
  4. Subramanian G et al. (2016). “Machine Learning Models for Predicting Human BACE1 Activity.” Mol. Pharmaceutics 13(6).
  5. Gayvert KM, Madhukar NS, Elemento O (2016). “A data-driven approach to predicting successes and failures of clinical trials.” Cell Chemical Biology 23(10).
  6. Martins IF et al. (2012). “A Bayesian approach to in silico blood-brain barrier penetration modeling.” J. Chem. Inf. Model. 52(6).
  7. Rohrer SG, Baumann K (2009). “Maximum unbiased validation (MUV) of virtual screening.” J. Chem. Inf. Model. 49(2).

§10 AI 使用声明卡

§10.1 AI 模型使用

AI 模型 版本 用途
deep-model(WorkBuddy) 2026-09 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建
WebSearch(多源检索) 2026-09-05 5 组检索:RSC/arXiv 原文核对、引用数快照、子数据集规模双源复核、社区坑点(issue #967 等)、基准成绩汇总

§10.2 AI 参与范围

AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。

AI 在本页面的工作中负责:(1) 从 Chemical Science 原文、arXiv HTML 全文、DeepChem 文档与社区资源中整理结构化信息;(2) 生成 §6 的 Python/RDKit 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。

§10.3 输入来源

  1. Wu et al. (2018), Chemical Science 9(2):513-530 — MoleculeNet 原始论文(DOI: 10.1039/C7SC02664A,含 PMC5868307 全文与补充材料)
  2. arXiv:1703.00564 HTML 全文(v3)— 数据集明细 Table 1 与基准结果 Fig. 7-12
  3. moleculenet.org 官方主页
  4. DeepChem molnet 文档与 deepchem/deepchem 仓库(加载器实现、featurizer/splitter 映射)
  5. github.com/deepchem/deepchem/issues/967 — Tox21 重复与盐形式问题的官方讨论
  6. deepchem/moleculenet 仓库 — 官方 leaderboard(2021 停更)与 MIT 许可
  7. PyG torch_geometric.datasets.MoleculeNet 源码文档 — 12 子集镜像与 NaN 处理
  8. DGL-LifeSci MoleculeNet 数据集文档(DeepWiki)— 11 子集口径复核
  9. scikit-fingerprints load_tox21 文档 — RDKit 高价态铝分子兼容问题
  10. Ramakrishnan et al. (2014), Scientific Data 1:140022 — QM9 原始论文;curatedQM9(moldis-group)— 3,054 个 uncharacterized 分子修复
  11. kMoL 论文(PMC11854109)Table 1/2 — D-MPNN/AttentiveFP/GROVER/GEM/MolCLR/Uni-Mol 在 MoleculeNet 上的汇总成绩
  12. PMC12784970 分子表征基础模型综述 — 预训练模型 ROC-AUC 对照表
  13. aidrugsearch.com 分子 ML 数据集对比综述(2026)— scaffold/random 降幅与 leaderboard 饱和讨论
  14. envchemsci.com 计算毒理学综述 — Tox21 原始挑战赛协议与缺失标签处理
  15. Google Scholar 引用快照(截至 2026-09,Cited by 4,290);ScienceDirect 引用快照(2,508)
  16. Urbina et al. (2022), Nature Machine Intelligence — 双用途伦理分析素材

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED 映射、ADMET 任务定义、金标准) 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据集规格(17 子集规模、版本矩阵) 千方病案医学编辑部 与原论文 Table 1 及 DeepChem/DGL/PyG 三源交叉比对 ✅ 已验证
§4 数据结构(SMILES 字段、DAIMS 字典、缺失编码) 千方病案医学编辑部 与加载器文档及 issue #967 交叉比对 ✅ 已验证
§5 数据划分策略 千方病案医学编辑部 交叉审核 ✅ 已通过
§6 代码示例与坑点 千方病案医学编辑部 逻辑审查 + 与 DeepChem 官方文档比对 ✅ 已通过
§7 质量评估与 DAIMS 评分 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 排行榜与引用数表述 千方病案医学编辑部 与原文及 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.5 公平性评估代码、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。

§10.6 最后审核

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

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

返回 AI-Ready 数据集