想象一家顶级公司开启了年度校招:HR 邮箱瞬间涌入上万份简历,而每一个求职者,都是一颗崭新的药物分子。它们有的活力四射,有的性格极端,有的简历光鲜却一入职就惹出大祸。公司最终只打算留下一两个人——这就是新药研发的残酷现实:每 5000 到 10000 个候选分子,最终只有 1 个能成为上市新药,总成本超过 10 亿美元,周期长达十年以上。 最烧钱的不是收简历,而是把人请进公司之后才发现他不合适——对应到制药业,就是分子在耗费巨资的动物实验乃至三期临床后才宣告失败。聪明的做法是把“人事考核”前置:用一位 AI 招聘官在入职前就评估每个候选分子在吸收、分布、代谢、排泄、毒性五个维度的表现,把八成以上的“问题员工”挡在门外。这篇文章就用这场“新药求职记”,带你弄懂 ADMET 性质预测的原理:分子描述符是简历,多任务学习是一套综合测评系统,校准是校正面试官手松手紧的偏差,最后帮企业算清这笔 AI 投资的 ROI。

岗位关联

掌握 ADMET 预测,是 AI 医疗从业者的核心竞争力之一——它直接决定药企能否在研发早期低成本淘汰坏分子,是把 AI 技术兑现为商业 ROI 的经典抓手。

目录
  1. 可视化演示
  2. 认识 ADMET——候选分子入职前的五关面试
  3. 分子描述符——把分子写进简历
  4. 多任务学习——一套系统,五关同时考核
  5. 早期淘汰——把问题员工挡在入职前
  6. 预测校准——面试官的手松手紧要校正
  7. 业务 ROI——把账算给老板看
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示分子描述符、多任务学习与预测校准的ADMET预测过程,可切换三种模式观察如何早期淘汰不良候选分子。

本节配有交互动效(进入视口后自动加载,约 3KB)。

分子描述符特征 将分子结构转化为数值特征,特征决定模型上限 含描述符、指纹、图结构等特征类型 分子 → 特征向量 劣质特征无法学到有效规律。

认识 ADMET——候选分子入职前的五关面试

求职者走进公司大楼前,HR 要给他设置五道关卡:第一关“吸收”,他能不能顺利刷开门禁走进大楼——对应口服药能否从肠道进入血液循环;第二关“分布”,进门后能不能被安排到核心岗位——对应药物能否送达靶组织;第三关“代谢”,部门的工作流程会不会把他改造成另一个人——对应肝脏中的酶对药物的转化;第四关“排泄”,干完活能否顺利离开公司——对应药物经肾脏、胆汁排出体外;第五关“毒性”,这个人会不会搅得整个部门鸡飞狗跳——对应 hERG 心脏毒性、肝毒性等安全风险。

ADMET 正是 Absorption(吸收)、Distribution(分布)、Metabolism(代谢)、Excretion(排泄)、Toxicity(毒性)五个英文单词的缩写,它们共同决定一个分子有没有资格成为药物,任何一关不及格都难以成药。药物化学家为此总结了一组快速初筛的经验准则——Lipinski 的“类药五规则”(Rule of Five),它像公司招聘的硬性学历门槛一样,先把明显不合适的简历扔进回收站:

五规则只是入门级硬过滤,真正的 ADMET 预测还要靠机器学习模型对每个维度输出软评分——不再是简单的“过/不过”,而是“通过吸收关的概率为 0.87”这样的精细判断。回到求职记:五规则是公司贴在门口的硬性学历门槛,而 AI 模型是阅人无数的资深 HR,它能看出这位求职者虽然硬指标擦边,但综合素质很稳,值得给一次机会。

MW≤500,log⁡P≤5,HBD≤5,HBA≤10\text{MW} \le 500, \quad \log P \le 5, \quad \text{HBD} \le 5, \quad \text{HBA} \le 10
这条公式用四个数字勾勒出“好吸收的口服药物画像”:分子别太大、别太油、氢键别太多。
  1. MW(分子量)$MW$ 是分子量,单位为道尔顿;$\text{MW} \le 500$ 要求分子质量不能太大,否则难以透过生物膜。
    MW≤500\text{MW} \le 500
  2. logP(脂水分配系数)$\log P$ 是脂水分配系数的对数,反映分子亲脂还是亲水;$\log P \le 5$ 避免分子过油、难以溶入血液。
    log⁡P≤5\log P \le 5
  3. HBD(氢键供体)$HBD$ 是分子中能给出氢键的基团数量,上限为 5;供体过多会阻碍细胞膜穿透。
    HBD≤5\text{HBD} \le 5
  4. HBA(氢键受体)$HBA$ 是接受氢键的基团数量,上限为 10;受体过多不仅不利吸收,还容易在代谢环节被酶“改造”。
    HBA≤10\text{HBA} \le 10

分子描述符——把分子写进简历

HR 凭什么判断求职者?凭简历。算法凭什么判断分子?凭分子描述符。简历上的“毕业院校、实习经历、性格特长”,对应分子描述符里的“分子量、logP、极性表面积、氢键数目”。一份好简历要字段清晰、信息密度高,一组好描述符也要能精炼地抓住分子的本质,让模型一眼看穿它“是块什么料”。

常见的分子描述符分几类:理化性质类(分子量 MW、脂水分配系数 logP、拓扑极性表面积 TPSA、氢键供体/受体数、可旋转键数),拓扑与几何类(分子形状、分子体积),以及分子指纹(如 Morgan 指纹把局部结构编码成 0/1 向量)。其中 logP 是最经典、最直观的一个——它回答“这个分子更爱油还是更爱水”:

描述符从哪里来?传统靠实验测定,现代 AI 流程中用 RDKit 等工具几毫秒就能从 SMILES 结构式算出上百个描述符。但并非越多越好:特征过载会引入冗余与噪声,常用相关性分析、LASSO、互信息做特征选择,像 HR 筛简历关键词一样,只留下最有区分度的字段。简历造假会误导 HR,描述符选错会误导模型——特征选择就是背景调查,把水分挤干,判断才靠谱。

log⁡P=log⁡10([Coct][Caq])\log P = \log_{10}\left(\frac{[C_{\text{oct}}]}{[C_{\text{aq}}]}\right)
logP 把分子放进“油水两相”里测偏心程度:越爱油(正辛醇)越亲脂,logP 越大。
  1. 分配试验把化合物放入正辛醇与水构成的两相体系,充分振荡后分别测得正辛醇相浓度 $[C_{\text{oct}}]$ 与水相浓度 $[C_{\text{aq}}]$。
    [Coct],[Caq][C_{\text{oct}}], \quad [C_{\text{aq}}]
  2. 浓度比值$\frac{[C_{\text{oct}}]}{[C_{\text{aq}}]}$ 表示分子更爱“油”还是更爱“水”,比值大于 1 说明偏亲脂。
    [Coct][Caq]\frac{[C_{\text{oct}}]}{[C_{\text{aq}}]}
  3. 取对数$\log_{10}$ 把可能差几个数量级的比值压缩成方便阅读的区间,例如 100:1 的亲脂分布记为 $\log P = 2$。
    log⁡10([Coct][Caq])\log_{10}\left(\frac{[C_{\text{oct}}]}{[C_{\text{aq}}]}\right)

多任务学习——一套系统,五关同时考核

传统公司把五关拆给五个互不通气的部门,每个部门都从零研究同一份候选人档案,效率低、样本也少。聪明的新药公司成立“综合测评中心”:所有面试官共享同一套候选人档案底库(共享表示层),但每个维度保留专属的面试题目(任务专属头)。这就是多任务学习(Multi-Task Learning, MTL)的朴素思想。

结构上,MTL 是一个共享的特征提取器(多层神经网络)接出多个任务头,每个任务头负责一个 ADMET 维度。训练时五个任务的损失一起回传,共享层被迫学到对五个任务都有用的通用分子表征——这正是“一把钥匙开五把锁”。整体优化目标是把各任务的损失加权求和:

MTL 的核心收益在于数据互补与隐式正则:数据较少的毒性任务,可以从吸收、代谢等大数据任务中“借力”,共享层学到的通用表征天然带有正则效果,能抑制过拟合。但它并非没有代价——当任务目标互相冲突时,梯度会“打架”,此时可以引入基于不确定性的动态加权,让模型自己决定谁急谁先面。综合测评中心也要讲组织协调,五个面试官抢同一个候选人会内耗,动态分配面试时长,才能把每关都评到位。

Ltotal=∑t=1Twt⋅Lt(θshared,θt)L_{\text{total}} = \sum_{t=1}^{T} w_t \cdot L_t\big(\theta_{\text{shared}}, \theta_t\big)
这条公式是“综合测评中心”的考核总表:五个维度的得分乘以各自权重,加出总分,一起决定怎么改进测评流程。
  1. 任务集合$T$ 是任务总数,$t$ 遍历每个任务,例如吸收、分布、代谢、排泄、毒性五个任务。
    t=1,2,…,Tt = 1, 2, \ldots, T
  2. 单任务损失$L_t(\theta_{\text{shared}}, \theta_t)$ 表示第 $t$ 个任务的损失函数(常用交叉熵),它同时依赖共享参数 $\theta_{\text{shared}}$ 与任务专属参数 $\theta_t$。
    Lt(θshared,θt)L_t(\theta_{\text{shared}}, \theta_t)
  3. 权重求和$w_t$ 是第 $t$ 个任务的权重,$\sum_{t=1}^{T}$ 把五个任务的损失加权相加,得到总优化目标 $L_{\text{total}}$。
    ∑t=1Twt⋅Lt\sum_{t=1}^{T} w_t \cdot L_t

早期淘汰——把问题员工挡在入职前

招聘漏斗大家都懂:一万份简历,机器初筛留三千,笔试留八百,面谈留一百,终面留五个。每一步淘汰都在省钱——早淘汰一个后面要付高薪、花培训费、还可能闯祸的“问题员工”,比入职后再辞退划算得多。药物研发的漏斗是同一个道理,只是代价被放大了几个数量级。

药企的化合物库动辄上百万分子,若全部合成并做动物实验,成本是不可承受的天文数字。AI 的 ADMET 模型先给整个库打分排序(虚拟筛选),只把排名靠前、预测风险低的分子送去合成与实验验证。研发漏斗逐层收窄:苗头化合物 → 先导化合物 → 候选药物 → 临床前研究 → 临床 I/II/III 期,越往后单分子成本越高,失败代价越惨烈。每关的通过率连乘,决定了最终还能剩下几个“幸运儿”:

实务操作中常采用“硬规则 + 软评分”双闸:先让类药五规则这类硬规则做粗暴过滤(像学历门槛一票否决),再用 AI 软评分做精细排序(像综合面试逐项打分)。越早用 AI 把大概率失败者筛掉,省下的钱越是成倍增长——这就是“入职前多花十分钟,入职后少赔十个月工资”的生意经。

S=∏i=1npi=p1×p2×⋯×pnS = \prod_{i=1}^{n} p_i = p_1 \times p_2 \times \cdots \times p_n
这条连乘公式揭示了漏斗的残酷:每关都高达 85% 的通过率,五关下来也只剩约 44%,淘汰必须越早越好。
  1. 单关通过率$p_i$ 表示第 $i$ 关的通过概率,例如吸收关通过率为 0.85。
    pip_i
  2. 连乘符号$\prod_{i=1}^{n}$ 表示把从第 1 关到第 $n$ 关的所有通过率逐一相乘。
    ∏i=1npi\prod_{i=1}^{n} p_i
  3. 总存活率$S$ 是经历 $n$ 关后的整体存活率;每关 0.85,五关后 $0.85^5 \approx 0.44$——“每关都松、总闸很紧”。
    S=0.85×0.85×0.85×0.85×0.85S = 0.85 \times 0.85 \times 0.85 \times 0.85 \times 0.85

预测校准——面试官的手松手紧要校正

有的面试官习惯打高分,他信誓旦旦说“很有把握”的人,实际只有六成靠谱;有的面试官特别严苛,他说的“还行”,其实已经相当优秀。AI 模型同样有这种“手松手紧”的系统性偏差:模型说“通过概率 90%”的分子,真实通过率可能只有 70%。如果不校正,业务方会被高高在上的概率数字误导,做出错误决策。

校准(Calibration)衡量的正是“预测概率与真实频率的一致性”:理想的模型里,凡是预测通过概率为 0.6 的一批分子,真实通过率也应当约为 60%。评估校准最常用的指标是期望校准误差(Expected Calibration Error, ECE),它把所有预测按概率分箱,逐箱对比“说的”和“做的”:

发现“手松”怎么治?后处理校正即可:温度缩放(Temperature Scaling)用一个标量温度参数先除以 logits 再做 softmax,或者直接对预测概率做 Platt 缩放、保序回归。这些方法不改变模型对分子的排序,只重新校准概率的绝对数值,让“90%“真的意味着 90%。校准好的模型才是可信赖的 HR——它说”这个人八成就行”,老板就真敢押上八成的资源。

ECE=∑m=1M∣Bm∣N∣acc(Bm)−conf(Bm)∣\text{ECE} = \sum_{m=1}^{M} \frac{|B_m|}{N} \left| \text{acc}(B_m) - \text{conf}(B_m) \right|
ECE 就像统计每个面试官的打分水分:把他打出的分和入职后的实际表现逐档对比,偏差越小,这位面试官越可信。
  1. 分箱$M$ 是分箱数,把所有预测概率切成 $M$ 个区间;$B_m$ 是第 $m$ 箱内的样本集合,$|B_m|$ 是本箱样本数。
    Bm,∣Bm∣B_m, \quad |B_m|
  2. 箱内对比$\text{acc}(B_m)$ 是本箱分子的真实通过率,$\text{conf}(B_m)$ 是本箱的平均预测概率,两者取差。
    ∣acc(Bm)−conf(Bm)∣\left| \text{acc}(B_m) - \text{conf}(B_m) \right|
  3. 加权汇总$\frac{|B_m|}{N}$ 用样本占比当权重,$\sum_{m=1}^{M}$ 把所有箱的偏差加权求和得到 ECE,数值越小校准越好。
    ∑m=1M∣Bm∣N\sum_{m=1}^{M} \frac{|B_m|}{N}

业务 ROI——把账算给老板看

校招系统上线是要花钱的:数据采购、算力租用、算法工程师工资、模型迭代时间,样样都是真金白银。老板只问一句:这套系统到底值多少钱?——这就是 AI 项目的 ROI 命题,ADMET 预测也不例外。

成本端,ADMET 实验数据昂贵:体外测定 IC50、动物实验动辄数万元一个化合物。好在有 ChEMBL、PubChem、Tox21 等开源数据库可以做冷启动,先跑通再逐步用自有数据微调。技术端,AI 预测的准确率有天花板——实验室噪声、体外体内差异、种属差异都会带来误差,必须明确“AI 筛选 + 实验验证”的分工,合规的毒理实验不可替代。收益端,以一个管线年评估 1000 个候选分子计算,若 AI 能提前淘汰 30% 的坏分子,每个坏分子省下的合成与动物实验成本累加起来,常常是模型开发投入的数倍:

落地的黄金法则是“小步快跑”:先选一个数据最齐全的维度(如 hERG 心脏毒性)做出高精度模型,内部验证 ROI,跑通后再扩展到五个维度。求职系统先进不先进不重要,老板只看它省了多少招聘成本、避免了多少次错误录用——ADMET 预测最终要回答的,也正是这道朴素至极的算账题。

ROI=Benefit−CostCost×100%\text{ROI} = \frac{\text{Benefit} - \text{Cost}}{\text{Cost}} \times 100\%
ROI 就是老板的算盘:赚到的钱减去花掉的钱,再除以花掉的钱,比值越大,项目越值得投。
  1. 总收益$\text{Benefit}$ 是项目带来的全部收益之和,如节省的实验经费、规避的临床失败损失。
    Benefit\text{Benefit}
  2. 总成本$\text{Cost}$ 是数据、算力、人力等全部投入的总和。
    Cost\text{Cost}
  3. 归一化计算$\frac{\text{Benefit} - \text{Cost}}{\text{Cost}}$ 以成本为基准算出净收益倍数,再乘 $100\%$ 得到百分比;ROI 为正才值得立项。
    Benefit−CostCost×100%\frac{\text{Benefit} - \text{Cost}}{\text{Cost}} \times 100\%

AI 应用场景

百万级化合物库的虚拟筛选初筛

阶段:候选化合物发现与早期评估

解决的问题:化合物库动辄百万级,传统做法是全部合成再逐个做动物实验,成本以亿元计。AI 用 ADMET 模型先对整个库打分排序,把明显不过关的分子在合成前就淘汰,只保留排名靠前的小批量进入实验,让研发漏斗的开口提前收窄。

具体案例:某药物研发平台对 120 万分子的化合物库运行“吸收 + 毒性”双任务模型,仅用数小时筛出 8000 个高分组,再叠加合成难度过滤后取 top 200 进入实验,实验通过率相比随机挑选提升了约 3 倍。

临床前 hERG 心脏毒性预警

阶段:临床前安全性评估

解决的问题:hERG 通道抑制会导致 QT 延长甚至室性心律失常,是药物撤市的主要原因之一;传统电生理实验通量低且昂贵。AI 分类器在动物实验之前先预测 hERG 抑制风险,帮助化学家及时重排分子结构,规避灾难性失败。

具体案例:某生物技术公司对先导系列的 348 个类似物做 hERG 风险预测,标记出 41 个高风险分子,重新安排合成优先级后,成功推迟了 2 个高危分子进入动物实验,避免了数百万元的无效投入。

老药新用中的安全性复查

阶段:药物重定位

解决的问题:老药已有大量临床安全数据,但换新适应症、新给药方式后,吸收分布代谢特征可能改变,需要重新评估 ADMET。传统方案要重新做一轮实验,周期长;AI 模型可快速给出各维度的预测变化,辅助早期决策。

具体案例:在公共卫生事件中,多款已上市老药被紧急评估用于新场景,AI 的 ADMET 模块快速预测了口服、吸入等不同给药方式下的分布与代谢差异,为临床药理团队提供了第一手参考数据,缩短了评估周期。

Python 演示

python76 行
# -*- coding: utf-8 -*-"""多任务 ADMET 预测与校准误差演示(纯 numpy 实现)"""import numpy as np np.random.seed(42)N = 200  # 候选分子数量X = np.random.rand(N, 5)                    # 5 个分子描述符X[:, 0] = X[:, 0] * 300 + 200              # 分子量 200~500X[:, 1] = X[:, 1] * 8 - 2                  # logP -2~6X[:, 2] = X[:, 2] * 100 + 20               # TPSA 20~120X[:, 3] = (X[:, 3] * 10).astype(int)       # HBD 0~9X[:, 4] = (X[:, 4] * 15).astype(int)       # HBA 0~14 # 模拟五个 ADMET 任务的真实标签(1=通过该关)Y = np.zeros((N, 5), dtype=int)Y[:, 0] = ((X[:, 1] > 0) & (X[:, 1] < 5)).astype(int)     # 吸收关Y[:, 1] = ((X[:, 0] < 450) & (X[:, 2] > 30)).astype(int)  # 分布关Y[:, 2] = (X[:, 4] < 10).astype(int)                       # 代谢关Y[:, 3] = (X[:, 2] < 100).astype(int)                      # 排泄关Y[:, 4] = ((X[:, 0] < 500) & (X[:, 3] < 5)).astype(int)   # 毒性关 # 多任务网络:特征 -> 共享隐藏层(4维) -> 5 个任务头np.random.seed(7)W1 = np.random.randn(5, 4) * 0.5b1 = np.zeros(4)W2 = np.random.randn(4, 5) * 0.5b2 = np.zeros(5) def forward(x):    h = np.tanh(x @ W1 + b1)    logit = h @ W2 + b2    prob = 1.0 / (1.0 + np.exp(-logit))    return h, prob def batch_loss(xb, yb):    _, p = forward(xb)    eps = 1e-9    return -np.mean(yb * np.log(p + eps) + (1 - yb) * np.log(1 - p + eps)) # 训练:共享层让五个任务互补for epoch in range(500):    idx = np.random.choice(N, 64)    xb, yb = X[idx], Y[idx]    h, p = forward(xb)    g = (p - yb) / len(xb)    gh = (g @ W2.T) * (1 - h * h)    W1 -= 0.5 * (xb.T @ gh)    b1 -= 0.5 * gh.sum(axis=0)    W2 -= 0.5 * (h.T @ g)    b2 -= 0.5 * g.sum(axis=0)    if epoch % 100 == 0:        print("epoch", epoch, "loss", round(batch_loss(X, Y), 3)) # 预测:五个维度靠不靠谱_, prob = forward(X)acc = np.mean((prob > 0.5).astype(int) == Y, axis=0)print("各任务准确率:", np.round(acc, 3)) # 校准误差 ECE:预测概率与真实频率是否一致def ece_score(p, y, bins=10):    flat_p = p.ravel()    flat_y = y.ravel()    err = 0.0    for i in range(bins):        lo, hi = i / bins, (i + 1) / bins        m = (flat_p >= lo) & (flat_p < hi)        if m.sum() == 0:            continue        err += abs(flat_y[m].mean() - flat_p[m].mean()) * m.mean()    return err print("期望校准误差 ECE:", round(ece_score(prob, Y), 4)) # 业务汇报:通过至少 4 关的分子占比pass_n = (prob > 0.5).sum(axis=1)print("通过>=4关的候选占比:", round(np.mean(pass_n >= 4), 3))
目的:用纯 numpy 实现一个“共享隐藏层 + 五个任务头”的多任务 ADMET 预测模型,训练后输出各维度准确率、期望校准误差 ECE,以及能通过至少 4 关的候选分子占比,完整走一遍从特征到业务汇报的流程。
  1. X = np.random.rand(N, 5)生成 200 个候选分子的 5 个描述符原始值,模拟“简历字段”。
  2. Y[:, 0] = ((X[:, 1] > 0) & (X[:, 1] < 5)).astype(int)根据 logP 区间生成吸收关的模拟标签,代表真实实验结论。
  3. h = np.tanh(x @ W1 + b1)共享隐藏层,所有任务共用的“通用分子表征”。
  4. g = (p - yb) / len(xb)交叉熵损失对 logits 的梯度,是五个任务反向传播的共同起点。
  5. gh = (g @ W2.T) * (1 - h * h)把梯度回传到共享层,让五个任务一起更新“底层常识”。
  6. err += abs(flat_y[m].mean() - flat_p[m].mean()) * m.mean()按概率分箱累加 ECE,量化模型“说的”和“做的”之间的差距。
  7. pass_n = (prob > 0.5).sum(axis=1)统计每个分子通过了几关,末尾输出存活率,正是业务方最关心的漏斗出口。

常见误区

误区“模型说这个分子 ADMET 全部通过,那就可以直接推进临床了,不用再花钱做实验了。AI 预测都这么准了,何必浪费钱?”

正解预测是概率估计,不是事实。模型学到的是训练数据里的统计规律,而实验噪声、体外体内差异、种属差异都会让预测偏离真实。正确做法是“AI 筛选 + 实验验证”配合:预测只负责把明显不合格的分子低成本淘汰,关键候选必须用实验确认。比喻上,面试官的推荐信再准,正式录用前也要做背景调查和入职体检。

为何常见:训练集上的高准确率让人误以为模型“全知全能”,忽略了分布偏移和实验噪声的存在。

误区“多任务学习共享了数据,每个任务肯定都比单独训练效果更好,无脑堆任务就对了。”

正解当任务相关性弱甚至目标冲突时,共享层被迫学一个“两头不讨好”的表征,某些任务反而会变差。实践中需要做任务相关性分析、动态加权甚至任务分组,才能让 MTL 发挥优势。就像五个面试官的问题南辕北辙,候选人被问懵了,反而哪一关都答不好。

为何常见:只看到“共享数据”带来的互补收益,忽略了梯度冲突这一面,把必要条件当成了充分条件。

误区“描述符算得越多,模型掌握的信息越全,预测肯定越准。反正 RDKit 免费,多算几百个不亏。”

正解高维特征带来维度灾难与过拟合,冗余特征引入噪声,还会拖慢训练和推理。要用相关性分析、LASSO、互信息等方法筛选出信息量高、冗余度低的特征子集。简历厚得像词典,HR 反而抓不住重点,描述符也是同样的道理。

为何常见:直觉上“信息越多越好”,但忽略了特征之间的共线性和模型泛化能力对特征维度的容忍上限。

误区“只要 ADMET 五关都过了,这个分子就一定能成为新药。五关都绿了,剩下的就是走流程了。”

正解ADMET 只是成药性的“安全底线”,分子还得有足够的药效活性、靶点选择性、可合成性和专利空间。ADMET 预测解决的是“别在后期死得冤枉”,不保证“一定成功”。一个身体健康的求职者,也不一定正好是公司要的那个岗位核心人才。

为何常见:把“必要条件”误当“充分条件”,忽略了药物研发是多维度博弈的整体工程。

面试题

Q1. ADMET 中的 "M" 代表哪一环节?

单选题 · easy

  • A.吸收 (Absorption)
  • B.代谢 (Metabolism)← 正确答案
  • C.分布 (Distribution)
  • D.排泄 (Excretion)

答案:B。ADMET 五个字母分别代表吸收(Absorption)、分布(Distribution)、代谢(Metabolism)、排泄(Excretion)、毒性(Toxicity)。M 对应 Metabolism,指肝脏等器官对药物的生物转化,其余三个选项都是 ADMET 中的其他环节,属于经典混淆项。

Q2. 类药五规则中分子量上限是多少?

单选题 · easy

  • A.300 道尔顿
  • B.500 道尔顿← 正确答案
  • C.800 道尔顿
  • D.1000 道尔顿

答案:B。Lipinski 类药五规则要求 MW ≤ 500、logP ≤ 5、HBD ≤ 5、HBA ≤ 10。分子量过大难以透过生物膜,吸收关就会亮红灯。300 是过严的标准,800 和 1000 则超出了口服药物的一般经验上限。

Q3. logP 值越大说明分子更偏向?

单选题 · mid

  • A.偏溶于水相(亲水性)
  • B.偏溶于脂相(亲脂性)← 正确答案
  • C.分子量会明显变大
  • D.分子极性显著增强

答案:B。logP 是正辛醇/水分配系数的对数,比值越大代表分子越爱待在正辛醇(模拟脂肪膜)里,即亲脂性越强。亲水性、分子量、极性与 logP 大小没有直接对应关系。

Q4. 多任务学习在 ADMET 预测中的优势有哪些?

多选题 · mid

  • A.共享分子表示← 正确答案
  • B.数据相互补充← 正确答案
  • C.减少过拟合← 正确答案
  • D.完全替代实验

答案:ABC。MTL 通过共享表示层让五个任务复用同一套分子表征,数据少的任务能从数据多的任务借力,共享层还带来隐式正则、抑制过拟合。但它只是预测工具,绝不可能完全替代实验验证,D 说法过于绝对。

Q5. TPSA(拓扑极性表面积)主要预示哪种性质?

单选题 · mid

  • A.穿透细胞膜的能力← 正确答案
  • B.药物熔沸点的高低
  • C.分子酸碱性的强弱
  • D.化合物颜色的深浅

答案:A。TPSA 统计分子中极性原子的表面积,与细胞膜穿透能力高度相关:TPSA 过大,分子难以穿过脂质膜,口服吸收差。熔沸点、酸碱性、颜色与 TPSA 的主要用途无关。

Q6. 一个候选分子通过每关的概率都是 80%,五关之后的存活率约为?

单选题 · hard

  • A.约 33%(0.8 的五次方)← 正确答案
  • B.约 80%(取各关的平均值)
  • C.约 50%(对五关概率求和)
  • D.约 16%(对五关概率求反比)

答案:A。总存活率是各关通过率的连乘:0.8 × 0.8 × 0.8 × 0.8 × 0.8 = 0.32768,约 33%。这正是研发漏斗“每关都松、总闸很紧”的数学本质,其余选项分别犯了取平均、求和、取反比的错误。

Q7. 下列哪些属于常用的分子描述符?

多选题 · mid

  • A.分子量等理化特征← 正确答案
  • B.logP 脂水分配系数← 正确答案
  • C.TPSA 极性表面积← 正确答案
  • D.药片的颜色和形状

答案:ABC。分子描述符是从分子结构推算出的数值化特征,包括分子量、logP、TPSA、氢键数目、分子指纹等。药片的颜色和形状属于制剂外观属性,与分子本身的性质无关。

Q8. 校准良好的模型中,预测通过概率为 0.7 的一批分子,实际通过率应约为?

单选题 · easy

  • A.约 0.9 左右
  • B.约 0.7 左右← 正确答案
  • C.约 0.3 左右
  • D.约 0.5 左右

答案:B。校准的定义就是“预测概率与真实频率一致”:模型说 0.7,真实就该有约 70% 通过。0.9 是乐观偏差,0.3 接近“说反话”,0.5 是无信息猜测,均不符合校准要求。

Q9. ECE(期望校准误差)数值越小说明模型?

单选题 · hard

  • A.预测偏差越大
  • B.概率校准越好← 正确答案
  • C.推理速度越快
  • D.训练数据更多

答案:B。ECE 把预测概率分箱,逐箱计算真实频率与平均预测概率的加权偏差,数值越小说明模型“说多少、做到多少”越一致,即校准越好。它衡量的是概率质量,与速度、数据量无关。

Q10. 计算 ADMET 预测项目的 ROI 时,成本应包含哪些项?

多选题 · hard

  • A.实验数据获取费用← 正确答案
  • B.算力与人力投入← 正确答案
  • C.模型开发时间成本← 正确答案
  • D.免费的在线开源工具

答案:ABC。ROI 中的成本指项目全部实际投入,包括数据采购、算力租用、算法工程师工资和开发时间。免费的在线开源工具本身不产生费用,不属于成本项,因此 D 不选。