1. ADMET 预测概述:从药物研发到计算建模
做药物研发的人都知道一句话:「一个候选分子,安全性没过,前面全白干。」我当年参与的第一个项目,花了两年筛选出活性极高的先导化合物,结果在动物实验阶段因为肝毒性直接流产。从那以后,我对 ADMET 预测就再也不敢马虎了。
ADMET 到底是什么?用大白话说,就是看一个分子到了体内会不会被吸收、分布到哪、怎么代谢、能不能排出去、有没有毒性。这五个字母拼起来就是药物研发的「生死线」。我习惯把这个过程叫做「从分子到药」的最后一道坎——活性再强,过不了 ADMET 也白搭。
1.1 药物研发的痛点与 ADMET 的角色
你想想看,一个新药从靶点发现到上市,平均要花 10 年,烧掉 26 亿美元。更残酷的是,大约 90% 的候选分子在临床试验阶段被淘汰。其中约 40% 是因为 ADMET 性质不达标——说白了,分子在体外表现挺好,一到体内就「翻车」。
| 淘汰环节 | 主要失败原因 | ADMET 关联 |
|---|---|---|
| 临床 I 期 | 毒性、药代动力学差 | 高 |
| 临床 II 期 | 疗效不足或毒性 | 中 |
| 临床 III 期 | 安全性与有效性不足 | 中 |
| 上市后 | 罕见毒性反应 | 低 |
我记得有一次做数据复盘,发现同一个分子在两种动物模型上的代谢半衰期差了 5 倍。原因竟然是体外的 CYP 酶活性测定条件没控制好。这让我意识到,ADMET 预测不仅仅是算几个参数,更考验你对生物机理的理解。
1.2 ADMET 的五个维度
别被「五个字母」吓住,我们一个一个拆开看。
- A – Absorption(吸收):分子能不能穿过肠壁、进入血液?常用指标是 Caco-2 渗透性、PAMPA、人结肠腺癌细胞模型。我常用的是 LogD 和 PSA(极性表面积)做快速估算。
- D – Distribution(分布):分子到了血液里,会去哪些组织?血浆蛋白结合率、血脑屏障透过率是关键。做中枢神经系统药物的话,这部分尤其重要。
- M – Metabolism(代谢):肝脏里的酶(尤其是 CYP450 家族)会不会把分子分解掉?代谢稳定性和代谢产物毒性经常被忽略,但踩坑最多的就是这里。
- E – Excretion(排泄):分子怎么离开身体?主要看肾脏清除率和胆汁排泄。半衰期短,一天吃三回还不管用,患者依从性差。
- T – Toxicity(毒性):这可能是最让人头疼的部分。肝毒性、心脏毒性(hERG)、遗传毒性……一个毒性指标踩雷,前功尽弃。
给我的教训: 有时候你做出来的代谢预测很准,但毒性预测偏差极大。我后来养成了一个习惯——每种毒性至少用三个不同模型的预测结果做交叉验证(比如用深度学习 + 分子指纹 + 药效团)。单个模型容易过拟合。
1.3 从实验到计算:为什么要用建模?
早期药物研发靠的是湿实验——养细胞、测渗透、跑 HPLC。但一个高通量筛选下来,几万个分子挨个测?时间和成本都扛不住。
计算建模能做什么?
- 每天筛选数百万个虚拟分子
- 在上合成之前就预测 ADMET 性质
- 指导化学家去优化分子结构(比如加一个基团能降低毒性)
说白了,计算建模就是给药物研发加了「加速器」。但注意,它不是取代实验,而是帮你在海量分子中找到最值得去合成的候选。
我在一个项目里做过对比:用 SVR 模型预测 Caco-2 渗透性,R² 能做到 0.7 以上,而实际实验重复的标准差大概在 0.2 以内。也就是说,模型预测的精度足够作为前期筛选依据。当然了,最后还是要用实验验证,但至少能省掉 80% 的无效劳动。
1.4 ADMET 预测建模的常用方法
现在做 ADMET 预测的方法挺多,我按使用率排个序:
| 方法 | 优点 | 缺点 | 我的推荐场景 |
|---|---|---|---|
| 线性回归 / PLS | 解释性高 | 非线性建模能力弱 | 初步筛选 |
| 随机森林 | 鲁棒性好,不易过拟合 | 对异常值敏感 | 毒性分类 |
| SVR(支持向量回归) | 核函数灵活,小样本表现好 | 调参复杂,计算量大 | 连续值预测(如 LogD, 清除率) |
| 神经网络 / 图神经网络 | 能自动学习分子表征 | 需要大量数据,可解释差 | 大型企业生产环境 |
我个人最偏爱 SVR,尤其是处理小样本(几百到几千个分子)数据集的时候。但你得花功夫调参——这就是我们这门课的核心。
注意: 别一上来就用深度学习。很多免费公开数据集只有几百个分子,深度学习容易过拟合。SVR 配合适当的特征工程(如 ECFP 指纹、DESC 描述符),效果往往更好。先跑通 SVR,再考虑更复杂的模型。
1.5 本章知识结构
为了让你对整个课程有个直观的认识,我画了一张知识结构图。你看完大概就知道后面 29 章在讲什么了。
我把整个课程拆成了四个阶段:数据(怎么找、怎么洗)、特征(分子用什么表示)、模型(SVR 调参是核心)、评估(怎么判断好坏)。你跟着这个顺序学,不会乱。
1.6 你需要准备什么
开始动手之前,我建议你先搭好环境。下面是我常用的清单:
- Python 3.8+:推荐 Anaconda 发行版
- scikit-learn:SVR 实现的主力库
- RDKit:分子描述符和指纹计算必备
- Pandas / NumPy:数据处理基础
- Matplotlib / Seaborn:结果可视化
# 一键安装参考(建议用 conda 或 venv 隔离)
conda create -n admet python=3.9
conda activate admet
pip install scikit-learn rdkit pandas numpy matplotlib seaborn
嗯,这个章节我们就讲这么多。你先把 ADMET 的五个维度理清楚,再对整个建模流程有个框架性的认识。后面每一章我都会带你手搓代码,一起踩坑、一起调优。