Skip to content

AI 制药:从分子生成到 ADMET 预测的算力管线 ​

说明:本篇为综述/无第一手实验数据,采用公开文献与行业实践路线。

实验目标 ​

AI 制药是"智算×科学计算"结合的典型行业:分子动力学(超算)提供构象数据,生成模型与 ADMET 预测(智算)提供候选与筛选,两者循环迭代。本篇目标:拆解一条完整的新药发现算力管线——分子表示 → 生成模型 → 虚拟筛选(对接/动力学)→ ADMET 预测 → 湿实验闭环,讲清每个环节用什么模型、吃多少算力、数据从哪来,以及"虚拟筛选的坑"(对接打分不可靠、数据偏差、过拟合公共数据集)如何工程化规避。

代码逐段拆解 ​

第一段:分子表示与数据加载 ​

python
# 用 RDKit 把 SMILES 转成图/特征(管线入口)
from rdkit import Chem
from rdkit.Chem import Descriptors, rdMolDescriptors

def smiles_to_features(smiles):
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return None                      # 无效 SMILES 直接过滤
    return {
        'n_atoms': mol.GetNumAtoms(),
        'mw': Descriptors.MolWt(mol),
        'logp': Descriptors.MolLogP(mol),        # 脂溶性
        'tpsa': rdMolDescriptors.CalcTPSA(mol), # 极性表面积
        'rotb': rdMolDescriptors.CalcNumRotatableBonds(mol),
    }

要点:

  1. SMILES 是入口,RDKit 是标准工具:SMILES 一行字符串表示分子,RDKit 解析并计算描述符;MolFromSmiles 返回 None 就是脏数据,管线第一件事是过滤。
  2. 描述符是"规则特征":MW/logP/TPSA 是传统 QSAR 的特征,和深度学习表征(图/3D 构象)互补——好的管线两者都用。
  3. 分子表征三种形态:字符串(SMILES,供生成模型)、图(原子/键,供 GNN)、3D 构象(供几何模型与对接)——每种形态对应一类模型,管线要维护三套数据视图。

第二段:虚拟筛选与打分 ​

python
# 对接打分(示意):分子与靶点结合能,常用 AutoDock/Vina
def docking_score(smiles, pdb_id):
    # 实际对接:准备配体/受体 → 搜索构象 → 打分函数
    # 这里示意打分函数的核心思想:结合自由能近似
    return -8.3   # kcal/mol 级,示意值

# 多轮筛选逻辑:粗筛(规则/ADMET) → 中筛(对接) → 细筛(动力学)
candidates = load_smiles('enumerated_library.csv')   # 枚举库,可数百万
rules_hit = [s for s in candidates if smiles_to_features(s)['logp'] < 5]
docked = sorted(rules_hit, key=docking_score)[:500]   # 对接打分取前 500
# 最后 20-50 个进分子动力学精筛(超算,贵)

要点:

  • 漏斗式筛选:候选空间从数百万级逐级收敛——规则过滤(秒级)→ 对接打分(分钟级)→ 分子动力学(天级)。算力成本递增几个数量级,所以每级只放过最靠前的。
  • 对接打分不可靠是公开事实:打分函数是近似(结合自由能的廉价代理),排序可以,绝对值不可信;行业共识是"对接用于排序与富集,不用于绝对判定"。
  • 动力学精筛贵但准:分子动力学(04 章 ML 势函数篇的技术)模拟结合稳定性,是最接近湿实验的计算验证,但每分子天级算力——只能用在最后几十个。

原理讲解 ​

管线的四类模型与算力画像 ​

环节模型类型数据算力画像
分子生成RNN/Transformer/扩散已知药物 SMILES 库智算:训练重、推理轻
性质/ADMET 预测GNN/Transformer公共+专有标注智算:中等
对接打分函数/几何算法靶点结构超算:并行枚举
分子动力学势函数(经典/ML)力场/DFT 数据超算:最重

双栈分工清晰:生成+ADMET(数据驱动的智算)与对接+动力学(物理驱动的超算)交替使用,形成"AI 生成假设 → 物理验证假设 → 反馈修正 AI"的闭环——这就是"智算×超算互相促进"在制药行业的具象。

三大坑与工程规避 ​

  1. 数据偏差:公共数据集(如 ChEMBL)偏已有药物空间,生成的分子偏向已知化学——用"多样性奖励"与专有数据补充。
  2. 公共基准过拟合:许多模型在 MoleculeNet 等基准"刷分",真实场景泛化差——验收必须用留出集与活性实验回测,而不是 benchmark 分数。
  3. 湿实验闭环成本:计算筛选的终点是湿实验,回测反馈(阳性率、命中率)必须回流训练——没有闭环的管线只是"生成器",不是"发现引擎"。

实验结果 ​

(估算口径,非实测;典型管线规模)

环节候选数单步耗时算力
枚举库生成10⁵-10⁷秒级/分子智算 GPU
规则过滤剩 10-50%秒级CPU 即可
对接打分剩 10³-10⁴分钟级/分子超算并行
动力学精筛剩 20-50天级/分子超算最重
湿实验验证剩 3-10周-月实验

工程启示 ​

  1. 管线先搭漏斗再谈模型:先定各级筛选的收敛比例与算力预算,再选模型——"能筛多少"比"模型多准"更先决定成败。
  2. 打分只排序、不绝对:对接/ADMET 分数都当"排序工具"用,绝对判定交给动力学与湿实验。
  3. 三套分子视图要统一管理:SMILES/图/3D 构象是同一分子的不同投影,管线要保证三视图一致(同一 ID 体系),否则上下游数据错位。
  4. 闭环是护城河:湿实验回测数据回流到训练集与模型更新,是 AI 制药管线区别于"论文 demo"的分水岭——数据飞轮比模型本身更值钱。

下一篇预告:制药管线离不开高质量数据,下一篇补上地基——"科学数据管线:从实验数据到训练集的工程化"。

AI-HPC 智算超算专家 · Contact: openaihpc@gmail.com