1. ADMET 建模与数据质控概述
各位好,我是专门跟 ADMET 数据打交道的工程师。今天咱们聊个很实在的话题:数据质控流程在 ADMET 建模中的实施。说白了,就是怎么让数据靠谱,让模型能落地。
ADMET 这个词,估计你们听过很多遍了——吸收 (Absorption)、分布 (Distribution)、代谢 (Metabolism)、排泄 (Excretion)、毒性 (Toxicity)。搞药物研发的同事靠它筛选候选分子,我们建模的人靠它预测性质。但有个事儿我特别想强调:没有好的数据,再牛的模型也是白搭。
1.1 ADMET 概念速览
ADMET 是五个词的缩写,分别对应药物在体内的关键行为。我习惯用一张表把它们串起来,方便对比。你想想,每个性质背后都有一堆实验数据,这些数据就是咱们建模的“原材料”。
| 性质 | 全称 | 典型实验数据 | 建模常见难点 |
|---|---|---|---|
| A | 吸收 | Caco-2 渗透性、人体肠吸收百分比 | 体外-体内关联差 |
| D | 分布 | 血浆蛋白结合率、组织分布系数 | 游离浓度难测定 |
| M | 代谢 | 肝微粒体清除率、代谢半衰期 | 种属差异大 |
| E | 排泄 | 尿液排泄率、胆汁排泄比例 | 回收率不稳定 |
| T | 毒性 | hERG IC50、Ames 试验结果 | 假阳性/假阴性多 |
我第一次接触 ADMET 数据集时,差点被各种单位搞晕——有的用 µM,有的用 ng/mL,还有用 log 转换的。嗯,这里要提醒大家:单位不一致是数据质控首先要扫清的障碍。
1.2 为什么数据质控对 ADMET 建模如此重要?
我遇到过不少项目,模型训练时 R² 看着不差,一放到新分子上就崩。拆开后发现:训练集里有大量重复样本,实验值抄错了,或者不同实验室测的同一性质根本没对齐。说白了,数据质控是建模的“地基”。
具体来说,数据质控的价值体现在三个层面:
- 避免“垃圾进,垃圾出” —— 模型学到的如果是噪声,预测就不可能准。我曾经接手一个 hERG 预测项目,原始数据集里 15% 的样本 IC50 值明显写反了(把抑制活性当成安全阈值),还好在质控阶段筛了出来。
- 节省重复计算的时间 —— 模型迭代 50 轮后发现数据有硬伤,所有人都得返工。我现在的习惯是:建模之前,先花 1/3 的时间做数据检查。你想想,这个时间投入到底值不值?
- 提升模型的可复现性 —— 好的数据质控流程能让别人复现你的结果。如果数据清洗步骤不透明,哪怕代码再干净也没用。
核心观点: ADMET 建模的成败,90% 取决于数据质量。模型算法只是锦上添花,数据质控才是雪中送炭。
1.3 课程目标与受众
这门课不是讲理论,而是讲实操流程。我会带着你们从原始数据到可用训练集,一步步走完质控的每个环节。课程结束后,你应该能做到:
- 独立撰写 ADMET 数据质控的标准操作流程 (SOP)。
- 用脚本快速发现并处理缺失值、异常值、重复样本。
- 处理不同来源数据的单位转换和属性对齐。
- 对质控后的数据做基本统计报告。
- 把质控后的数据直接导入建模管线。
受众画像: 这门课主要针对药物研发领域的计算化学家、数据科学家、以及刚进入 ADMET 建模岗位的工程师。如果你已经有 Python 基础,了解基本的数据结构,上手会更顺。不过就算你只是手动处理过 Excel 表格,也能跟上——我会把流程讲得尽量落地。
1.4 本章知识体系总览
下面这张图是我习惯用的数据质控整体流程结构图。你可以把它当作这门课的“导航地图”。每次做项目,我都会先对着这张图检查自己走到哪一步了。
我的建议: 把这幅图打印出来贴在工位上。每次处理新数据集时,对照三个大阶段检查进度,能避免很多弯路。
1.5 一个真实的例子:从数据质控到模型翻车
最后分享个真实案例。有个项目需要预测药物的人体口服生物利用度。训练集是从三篇文献和 ChEMBL 里凑的,一共 1200 条记录。当时我们觉得数据量够了,直接跑模型。结果验证集上一塌糊涂。
回头做质控才发现:
- 其中两篇文献的“生物利用度”定义不同(有的是口服绝对生物利用度,有的是相对值),但都列成了同一列。
- ChEMBL 中的数据单位是百分比,文献用的是小数,没有统一。
- 还混了 23 条重复的分子-实验组合,数值差异高达 30%。
这些坑,只要在质控初期加一个属性对齐检查和单位标准化就能避免。从那以后,我的流程里多了这两步。
注意: 数据质控不是“一次性”工作。即使建模完成,每次新增数据或更新模型版本时,都需要重新跑一遍质控流程。我曾经因为偷懒没复检,导致一个月的建模工作白费。