1. 课程导论:ADMET 预测的重要性与挑战
药物研发领域有个公开的秘密——很多候选化合物在临床阶段倒下,不是因为效果不好,而是因为 ADMET 性质不过关。我刚开始做药物计算时,总觉得活性筛选才是核心。直到参与的一个项目里,候选化合物在动物实验阶段因为代谢太快直接报废……那次之后,我才真正把 ADMET 预测放在优先位置。
你想想看,一个新药从靶点发现到上市,平均要花 10 年、烧掉 10 亿美元。其中约 40% 的临床失败案例,直接原因就是吸收、代谢或毒性问题。说白了,化合物活性再漂亮,ADMET 不行就是白费功夫。这门课要聊的,就是怎么把 ADMET 预测做得更准、更稳,真正落地到实战中。
1.1 什么是 ADMET?为什么绕不开它?
ADMET 是五个核心药代性质的首字母缩写。我习惯把它们拆成两组看:ADME 决定药物能不能到达靶点,T 决定药物会不会带来安全风险。下面这张表概括了每个属性的关键信息:
| 属性 | 关注核心 | 典型问题 | 预测难度 | 实验成本 |
|---|---|---|---|---|
| A(吸收) | 口服生物利用度、肠渗透 | 吸收差导致药效不足 | 中等 | 高 |
| D(分布) | 组织分布、血脑屏障穿透 | 分布不均或无法入脑 | 高 | 很高 |
| M(代谢) | 代谢稳定性、CYP 抑制 | 代谢太快或产生毒性代谢物 | 高 | 高 |
| E(排泄) | 清除率、半衰期 | 清除过快需频繁给药 | 中等 | 高 |
| T(毒性) | hERG、肝毒性、致癌性 | 安全窗口窄,临床风险高 | 很高 | 很高 |
核心认知:ADMET 问题在临床失败原因中占比超过 40%。如果你只优化活性而忽略药代性质,候选化合物大概率走不到临床试验后期。我个人习惯在虚拟筛选阶段就把 ADMET 预测作为硬性过滤器,而不是事后补救。
1.2 做 ADMET 预测,难在哪?
我在项目中遇到过不少坑,归纳起来主要有四个方面的挑战。每一个都直接影响预测模型的实用价值。
数据稀疏性与标注偏差
ADMET 数据不像活性数据那么充裕。我记得有个 hERG 预测项目,公开数据里阳性样本只有 200 多个。模型在训练集上表现不错,换了一个内部数据集就直接崩了。数据稀疏带来的过拟合,是 ADMET 预测最头疼的问题之一。
- 正负样本极度不平衡(毒性数据尤其明显)
- 不同实验室的测量标准不统一
- 专利用数据多,公共数据质量参差不齐
分子表征的多样性
同一个分子可以用几十种方式描述。指纹、描述符、图表示、SMILES 字符串……选哪个?我试过用 2D 指纹预测代谢稳定性,效果还可以,但换到血脑屏障穿透任务,图神经网络明显更优。没有一种表征能通吃所有 ADMET 任务。
实验条件的不可控差异
不同批次的实验数据,甚至同一实验室不同时间的测量结果,都可能存在系统偏差。你想想看,模型学到的到底是化学结构规律,还是实验批次伪影?这个问题在跨机构数据集成时尤其明显。
多任务目标冲突
一个分子吸收很好,但可能代谢太快。或者代谢稳定、但毒性偏高。ADMET 各属性之间不是独立的。我曾经优化一个系列化合物的 logD 来改善吸收,结果 hERG 抑制风险跟着上升了。多目标权衡是实际项目中绕不开的坎。
避坑提醒:我曾经在一个项目里直接合并了三个公开数据集训练代谢预测模型,没有做批次校正。结果模型在内部测试集上的 AUC 比预期低了 0.15。后来花了两周做数据清洗和 Harmonization 才把性能拉回来。数据质量永远优先于模型复杂度。
1.3 为什么通用模型不够用?调优是关键
很多人拿着开源或商业的 ADMET 预测工具直接用,觉得效果不好就是工具不行。其实问题往往出在"通用模型"和"具体场景"之间的鸿沟。
市面上不少预测模型是在 ChEMBL、PubChem 等公共数据上训练的。这些数据覆盖的化学空间很广,但针对某个特定靶点或化学系列,分布偏移非常严重。举个例子,一个在公共数据上预测 logD 很准的模型,换到你手上的含氟化合物系列上,误差可能翻倍。
所以需要调优。调优不是盲目调参数,而是系统性地适配数据、模型和评估方法。我个人习惯分三步走:
- 诊断偏移——用可视化工具对比训练集和目标数据的分子分布
- 选择策略——微调、领域自适应还是重训练,取决于数据量
- 迭代验证——用时间分割或 scaffold 分割评估泛化能力
实践建议:如果你只有少量内部数据(比如几百个分子),优先尝试预训练模型微调,而不是从头训练。我在两个项目中用这种方式,在保持公共知识的同时,把目标任务的 R² 提升了 0.15–0.25。
1.4 ADMET 预测调优策略知识体系
这门课围绕"数据—特征—模型—评估—应用"五个模块展开。下面这张图展示了整体的知识结构和学习路径。你可以把它当作课程地图,每学完一个模块回来对照一下,能清楚自己处在哪个位置。
五个模块环环相扣。数据工程解决"原料"问题,特征工程把分子转换成模型能理解的语言,模型工程选择合适的算法,评估工程确保你没有被指标欺骗,应用工程让预测产生实际价值。我在实际项目中反复走过这个循环,每次回到数据工程阶段都会有新发现。
1.5 新手最容易踩的三个坑
带过几次团队后,我发现大家在 ADMET 预测上犯的错误很相似。这里直接列出来,省得你走弯路。
坑一:拿公共模型直接预测内部化合物。我曾见过一个团队用某个公开 logD 模型预测自己公司的化合物库,误差均值达到 0.8 个 log 单位。不是模型不好,是化学空间差异太大。建议至少用 50–100 个内部化合物做验证,确认偏差方向再决定是否微调。
坑二:只看单一评估指标。我见过 AUC = 0.92 的毒性预测模型,在真实筛选中几乎全报假阳性。为什么?因为测试集负样本占比过高。单一指标会骗人。交叉验证时至少看 AUC、F1、召回率和特异度四个指标。
坑三:忽视不确定性估计。模型输出一个预测值就信了?我踩过这个坑。化合物的化学结构如果远离训练集,模型的预测其实不可靠。现在做项目,我强制要求每个预测给出置信区间或不确定性分数,宁可说"不知道",也不给出误导性结论。
起步建议:如果你刚接触这个领域,先拿一个公开数据集(比如 Tox21 或 hERG 基准)完整跑一遍流程。从数据清洗、特征计算到模型评估,亲手做一遍比读十篇综述更有用。我在入门时花了两个月把五个数据集从头到尾跑通,后来做项目心里就有底了。
好了,这一章把 ADMET 预测的"为什么重要"和"难在哪"梳理了一遍。记住四个核心挑战和三个常见坑,后面每一章都会围绕这里的知识点展开。