第一章 ADMET概述:从失败的教训说起

说起ADMET,我得先讲个故事。刚入行那会儿,我负责一个激酶抑制剂项目。体外活性IC₅₀做到0.5 nM,酶选择性也漂亮,数据发到团队群里大家都挺兴奋。结果一测肝微粒体稳定性——半衰期不到3分钟。这化合物进了肝脏就跟冰块掉进热水一样,瞬间没了。后来查文献才知道,类似的故事在工业界天天发生:很多化合物体外活性极好,但因为ADMET问题倒在临床前或临床试验里。

说白了,ADMET就是药物分子跟人体之间的“相处之道”。你设计的分子再漂亮,如果人体不接纳它,一切都是零。这一章咱们先把ADMET是什么、为什么重要、有哪些常见性质、数据从哪里来,捋清楚。

1.1 为什么我把它放在课程第一讲?

以前做药物筛选,大家更关注“能不能结合靶点”。后来行业里有个统计:约40%的候选药物因为药代动力学问题被淘汰。你看,这个比例比因为毒性被淘汰的还要高。所以现在我们谈药物研发,ADMET不是“锦上添花”,而是“生死线”。

我个人的习惯是:开始一个新项目前,先查一遍现有类似分子的ADMET数据。这能帮你避开很多坑。比如,如果你发现某个骨架的CYP抑制特别强,那后面做结构优化时就得留个心眼。

阶段 ADMET失效占比 典型问题举例
先导优化 ~30% 代谢不稳定、被动渗透差
临床前试验 ~25% 肝毒性、CYP抑制
临床试验I期 ~10% 生物利用度低、半衰期短
临床试验II期 ~5% 心脏hERG毒性

避开这个坑: 我曾经在筛选早期只看活性和选择性,等到需要做体内实验时才发现P-gp底物导致脑暴露量几乎为零。从那以后,我把ADMET预测提前到虚拟筛选阶段。

1.2 常见的ADMET性质——不是所有性质都重要

你先理解这个:ADMET是吸收(Absorption)、分布(Distribution)、代谢(Metabolism)、排泄(Excretion)和毒性(Toxicity)的缩写。每个字母下面又有几十个具体性质。但实际项目里,没必要所有性质都追踪。我一般优先关注下面这几项:

  • 吸收: Caco-2渗透性、PAMPA、人结肠腺癌细胞系(Caco-2)表现、溶解度。记住,没有溶解度一切都是空谈。
  • 分布: 血浆蛋白结合率(PPB)、表观分布容积、血脑屏障穿透(logBB)。
  • 代谢: 肝微粒体稳定性(HLM)、CYP450酶抑制(尤其是CYP3A4/2D6/2C9)、代谢产物鉴定。
  • 排泄: 肾清除、胆汁排泄、半衰期。嗯,这里常用体外肝细胞清除率来做预测。
  • 毒性: hERG抑制(心脏毒性)、Ames试验(遗传毒性)、LD₅₀、肝毒性标志。

你会发现这些性质之间还有耦合关系。比如,高血浆蛋白结合率会降低游离药物浓度,进而影响分布和毒性。所以做特征选择时,不能单变量看。

核心思路: ADMET筛选本质上是个多目标优化问题。你得找到那个平衡点——活性够强,同时药代和毒性可接受。

1.3 数据从哪里来?——那些我常用的数据库

你以为做ADMET预测全靠计算?那是不可能的。所有模型都需要高质量实验数据来训练和验证。下面是我个人积累的数个数据来源,算是个避坑指南吧。

1.3.1 公共数据库

  • ChEMBL:欧洲分子生物学实验室的化合物活性数据库。包含大量ADMET实验数据,但需要清洗。我习惯用Python的chembl_webresource_client批量拉取。
  • PubChem BioAssay:美国NCBI的公共数据库。毒性数据很多,尤其是Ames和CYP抑制。
  • DrugBank:已上市药物和候选药物的详尽信息。适合做对照验证。
  • Tox21:专攻毒性的高通量筛选数据,包含12个核受体和应激反应通路。

1.3.2 商业数据库(选讲)

  • ADMET Predictor(Simulations Plus):业界用得比较多的商业模型,自带训练好的模型库。
  • StarDrop:Optibrium的产品,在ADMET三维可视化上体验不错。

这里有个常见的误区:有人觉得公共数据免费又好用,直接拿来做特征工程。但很多公共数据存在批次效应、实验条件不一致。我曾经从ChEMBL拉了一大堆Caco-2数据,发现同一化合物在不同实验室的结果能差两个数量级。所以,数据清洗这一步不能省。

注意: 你从公共数据库拿到的ADMET数据,最好记录下assay类型和实验条件。比如“CYP3A4抑制”有不同底物法(如咪达唑仑 vs 睾酮),IC₅₀不能直接混用。

1.4 本章知识体系——一张图看懂ADMET全景

下面这张图把ADMET的核心概念串了一遍。你可以看到从化合物结构出发,经过吸收、分布、代谢、排泄、毒性五步,最后决定它能不能成药。我们这门课后面会逐一深挖每个环节的特征筛选方法。

ADMET知识体系概览 ADMET特征筛选全景 化合物结构 吸收 (A) 分布 (D) 代谢 (M) 排泄 (E) 毒性 (T) 说明: 各性质间存在相互作用(如代谢产物可能回补分布或毒性)。 课程后续将针对每个模块讲解适用的分子描述符筛选与特征选择方法。

1.5 实战前的最后提醒:数据预处理很关键

很多人拿到数据就急着跑模型。我之前也踩过这个坑:从多个数据库合并后没去重,结果模型训练时同一化合物出现两次,导致过拟合严重。所以我把数据清洗的常用步骤贴在这里,也是我们后面会用到的套路:

# 基础数据清洗示例(Python伪代码)
# 1. 删除缺失值严重的列(比如缺失率 > 30%)
# 2. 对于数值型ADMET性质,统一单位(比如Caco-2渗透性单位统一为nm/s)
# 3. 去除重复分子(使用InChI或Canonical SMILES去重)
# 4. 处理离群点:检查实验值是否在合理范围(如logP一般在-2~8之间)
# 5. 合并多源数据时记录来源列,方便后续误差分析

避坑指南: 我曾经直接从PubChem下载CSV,没检查单位是cm/s还是nm/s,结果Caco-2渗透性差了几个数量级。后面花了两天时间才定位到问题。所以拿到数据第一件事:确认单位、确认assay protocol。