1. ADMET 预测概述:从药物研发到计算建模

做药物研发的人都知道一句话:「一个候选分子,安全性没过,前面全白干。」我当年参与的第一个项目,花了两年筛选出活性极高的先导化合物,结果在动物实验阶段因为肝毒性直接流产。从那以后,我对 ADMET 预测就再也不敢马虎了。

ADMET 到底是什么?用大白话说,就是看一个分子到了体内会不会被吸收、分布到哪、怎么代谢、能不能排出去、有没有毒性。这五个字母拼起来就是药物研发的「生死线」。我习惯把这个过程叫做「从分子到药」的最后一道坎——活性再强,过不了 ADMET 也白搭。

1.1 药物研发的痛点与 ADMET 的角色

你想想看,一个新药从靶点发现到上市,平均要花 10 年,烧掉 26 亿美元。更残酷的是,大约 90% 的候选分子在临床试验阶段被淘汰。其中约 40% 是因为 ADMET 性质不达标——说白了,分子在体外表现挺好,一到体内就「翻车」。

淘汰环节主要失败原因ADMET 关联
临床 I 期毒性、药代动力学差高
临床 II 期疗效不足或毒性中
临床 III 期安全性与有效性不足中
上市后罕见毒性反应低

我记得有一次做数据复盘,发现同一个分子在两种动物模型上的代谢半衰期差了 5 倍。原因竟然是体外的 CYP 酶活性测定条件没控制好。这让我意识到,ADMET 预测不仅仅是算几个参数,更考验你对生物机理的理解。

核心观点: ADMET 预测是药物研发的「守门员」。早期用计算模型筛掉大概率会失败的分子,能节省巨大的湿实验和临床成本。

1.2 ADMET 的五个维度

别被「五个字母」吓住,我们一个一个拆开看。

  1. A – Absorption(吸收):分子能不能穿过肠壁、进入血液?常用指标是 Caco-2 渗透性、PAMPA、人结肠腺癌细胞模型。我常用的是 LogD 和 PSA(极性表面积)做快速估算。
  2. D – Distribution(分布):分子到了血液里,会去哪些组织?血浆蛋白结合率、血脑屏障透过率是关键。做中枢神经系统药物的话,这部分尤其重要。
  3. M – Metabolism(代谢):肝脏里的酶(尤其是 CYP450 家族)会不会把分子分解掉?代谢稳定性和代谢产物毒性经常被忽略,但踩坑最多的就是这里。
  4. E – Excretion(排泄):分子怎么离开身体?主要看肾脏清除率和胆汁排泄。半衰期短,一天吃三回还不管用,患者依从性差。
  5. 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 章在讲什么了。

ADMET预测SVR参数调优实战指南 · 知识结构 ADMET预测 SVR调优 数据准备与清洗 特征工程与选择 SVR模型与调优 分子数据集下载 缺失值处理与归一化 分子描述符计算 ECFP/拓扑指纹 特征选择与降维 SVR核函数选择 C / epsilon / gamma 网格搜索与交叉验证 模型评估与部署 SVG说明:本章为知识总览,后续章节按此结构依次展开数据 → 特征 → 模型 → 评估

我把整个课程拆成了四个阶段:数据(怎么找、怎么洗)、特征(分子用什么表示)、模型(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 的五个维度理清楚,再对整个建模流程有个框架性的认识。后面每一章我都会带你手搓代码,一起踩坑、一起调优。