什么是ADMET预测?批次效应又是什么?

大家好,我是老张,干药物计算这行快十年了。今天咱们聊一个挺要紧、但又容易被新人忽视的话题——批次效应。

先说说ADMET预测。这四个字母分别代表 吸收(Absorption)、分布(Distribution)b>、代谢(Metabolism)b>、排泄(Excretion) 和 毒性(Toxicity)。说白了,就是拿计算机模型去预测一个化合物进了人体后会怎么样:能不能被肠道吸收?会不会被肝脏分解?会不会产生毒性?

做药物研发的都知道,光看活性不够。我记得有一次,我们团队花了半年筛出一个候选分子,活性特别好,结果一测ADMET,肝毒性直接爆表。嗯,从那以后我们就把ADMET预测放到了筛选流程的最前面。

核心观点: ADMET预测不是锦上添花,而是决定化合物能否上临床的关键关卡。

一个典型的ADMET预测流程

我习惯把流程分成三步:

  1. 数据采集——从实验拿到分子结构和对应的ADMET实测值。
  2. 模型训练——用机器学习算法(RF、XGBoost、GNN之类的)拟合数据。
  3. 预测应用——对虚拟化合物输出预测结果,指导下一步合成。

听着挺顺的,对吧?但你想想看,如果第一步的数据本身就带“坑”,后面再厉害的高级算法也救不回来。这个坑,就是批次效应。

批次效应到底是什么?

举个例子,你同一个化合物,今天在A实验室用仪器X测一次清除率,下周在B实验室用仪器Y再测一次。理论上结果应该一样。但实际呢?

  • 试剂换了批次,活性可能差3%–5%
  • 培养箱温度漂了0.5℃,细胞状态不一样
  • 操作员手抖了,加样误差忽大忽小
  • 仪器校准间隔不同,基线会走

所有这些非生物因素导致的系统性偏差,就是 批次效应(Batch Effect)。它藏在你数据的“分组标签”里,但模型不会自动识别。

我的经验: 我曾经用公开数据集训练了一个Caco-2渗透性模型,验证集R²有0.82,结果一放到自家公司的化合物上,R²直接掉到0.3。后来一查发现,公开数据的实验条件和我们实验室的完全不一样——这就是批次效应在作妖。

批次效应对ADMET预测的影响路径

下面这张图把问题说清楚了。我把整个流程画成了结构图,你可以看到批次效应从数据采集就开始“污染”后续环节。

ADMET预测流程中的批次效应侵入路径 候选化合物库 实验测量 (批次效应介入) 数据整理与清洗 模型训练 ADMET预测输出 批次效应的影响范围: • 同一化合物在不同批次的实验值可能相差10%–30% • 模型会学到“批次标签”而非“真实结构-活性关系”,导致泛化能力崩溃 • 若不处理,交叉验证看似准确率很高,换一批新数据立马现原形

批次效应凭什么值得我们花30章专门讲?

你可能觉得,实验误差很正常啊,多测几次平均一下不就行了?问题在于:

  • 你无法保证所有数据来自同一个实验条件——尤其是跨机构、跨年份的数据整合
  • 深度学习模型对数据分布极其敏感,一点偏移就能让特征空间发生扭曲
  • 制药行业监管严格,模型必须可解释、可溯源,批次效应不处理,审计根本过不了
踩过的坑: 我曾经在一个跨药企的ADMET建模项目中,使用了五家公司的数据。乍一看,样本量翻倍,很开心。结果训练出来的模型在自家数据上表现反而更差了。后来逐批次分析才发现,有两家公司的CYP抑制测定方法差一个孵育时间,这直接导致批次聚类在特征空间里明显分离。如果当时不学批次效应的校正方法,这个项目铁定交不了差。

这门课的大致内容

我们这门课会从最基础的批次效应识别讲起,然后深入到各种校正方法。下面是知识结构的一个快速预览:

模块核心内容实用价值
第一章(本章)概念与问题定义建立批次效应的认知框架
第二–五章批次效应的检测与可视化拿到数据后如何判断有没有批次效应
第六–十二章传统校正方法(ComBat、线性混合模型等)经典方法如何在ADMET数据上落地
第十三–二十章基于深度学习的批次效应消除利用AutoEncoder、对抗训练等新技术
第二十一–二十八章迁移学习与域适应在ADMET中的应用把跨批次数据转化为模型增益
第二十九–三十章实战案例与坑点复盘完整的处理流程和避坑指南

一句话总结这一章

ADMET预测是药物筛选的守门员,而批次效应是这个守门员看不到的盲区。接下来的29章,我会用我这些年踩过的坑、改过的错、验证过的方法,带你把这个盲区彻底照亮。

行动建议: 你现在就可以开始检查自己手头的数据集——按实验日期或实验室来源给数据分组,简单画个t-SNE图,说不定已经有批次聚类了。