课程导论:ADMET在药物发现中的角色、GNN为什么适合分子预测、课程大纲与学习路线
朋友们,欢迎来到《图神经网络ADMET预测实战》的第一章。
我做了快十年的计算化学和AI制药,踩过的坑比走过的路还多。一开始做分子性质预测,用的还是传统指纹加随机森林。那时候心里就嘀咕:这分子结构里藏着的信息,我们真的提取干净了吗?
后来接触了图神经网络,才觉得这条路走对了。今天这第一讲,我不打算直接上公式,先聊聊为什么我们要学这个课,以及它到底能解决什么问题。
1.1 ADMET:药物发现里的隐形杀手
先问大家一个问题:一个新药从靶点发现到上市,失败率有多高?
高达90%的临床失败率,其中超过一半是因为ADMET性质不佳。说白了,药效再好,如果人体不吸收、代谢太快、毒性太大,一切都是白搭。
ADMET是一个缩写,代表五个关键维度:
| 属性 | 全称 | 临床意义 |
|---|---|---|
| A | 吸收(Absorption) | 药物能否口服进入血液 |
| D | 分布(Distribution) | 药物能否到达目标器官 |
| M | 代谢(Metabolism) | 药物在体内的降解速度 |
| E | 排泄(Excretion) | 药物清除的路径和速率 |
| T | 毒性(Toxicity) | 药物是否引起副作用 |
我见过不少候选分子,体外活性非常漂亮,结果一测ADMET就原形毕露。要么肝脏代谢极快,半衰期只有十几分钟;要么对心脏的hERG钾通道有严重抑制,直接导致临床终止。
传统做法是在体外或动物身上测试这些性质。但问题是:合成一个化合物要几周到几个月,测定它的ADMET又得花一笔钱。等你测出来发现不行,前期投入全打了水漂。
这其实就是我们为什么要做预测——用计算模型替代部分实验,把高风险分子提前淘汰。
1.2 为什么GNN更适合分子预测?
有人可能会问:分子预测我也用过,比如分子指纹加机器学习,效果不是还行吗?
嗯,这里要注意一个关键差异:传统方法在做特征工程的“降级”。
分子指纹将复杂的3D结构编码成固定长度的向量(比如2048位的ECFP),这个过程会丢失原子连接关系的信息。你想想看,把一个图结构强行压扁成一条线,信息能不损失吗?
GNN的思路则完全不同。它把分子看作一张图:
- 节点:原子(碳、氮、氧等)
- 边:化学键(单键、双键、芳香键)
- 节点特征:原子类型、电荷、手性
- 边特征:键的类型、是否在环中
GNN在图上做消息传递,每个原子从它的邻居那里聚合信息,更新自己的表示。这样经过几层迭代,整个分子的图级表示就包含完整结构信息。
举个例子,我在项目中遇到过预测分子水溶性的问题。传统指纹模型对一个含极性官能团的分子预测还行,但一旦遇到含有对称结构的分子,指纹容易混淆。而GNN能通过对称性感知,准确区分分子两端的微小差异,预测精度直接提升10%以上。
我个人习惯用一个简单的比喻:传统方法像“盲人摸象”,摸到腿说像柱子;GNN则是在绕着大象走一圈,还会问问邻居“你觉得这东西像什么”。
为什么GNN特别适合ADMET?
- ADMET性质往往由分子局部结构决定(比如代谢位点、毒性碎片),GNN的消息传递恰好擅长捕捉局部环境
- 许多ADMET性质与分子全局性质相关(如LogP),GNN的图读出层能整体聚合
1.3 课程大纲与学习路线
这门课一共有30章,我把它分成六个大的部分。你看下面这张图就知道了:
核心学习路径:
1-4章打基础 → 5-9章玩转工具 → 10-14章构建模型 → 15-22章ADMET实战 → 23-27章进阶技巧 → 28-30章大项目
我建议你按顺序来,但不一定要全部读完。如果基础不错,可以跳过第一部分,直接从第5章用PyTorch Geometric搭建第一个GNN模型开始。
避坑指南:我曾经在教学生的时候发现,太早在数据预处理上出问题,导致模型怎么都训不好。所以第6章“分子图数据预处理”一定要仔细读,我会拿一个我踩过的坑做案例——本来不该有的环结构被错误编码成自环,模型直接崩了。
每章结束都有一个小练习和一个思考题。练习代码我都放在相应的GitHub仓库里,你可以随时跑起来看效果。
注意:训练模型之前,一定要确认你的数据集是否存在数据泄露。比如同一个分子的不同类似物同时出现在训练和测试集,你就是在自欺欺人。我有一节课专门讲这个,别急着跳过。
好了,第一章就到这里。我们从为什么要学ADMET、GNN为什么管用,到这30章的路线图,都捋了一遍。
接下来,从第2章开始,我们就要正式进入分子图的世界了。