一、ADMET 概述:建模前必须搞懂的那些事

好,咱们直接开篇。ADMET 这个词,搞药物研发的应该不陌生——吸收、分布、代谢、排泄、毒性。说白了,就是药物在生物体内走一遭的完整旅程。

我个人习惯,刚接触一个新项目时,最先看的不是活性数据,而是 ADMET 性质。为什么?因为一个候选分子,活性再漂亮,如果吸收差、毒性大,基本就是废的。

1.1 药物研发中的 ADMET 重要性

你想想,一个化合物的宿命一般是这样:

  1. 体外活性筛出来了,IC50 漂亮得很。
  2. 进动物实验,血药浓度上不去——吸收有问题。
  3. 好不容易吸收进去了,肝脏直接把它代谢掉——半衰期短得可怜。
  4. 或者更糟,代谢产物有毒性,肝肾损伤。

关键数据对比:我当年参与过一个激酶抑制剂项目,候选分子活性达到了皮摩尔级别,项目组兴冲冲推进到临床前毒理。结果 hERG 抑制实验直接亮了红灯——QT 间期延长风险,项目被迫终止。前后浪费了 18 个月和几百万美元。

为什么 ADMET 这么重要?

说白了,临床试验失败的案例中,大约 40% 直接归因于 ADMET 问题。这里有几个经典的参数,我列个表给你看:

参数 含义 出问题的影响
Caco-2 渗透性 肠道吸收能力 口服生物利用度低
血浆蛋白结合率 药物在血液中的结合程度 游离药物浓度不足
CYP 酶抑制 代谢酶活性影响 药物-药物相互作用风险
hERG 抑制 心脏毒性指标 猝死风险
LogD 脂溶性/亲水性平衡 透膜与溶解度矛盾

我在实际项目中见过最典型的一个案例就是 LogD 的问题。一个候选分子 LogD 高达 5.0,体外透膜很好,但溶解度极差,体内根本无法形成有效血浆浓度。这就是典型的脂溶性太好反受其害。

1.2 ADMET 建模的历史与现状

模型这东西,也不是一天建成的。我粗略梳理了一下这个领域的发展脉络:

ADMET 模型演化时间线 传统 QSAR 回归/分类模型 机器学习时代 RF/SVM/GBDT 深度学习 GNN/Transformer 多任务学习 联合 ADMET 建模 预训练大模型 MolFormer/CLM 当前趋势:多模态融合 + 不确定性量化 + 可解释性

第一阶段:传统 QSAR

20 世纪 90 年代,Hansch 方程、Free-Wilson 分析。特征基本靠手工算——分子量、LogP、氢键供受体个数。模型用多元线性回归,精度嘛…说实话惨不忍睹。

第二阶段:机器学习

2000 年后,随机森林、SVM 开始用。我记得 2015 年做过一个 Caco-2 渗透性模型,用随机森林训练,AUC 从传统方法的 0.7 提升到了 0.85。当时觉得已经是天花板了。

第三阶段:深度学习

2018 年后,图神经网络 (GNN) 和 Transformer 架构入场。分子不需要手动算特征了,直接输入 SMILES 或分子图就行。我最近用 GNN 做 hERG 预测,AUC 能到 0.92。但你猜怎么着?泛化能力依然是个大问题。

避坑指南:我曾经踩过一个坑——用公开数据集训练模型时 AUC 高达 0.95,可拿到自己公司的内部化合物上一测,AUC 直接掉到 0.68。为什么?训练集和测试集的结构多样性差异太大了。这个教训让我一直强调:数据分布对齐比模型架构更重要。

1.3 ADMET 预测的常见挑战

做 ADMET 建模这么多年,我总结出几个永远的痛点:

1. 数据质量问题

这是第一位的,而且是永恒的。公开数据库像 ChEMBL、PubChem 确实数据量大,但质量参差不齐。我做的一个案例给大家看看:

# 一个典型的实验数据混乱场景
# 同一个化合物在不同实验室测出的 LogD 值
Compound: CHEMBL123456
Lab A (pH 7.4): LogD = 2.3
Lab B (pH 7.4): LogD = 3.1
Lab C (pH 7.4): LogD = 2.8
# 你能相信哪个?

2. 数据不平衡

毒性数据尤其明显。阳性样本太少。比如 Ames 试验,突变阳性比例大约只有 10%-15%。你用这类数据训练分类模型,直接预测全部为阴性就能有 85% 的准确率——但这样的模型毫无价值。

3. 领域外推问题 (OOD)

化合物空间的化学多样性是近乎无限的。训练集只覆盖了很小一块,模型遇到结构全新的骨架时,表现会急剧下降。我习惯用 Tanimoto 相似度来筛分子,遇到相似度低于 0.3 的,直接打个标签:慎用。

4. 多任务之间的冲突

这一点很有意思。你想想看,如果想提升 LogD(亲脂性),通常渗透性会变好,但溶解度会变差。反过来,降低 LogD 会提升溶解度,但透膜性下降。这就是 ADMET 属性之间天然存在的权衡关系。

重要提示:我建议在任何 ADMET 项目中,都不要单独优化一个属性而忽视其他属性。一个很实用的做法是建立多属性或多任务模型,同时预测吸收、代谢、毒性等多个端点,这样能捕捉到属性之间的相关性。

我记得 2020 年参加过一个 Kaggle-style 的 ADMET 预测竞赛,冠军模型用的是一个多任务图神经网络,同时预测 12 个 ADMET 属性,效果远超单任务模型的拼接。这就是利用了属性之间的共享信息。

还有一点值得提——可解释性。药物化学家不光要一个预测值,他们还想知道:为什么这个化合物有肝毒性?是哪个官能团导致的?这里的硫醚键?还是那个芳香胺?没有可解释性的模型在工业界很难落地。

嗯,这部分内容就到这。第一章算是给大家画了个完整的背景图。后面我们从数据准备开始,一步步走完整个 ADMET 建模到部署的实战流程。