1. ADMET 概述:从概念到传统方法

大家好,我们开始第一讲。ADMET 这五个字母,说起来简单——吸收、分布、代谢、排泄、毒性。但我在项目里见过太多人把它当成“实验报告里的表格填空”。实际上,它是决定一个化合物能不能从实验室走向临床的关键。说白了,药效再好的分子,如果 ADMET 不过关,连一期临床试验都进不去。

1.1 ADMET 到底是什么?

先拆开看:

  • A (Absorption) —— 吸收。口服药能不能进入血液循环?
  • D (Distribution) —— 分布。药物到了血液后,能不能去到靶器官?
  • M (Metabolism) —— 代谢。肝脏会不会把它快速分解掉?
  • E (Excretion) —— 排泄。药物和代谢物怎么排出体外?
  • T (Toxicity) —— 毒性。会不会伤肝、伤肾、导致心脏毒性?

嗯,你可能觉得这些概念课本上都有。但我提醒你:实际项目里,五个字母是连在一起的。比如一个化合物吸收很好,但代谢太快,血药浓度根本撑不到有效时间——这就是 A 和 M 的拉扯。我早年做过一个项目,化合物口服生物利用度高达 90%,可进了体内 20 分钟就被代谢光了,最后只能改剂型。你说坑不坑?

1.2 为什么 ADMET 在药物研发里这么重要?

我直接说数据吧。

失败原因占临床试验失败比例典型例子
药效不足~30%靶点选择性不够
ADMET 问题~40%肝毒性、代谢过快、心脏 hERG 风险
商业原因~15%市场太小、专利问题
其他~15%安全性、工艺问题

看清楚没有?ADMET 是拖后腿的头号原因。药效再牛,吃下去就吐、或者把肝搞坏,那就是废物。我记得辉瑞有个著名案例——化合物 PK 值漂亮,但临床前就发现 hERG 抑制,最后整个管线砍掉,几十亿打水漂。所以我们做 ADMET 预测,本质上是帮公司省钱、帮病人保命。

核心观点:ADMET 不是“实验后补的测试项”,而是贯穿从苗头化合物到临床候选物的筛选主线。早期预测做得好,后期失败率直线下降。

1.3 传统方法:从前我们怎么做?

在我刚入行那几年,ADMET 全靠实验硬测。我给你列一下传统手段:

  • 体外实验:Caco-2 细胞模型测吸收、肝微粒体测代谢稳定性、hERG 膜片钳测心脏毒性。
  • 体内实验:大鼠/犬 PK 实验、组织分布、排泄平衡。
  • 经验规则:Lipinski 五规则、Pfizer 的“3/75”规则。

看这个列表,你可能会觉得挺全面的。可问题在哪?慢、贵、数据不连续。 一个化合物的完整 ADMET 实验流程,动辄三到六个月,花费几十万甚至上百万人民币。而且每个实验室、批次、操作员测出来的数据都可能存在偏差。这就是我们后面要讲的核心问题——批次效应。

我记得 2018 年,我一个同事用传统方法测了 200 个化合物的代谢稳定性,前后换了三批肝微粒体。结果同样化合物在不同批次里,半衰期差了整整两倍。我们当时只能重测,一个月又搭进去了。你想想看,如果有办法把不同批次的数据校正到同一个基准线上,能省多少时间?

我的习惯:在开始做深度学习预测之前,先把传统方法的误差来源摸清楚。你可以画一个简单的向量图:实验批次 vs 真实值 vs 噪声。这一点我们后面讲「批次校正」时会反复用到。

1.4 传统方法的短板总结

我归纳一下,传统方法主要有三个硬伤:

  1. 通量低——一次只能测少数化合物,筛选速度跟不上药化合成周期。
  2. 批次效应——不同实验批次、不同仪器、不同实验室之间的数据不可直接对比。
  3. 动物伦理与成本——体内实验越来越贵,监管也越来越严,能用预测替代的部分尽量不做动物实验。

所以深度学习来补这个缺口。不是要完全取代实验——不可能的——而是在实验数据的底座上,建一个能快速推理、能跨批次对比的模型。这就是本课程要教你的核心方法。

1.5 本章知识体系总览

下面这张图是我自己梳理的框架,你可以把它当作整门课的地图。每次忘记脉络,回来看看。SVG 里用颜色区分概念层(蓝)、方法层(绿)、工具层(紫),箭头表示数据流向。

ADMET深度学习批次校正调优方法 - 第一章知识框架 ADMET 深度学习批次校正 1. ADMET 概述 吸收 (A) 分布 (D) 代谢 (M) 排泄 (E) 毒性 (T) 传统方法 体外 / 体内实验 经验规则 批次效应问题 深度学习入场点

我把它们分成三层。顶部是课程总目标——用深度学习统一校正不同批次的 ADMET 数据。中间是 ADMET 的五个核心概念,以及传统方法作为一个整体。底部是传统方法的具体手段和核心痛点。注意看左下角「深度学习入场点」说明框——我们这门课就是从批次效应这个痛点切入,用深度模型做跨批次调和。

1.6 避坑指南:给新手的几句心里话

我曾经犯过的错:刚开始做 ADMET 预测时,我直接拿公开数据集(比如 PubChem 上的代谢稳定性数据)训练模型,没做任何批次分析。结果模型在测试集上精度 0.92,一放到我们自己的实验数据上就崩了。后来发现——公开数据集里的批次和我们的实验条件完全不同。所以听我一句:批次意识要从第一行代码开始建立。

还有一个小习惯:我每次拿到新一批 ADMET 数据,会先用一句话“这批数据是什么仪器、什么时间、谁操作的?”记在笔记里。后面做校正时,这些信息非常有用。