TDC ADMET Benchmark Group 把吸收、分布、代谢、排泄、毒性五大类共 22 个终点打包成统一的任务集,配有固定划分、官方指标和公开排行榜。做 ADMET 预测,它是目前最合适的公开起点——比 MoleculeNet 更规范、覆盖更全、评测更严谨。
22 个终点
| 类别 | 终点 | 类型 | 指标 |
|---|---|---|---|
| 吸收 A | Caco2_Wang(细胞通透性) | 回归 | MAE |
| HIA_Hou(人肠吸收) | 分类 | AUROC | |
| Pgp_Broccatelli(P-gp 底物) | 分类 | AUROC | |
| Bioavailability_Ma(口服生物利用度) | 分类 | AUROC | |
| Lipophilicity / Solubility_AqSolDB | 回归 | MAE | |
| 分布 D | BBB_Martins(血脑屏障) | 分类 | AUROC |
| PPBR_AZ(血浆蛋白结合率) | 回归 | MAE | |
| VDss_Lombardo(分布容积) | 回归 | Spearman | |
| 代谢 M | CYP2C9/2D6/3A4 抑制与底物(6 个) | 分类 | AUPRC / AUROC |
| — | — | — | |
| 排泄 E | Half_Life_Obach(半衰期) | 回归 | Spearman |
| Clearance_Hepatocyte/Microsome_AZ | 回归 | Spearman | |
| 毒性 T | hERG(心脏毒性) | 分类 | AUROC |
| AMES(致突变性) | 分类 | AUROC | |
| DILI(药物性肝损伤) | 分类 | AUROC | |
| LD50_Zhu(急性毒性) | 回归 | MAE |
标准评测流程
from tdc.benchmark_group import admet_group
import numpy as np
group = admet_group(path="data/")
predictions_list = []
for seed in [1, 2, 3, 4, 5]: # 官方要求 5 个种子
predictions = {}
for benchmark in group:
name = benchmark["name"]
train_val, test = benchmark["train_val"], benchmark["test"]
train, valid = group.get_train_valid_split(
benchmark=name, split_type="scaffold", seed=seed)
model = train_your_model(train, valid) # 你的模型
predictions[name] = model.predict(test["Drug"])
predictions_list.append(predictions)
results = group.evaluate_many(predictions_list) # 返回均值与标准差
for k, v in results.items():
print(f"{k:35s} {v[0]:.3f} ± {v[1]:.3f}")
evaluate_many 要求提供 5 个种子的预测,直接返回均值和标准差——官方把「必须多种子」写进了评测协议,这是它比 MoleculeNet 严谨的地方。
各终点的实际难度
- 相对容易:AMES、CYP 抑制、hERG、BBB。数据量较大(数千到上万),机制相对单一,AUROC 通常能到 0.85 以上。
- 中等:Caco2、溶解度、亲脂性。回归任务,受实验条件影响,MAE 难以进一步压低。
- 很难:半衰期、清除率、分布容积、生物利用度。这些是体内综合参数,受吸收、代谢、转运、蛋白结合等多因素共同决定,Spearman 能到 0.4~0.5 就算不错。数据量也小(几百条)。
- DILI 特别难:肝损伤机制多样(免疫介导、代谢产物毒性、线粒体毒性),且标签本身基于临床观察,噪声大。
不要期待所有终点都能做到同样好。体外单一机制的终点可以预测得不错,体内综合参数的预测能力至今有限——这不是模型不够好,是问题本身的复杂度决定的。
用于实际项目时
- 公开模型只做粗筛:TDC 数据来自不同实验室,与你自家的测定条件不同。公开模型的绝对预测值不可直接采信,用于排序和风险提示更合适。
- 用内部数据微调:有自家 ADMET 数据时,用公开数据预训练 + 内部数据微调,通常明显优于任一单独使用。
- 关注适用域:预测新化学型时务必看不确定性,落在训练分布外的预测不该采信。
- 多任务往往有帮助:ADMET 各终点间有相关性,多任务学习可以让数据少的终点从数据多的终点受益。
上手提示
- 官方评测协议要求 5 个种子,直接返回均值 ± 标准差,纪律性优于 MoleculeNet;
- 体外单机制终点(hERG、CYP、AMES)好做,体内综合参数(半衰期、清除率)很难;
- 公开模型只做粗筛与排序,绝对值不可直接采信;
- 有内部数据时,「公开预训练 + 内部微调」通常是最优组合。
延伸资源
- 工具箱:173《TDC》、005《Therapeutics Data Commons 教程》;对照数据:243《MoleculeNet》;
- ADMET 各终点概念见「成药性」模块;
- 评测陷阱:169《Benchmark 陷阱》。