想象一下,有一颗载着治疗任务的“药丸旅行者”走进了一座名为“人体”的城市。他首先要通过机场安检(吸收)、搭乘公共交通(分布)、在本地工厂被加工成新身份(代谢)、把废物交给垃圾清运(排泄),全程还不能制造混乱(毒性)。这五个关口,医药界统称为 ADMET。药物能不能真正成为治病救人的好药,很大程度取决于它能否顺利走完这段旅程。 在传统研发中,这些实验往往要耗费数年时间和上亿美元。如今,AI模型可以从分子的结构特征出发,快速预测 ADMET 风险并给出综合的“成药性评分”,相当于给每个候选分子发一张“旅行风险评估卡”。本文就以这场人体城市冒险为线索,带你理解成药性评估的底层逻辑、经验规则和 AI 建模方法。
掌握 ADMET 预测与成药性评估,是 AI 制药工程师进入药物发现流程的必备技能,能帮你用代码更快筛选出安全、有效、可制造的候选分子。
可视化演示
演示Lipinski五规则、Veber规则与多维成药性评分,理解AI预测分子成药潜力。
本节配有交互动效(进入视口后自动加载,约 3KB)。
Lipinski五规则 MW HBD MW≤500 违反规则越多成药性越低
一、ADMET五兄弟
想象一个药分子是远道而来的旅行者,走进“人体城市”前,他必须依次通过五个检查口:机场入境(吸收)、城市交通(分布)、当地加工厂(代谢)、垃圾清运(排泄),以及全程的治安检查(毒性)。任何一个口子亮红灯,这位旅客都可能被挡在门外,或者在城市里惹出麻烦。医药科学家把这五道关口称为 ADMET。
从实验室试管到人体临床,药物首先要经历的就是这五兄弟的考验。吸收指药物从肠道进入血液的效率;分布指它能否随血流到达病灶;代谢指肝脏等器官如何改造它;排泄指肾和胆汁如何把它清理出去;毒性则关注药物是否伤害细胞或器官。过去,这些只能靠动物实验和体外实验反复测试,慢且贵。
AI 的介入,让药物分子刚画出来就能预判“五关成绩”。我们常把每个属性量化成 0 到 1 的分数,再合成一个简单的综合评分。就像给旅行者做一张通关积分卡,分数越高,成药潜力越大。
五关全顺只是成为合格“市民”的第一步。它带来了治疗能力,但能不能被接受,还要看它是否具备真正的“工作能力”——这就是成药性的三要素。
- 单一属性评分每个关卡用 0 到 1 的分数表示通过程度,1 表示完美。
- 求和累加把五个属性的分数加起来,得到总得分。
- 平均归一除以 5,让成药性评分保持在 0~1 区间,方便做阈值判断。
二、成药性三要素
旅行者五关全过,说明他不惹祸、能顺利在城市里走一圈;但一个不惹祸的人未必能胜任医生或消防员的工作。药物同样如此:除了 ADMET 过关,还必须“能干”“安全”“好制造”。这三点被称为 成药性三要素。
第一是药效,药物必须能精准击中靶点,产生治疗作用;第二是安全性,副作用和毒性要在可接受范围内;第三是可制造性,包括合成路线是否简单、原料是否便宜、制剂是否稳定。一个分子即使活性极高,如果合成要三十步、或在空气里三天就变质,也很难成为商品药。
AI 模型通常把三要素变成可计算的分数,再用加权方式合成“总评分”。权重的确定可以来自行业经验,也可以从历史数据中回归学习。这样,模型在筛选阶段就能同时兼顾“能不能治病”和“能不能落地”。
有了综合评分,仍需要一个“秒筛”工具快速排除明显不合格的分子。医药史上最著名的两道安检门,就是 Lipinski 规则和 Veber 规则。
- 药效项表示分子达成治疗目标的活性强度,越强越好。
- 安全项表示毒性风险的倒数,分数越高代表越安全。
- 制造项代表合成可行性、稳定性与成本友好度。
- 权重相加用权重 \(w_1,w_2,w_3\) 平衡三方面的重要性,三者之和为 1。
三、Lipinski规则
很多旅行者连机场自动安检门都过不去:有的体型太大,有的浑身油腻,有的随身携带太多“氢键行李”。1997 年,科学家 Chris Lipinski 统计了上千个口服药物,总结出著名的 Lipinski 类药五规则,专门用来快速预判口服吸收潜力。
规则本身并不复杂:分子量不超过 500,脂水分配系数 logP 不超过 5,氢键供体数不超过 5,氢键受体数不超过 10。超标的分子往往渗透性差、溶解度低,还没到血液就被挡在了肠道里。它像一张体检表,几分钟就能完成初筛。
但要注意,Lipinski 规则是经验筛选,不是“及格线”。很多好药偶尔也会违反一两条,只是整体上符合规则的分子成为口服药的概率更高。这也让它成为 AI 特征工程里最重要的先验知识之一。
过了第一道安检,还有第二道:行李的形状和湿度也要控制。这就要请出 Veber 规则。
- 分子量(MW)分子总质量不超过 500,否则难以穿过生物膜这道“安检门”。
- 脂水系数(logP)衡量分子亲油还是亲水,数值太高像一身油腻的乘客,容易在体内“惹事”。
- 氢键供体数(HBD)能给出氢键的基团不超过 5 个,否则易与水结合而难以穿膜。
- 氢键受体数(HBA)能接受氢键的基团不超过 10 个。
四、Veber规则
旅行者过了“身高体重”检查,但随身行李如果是一捆缠在一起的绳子,或者一块湿漉漉的海绵,照样会在城市里寸步难行。Veber 规则正是针对这类问题的补充安检。
Veber 团队研究发现,除了分子量和氢键,可旋转键数(RB) 和 极性表面积(TPSA) 对口服生物利用度影响很大。可旋转键太多,分子太“软”,晃动剧烈,难以稳定结合靶点;极性表面积太大,分子太“湿”,不容易穿透细胞膜。
因此 Veber 规则给出了两个补充阈值:可旋转键不超过 10 个,极性表面积不超过 140 平方埃。它和 Lipinski 规则一起,构成了经验规则时代最经典的两道筛选关卡。在 AI 特征工程中,RB 和 TPSA 也常被当作关键输入特征。
经验规则给了人类一份“肉眼可见”的标准,但面对成千上万的候选分子,还需要 AI 把这份标准变成机器能读的“登记照”。
- 可旋转键数(RB)分子中能自由旋转的单键数量,越少则柔性越低、结构越固定。
- 极性表面积(TPSA)分子表面所有极性原子的总面积,它影响细胞膜渗透能力。
- 联合判断两条同时满足时,口服生物利用度通常更有保障。
五、AI特征表示
如果我们想让 AI 面试官判断药物分子是否靠谱,第一步得把分子拍成一张“登记照”。不同拍摄方式,就是不同的 特征表示。选错了表示方式,再聪明的模型也认不出这个分子。
最常用的有三种登记照。第一种是 分子指纹:把分子结构哈希成一段 0/1 位向量,相当于“带刀不带刀”“有无羟基”这类布尔问题清单。第二种是 理化参数:分子量、logP、氢键数、TPSA 等连续数值,像登记表上的身高体重。第三种是 分子图:把原子看成节点、化学键看成边,保留完整的拓扑连接,适合图神经网络。
在成药性评估里,常把这几种特征拼接起来,组成一个综合特征向量。比如把指纹向量和理化参数向量首尾相连,共同喂给深度学习模型。特征越丰富,模型才越有可能看到完整的“旅行者档案”。
登记照拍好了,接下来轮到资深面试官——深度学习模型——来综合打分。
- 分子指纹位向量将分子结构编码为 0/1 序列,每一位对应一种子结构是否存在。
- 理化参数向量把分子量、脂水系数等连续描述符排成数值列表。
- 拼接为总特征用分号把两个向量首尾相连,得到新的 n+k 维特征向量。
六、深度学习评分
资深面试官不会只看一个体检指标,而是把所有特征揉在一起,甚至能发现“个子矮但特别敏捷”这类隐性优势。深度学习评分模型就是这样的面试官:它不打自己的经验规则,而是从大量数据里自动学习特征组合。
在 ADMET 预测中,深度学习模型接受分子指纹或分子图作为输入,输出 0 到 1 之间的可信评分。最基础的结构是多层感知机:先做线性变换,再经过 ReLU 激活引入非线性,最后一层用 sigmoid 压缩为概率。若采用多任务学习,还能同时预测吸收、毒性等多个性质,让模型共享底层表征,泛化能力更强。
这类模型的价值在于,它不依赖人工规则的线性组合,能捕捉“看似违反了 Lipinski 规则,但因为特殊三维结构仍然能够成药”的复杂模式。当然,它也需要大量高质量标注数据和严谨验证,否则就只是一张乱打分的嘴。
面试官打完分,必须接受“考评委”的检验。候选分子能不能真正拿到入场券,还要看筛选流程和验证方法是否可靠。
- 输入特征向量把分子登记照传给网络的第一站。
- 隐藏层线性变换用权重矩阵 \(\mathbf{W}_1\) 和偏置 \(\mathbf{b}_1\) 对输入做第一次投影。
- ReLU 激活把负值归零,引入非线性,让模型能学到复杂模式。
- 输出层线性变换用第二组权重和偏置把隐藏状态压缩成一个实数。
- Sigmoid 映射把实数压缩到 0~1,解释为“可成药”的概率。
七、筛选与验证
再优秀的面试官,也要用“历届旅客记录”来证明自己不是瞎打分。在 AI 制药中,模型给出的成药性评分必须经过 筛选与验证,才能被信任。筛选负责“找得准”,验证负责“判得稳”。
虚拟筛选是第一步:用训练好的模型扫描百万级分子库,给每个分子打分排序,把排名靠前的分子挑出来做实验。随后要建立高质量的验证流程,包括数据集构建、交叉验证、外部验证和实验回测。比如把数据切分成训练集和测试集,用交叉验证估计模型在未知分子上的表现;再用完全没见过的独立数据集做外部验证;最后把预测高分分子送去湿实验室实测,确认“纸上分数”和“真实环境”一致。
在评估分类效果时,不能只看准确率,因为阳性分子往往很少。业界更常用 F1 分数,它同时惩罚“漏报”和“误报”,能更公道地评价模型在候选筛选中的表现。
唯有通过层层筛选和验证,这位“药丸旅行者”才真正从 AI 评分卡走进实验室,踏上成为新药的征途。
- 精确率(Precision)预测为阳性的候选中,真正有活性的比例。
- 召回率(Recall)真实有活性的分子中,被成功捡出来的比例。
- 调和平均对两者取倒数平均再取倒数,避免被一个过高数字拉高整体评价。
AI 应用场景
虚拟筛选中的初筛哨兵
阶段:候选化合物发现
解决的问题:传统方法用实验逐个体外测试上百万个分子,成本极高、周期极长。AI 模型先用 ADMET 预测给分子排序,把明显不合格的候选淘汰,再用实验验证少量高分分子。
具体案例:药企在化合物库中部署一个成药性评分模型,输入分子指纹和理化特征,输出 0~1 评分。筛选后,排名前 1% 的分子进入后续活性测试,命中率比随机筛选提升数倍。
先导化合物优化
阶段:先导化合物优化
解决的问题:先导化合物常有“活性很棒但毒性偏高”或“水溶性太差”的缺陷。工程师用 AI 评分模型作为快速反馈,指导化学修饰方向。
具体案例:团队对先导物进行骨架替换,每生成一个类似物就立即用深度学习评分模型预测其吸收、毒性和可制造性得分,保留高分结构继续迭代,将优化周期从数月压缩到数周。
多任务 ADMET 预警
阶段:临床前安全性评价
解决的问题:单靶点预测容易忽视 ADMET 属性之间的关联。多任务深度学习模型同时预测 hERG 心脏毒性、CYP 代谢抑制等多个指标,提前拦住“高危旅客”。
具体案例:使用分子图神经网络对候选药物做多标签分类,一次推理得到 5 个 ADMET 风险概率,供毒理学家做早期风险权衡,减少动物实验数量。
Python 演示
import numpy as npfrom sklearn.linear_model import LogisticRegression def generate_data(n=500): np.random.seed(42) mw = np.random.normal(350, 100, n) logp = np.random.normal(2, 2, n) hbd = np.random.randint(0, 8, n) hba = np.random.randint(0, 12, n) tpsa = np.random.normal(70, 40, n) rotb = np.random.randint(0, 14, n) X = np.column_stack([mw, logp, hbd, hba, tpsa, rotb]) y = ((mw <= 500) & (logp <= 5) & (hbd <= 5) & (hba <= 10) & (rotb <= 10) & (tpsa <= 140)).astype(int) return X, y X, y = generate_data()clf = LogisticRegression(max_iter=1000)clf.fit(X, y)print('训练精度:', clf.score(X, y)) def predict(mw, logp, hbd, hba, tpsa, rotb): arr = np.array([[mw, logp, hbd, hba, tpsa, rotb]]) prob = clf.predict_proba(arr)[0][1] return '候选' if prob >= 0.5 else '淘汰' print(predict(400, 3, 2, 6, 80, 5))print(predict(700, 4, 3, 8, 100, 9))
y = ((mw <= 500) & (logp <= 5) & (hbd <= 5) & (hba <= 10) & (rotb <= 10) & (tpsa <= 140)).astype(int)用经验规则生成“成药/淘汰”标签,供模型学习。clf = LogisticRegression(max_iter=1000)创建一个轻量级分类器,模拟深度学习评分模型的简化版。clf.fit(X, y)让模型从 500 个样本中学习规则背后的线性边界。prob = clf.predict_proba(arr)[0][1]输出分子“可成药”的概率,相当于模型评分。return '候选' if prob >= 0.5 else '淘汰'按 0.5 阈值把概率转成业务决策。
常见误区
误区总觉得只要分子量、logP、氢键数都符合 Lipinski 规则,这个分子就能成药。
正解Lipinski 规则只是经验统计,不是物理定律。它对口服吸收有较好的“初筛”意义,但很多上市药物也会违反一两条。它不能预测活性、毒性和可制造性,更不能替代实验。它更像机场安检第一条队伍,过了安检不代表一定被录用。
为何常见:因为规则简单好记、数字明确,初学者容易把它当成万能筛选标准。
误区认为只要拿到分子指纹,深度学习就能自动学会所有 ADMET 性质。
正解分子指纹只能表达子结构存在与否,会丢失三维构象、手性、电荷分布等关键信息。实际项目中通常需要指纹、理化参数、分子图等多模态特征融合,才能较准确预测吸收、毒性等复杂性质。
为何常见:因为很多入门教程只演示指纹输入,让人觉得它是唯一标准输入。
误区认为多层神经网络在 ADMET 预测任务上一定优于浅层模型。
正解ADMET 数据通常样本少、噪声大,过深的网络容易过拟合训练集,导致外部验证分数大幅下降。模型结构要根据数据量、任务复杂度做取舍,多任务学习和正则化往往比单纯加深层数更有效。
为何常见:受图像识别、自然语言处理等大模型成功经验影响,忽略了制药数据“小而贵”的特点。
误区只盯着训练集准确率或测试集准确率,认为 98% 就是好模型。
正解在候选药物筛选中,活性分子占比往往很低,这时准确率可能被“多数类”主导。只有使用精确率、召回率、F1、AUC 以及外部独立验证,才能反映真实筛选能力。准确率高不等于真的能捞回阳性分子。
为何常见:因为分类问题里准确率是最直观、最容易理解的指标,初学者习惯拿它当唯一标准。
面试题
Q1. 在 ADMET 中,“吸收”描述的是?
- A.药物在体内如何分布
- B.药物从给药部位进入血液← 正确答案
- C.药物如何被肝脏代谢
- D.药物对器官的毒性反应
答案:B。吸收指药物从肠道等给药部位进入血液循环的过程。分布是进入血液后的去向,代谢是化学改造,毒性则是有害作用,所以选 B。
Q2. Lipinski 规则对分子量的上限是多少?
- A.300
- B.400
- C.500← 正确答案
- D.600
答案:C。Lipinski 类药五规则规定分子量不超过 500,超过这个阈值的分子通常口服吸收较差,因此选 C。
Q3. 下列哪个属于 Veber 规则的补充指标?
- A.logP
- B.对映体纯度
- C.可旋转键数← 正确答案
- D.pKa
答案:C。Veber 规则关注可旋转键数和极性表面积,用来补充判断口服生物利用度。logP 属于 Lipinski 规则,故选 C。
Q4. 以下哪些是 AI 常用于成药性预测的分子特征表示?
- A.分子指纹编码← 正确答案
- B.分子图结构← 正确答案
- C.人口普查数据
- D.理化参数数值← 正确答案
答案:ABD。分子指纹、分子图和理化参数是三种主流表示方式,分别刻画子结构、拓扑与连续性质。人口普查数据与分子结构无关,所以不选。
Q5. 深度学习成药性评分模型的输出常用什么激活函数映射到 0-1?
- A.ReLU
- B.Sigmoid← 正确答案
- C.Tanh
- D.Softmax
答案:B。Sigmoid 能把任意实数压缩到 0~1,适合做二分类概率输出。ReLU 常用于隐藏层,Tanh 输出范围是 -1~1,Softmax 用于多分类,所以选 B。
Q6. F1 分数是精确率和召回率的什么?
- A.算术平均
- B.几何平均
- C.调和平均← 正确答案
- D.加权对数和
答案:C。F1 是精确率和召回率的调和平均,能同时惩罚漏报和误报,尤其适合正负样本不平衡的药物筛选场景,所以选 C。
Q7. 交叉验证的主要作用是?
- A.增加模型参数量
- B.减少训练数据
- C.评估模型对新数据泛化能力← 正确答案
- D.提高分子合成产率
答案:C。交叉验证通过多次切分训练/验证集来估计模型在未见数据上的表现,是评估泛化能力的常用手段。它不改变参数量,也不涉及湿实验,故选 C。
Q8. 下列关于成药性三要素的说法,正确的有?
- A.药效指目标活性足够强← 正确答案
- B.安全性关注副作用风险← 正确答案
- C.可制造性关注合成难度← 正确答案
- D.三要素完全相互独立
答案:ABC。药效、安全性、可制造性分别刻画活性、风险和落地难度。它们之间常有矛盾,比如提高活性可能增加毒性,并非完全独立,所以 D 错误。
Q9. hERG 毒性预测通常被归入 ADMET 中的哪个环节?
- A.吸收
- B.代谢
- C.毒性← 正确答案
- D.排泄
答案:C。hERG 通道抑制会导致心脏毒性,属于安全性/毒性评估范畴,是临床前最受关注的指标之一,所以归入毒性环节。
Q10. 在模型验证中,下列哪些做法可降低过拟合风险?
- A.扩大训练集多样性← 正确答案
- B.使用交叉验证调参← 正确答案
- C.外部独立测试← 正确答案
- D.增加模型隐藏层数
答案:ABC。更多样化的训练数据、交叉验证和外部独立测试都能帮助发现过拟合;单纯增加隐藏层数通常会加剧过拟合,故 D 不正确。