总览 / 模块 04
项目实战:一次真实的虚拟筛选课题
本页目录 · 共 11 节
本文件用一个已完成的课题作为样本,复盘从「一个靶点」到「一份候选清单」的完整链路。 目的是让学习者知道:每一步在干什么、为什么这么做、哪些地方最容易出错。 涉及具体候选分子与未公开数据的部分已做脱敏处理,仅保留方法与流程。
一、任务设定
| 项目 | 内容 |
|---|---|
| 靶点 | 白念珠菌(Candida albicans)的 Yck2 激酶,属于 CK1 家族 |
| 目标 | 从已批准小分子药物库中筛出潜在抑制剂,给出可实验验证的候选清单 |
| 输入端 | 公开活性数据(ChEMBL)+ FDA 已批准小分子库 |
| 输出端 | 候选分子排序表(含预测概率、对接结合能、理化性质、来源) |
| 硬件 | 普通 8 核 CPU、16 GB 内存,不需要 GPU |
关键判断:如果只是想「试一遍流程」,笔记本就够了;如果要做课题组正式课题,务必把数据来源、版本、参数全部记录清楚,否则结果无法复现。
二、整条链路(七步)
text
靶点确定与结构下载
↓
活性数据获取与清洗(正/负样本定义)
↓
分子表征(指纹 + 描述符)
↓
模型训练与验证(交叉验证 + 分组留出)
↓
全库打分与排序
↓
分子对接复核
↓
候选清单与风险披露| 步骤 | 做什么 | 关键要点 |
|---|---|---|
| 1 靶点与结构 | 从 PDB 下载靶点结构,确定结合口袋位置 | 口袋位置决定对接框,先看文献找已知抑制剂结合位点 |
| 2 活性数据 | 从 ChEMBL 按靶点拉 IC50/Ki/Kd,按阈值切正负样本 | 阈值要选有依据的(常见 10 μM),并检查两类之间有无天然间隔带 |
| 3 分子表征 | 把分子变成数值向量 | 常用 Morgan 指纹(ECFP4 等效)+ RDKit 二维描述符拼接 |
| 4 模型训练 | 训练二分类模型判断「有无活性」 | 交叉验证看稳定性,分组留出看泛化;样本增强必须披露其代价 |
| 5 全库打分 | 对候选库逐分子打分排序 | 去盐、去重,避免同一分子的盐型重复占位 |
| 6 对接复核 | 用分子对接独立验证排序靠前的分子 | 对接是复核手段,不是训练特征,两者不能混用 |
| 7 交付 | 出候选清单 + 风险说明 | 概率高不等于结论可靠,必须写清局限 |
三、每一步的坑(这一节最值钱)
3.1 数据泄漏
最容易犯、后果最严重。如果训练集里混进了待筛库的分子,模型对这些分子的打分就不是「预测」,而是「记忆」。
- 真实项目里做过样本增强(加入与已知活性分子结构相似的分子),这些增强样本全部来自筛选库,意味着库中这部分分子的打分会偏高;
- 正确做法:把这件事写进文档、逐分子披露受影响情况,而不是藏着;
- 也提醒:不要用「排除锚点后盲测 AUC」这类好看的数字替代真实泛化估计,两者不同源就不能混着引用。
3.2 泛化性能的口径
| 指标 | 含义 | 该怎么用 |
|---|---|---|
| 交叉验证 AUC | 模型在训练分布内的稳定性 | 说明训练没问题 |
| 分组留出 AUC | 按分子分组(InChIKey)留出,同分子不跨集合 | 对外引用应优先用这个 |
| 锚点留出 AUC | 把已知活性分子副本全剔除后重新训练再打分 | 用于诊断模型是否只是记住了这几个分子 |
后两个数字如果差异很大,说明模型的真实泛化能力被高估了,必须如实写出来。
3.3 数据集划分
- 交叉验证要分层(保持正负比例);
- 分组留出要按分子身份分组,同一种分子的不同盐型、不同记录不能跨训练/测试集,否则等于泄漏。
3.4 特征与标准化
- 不同描述符量纲差异极大(分子量几百、TPSA 几十),必须标准化;
- 优先用对离群值稳健的做法(如基于中位数与四分位距的标准化),普通标准化会被极端值带偏;
- 筛选库特征应现场从 SMILES 重建并与缓存逐元素比对,确保特征可追溯到分子本身。
3.5 对接的定位
- 对接是独立复核,不是训练特征。把对接分数塞回模型会引入循环论证;
- 对接结果非确定性(同参数两次运行可能有细微差异),要写清数量级而非绝对小数位;
- 对接框设错(口袋选偏)会让所有结果失效,务必先核对已知抑制剂的位置。
3.6 结果呈现
- 候选表至少要有:预测概率、对接结合能、理化性质(分子量、LogP 等)、来源与可获取性;
- 排名第一不等于最该做实验,概率与对接分数可能给出不同的排序,两者都要摆出来;
- 未做的验证(如分子动力学、体外活性)要明确标为「留待实验」,不能用计算分数暗示实验结果。
四、给新上手者的建议路径
- 先小后大:先用一个化合物库的十几条分子跑通全流程,再上全库;
- 每步存中间结果:原始数据、清洗后数据、特征矩阵、模型、打分表,全部落盘,能追溯;
- 先跑官方示例:分子对接一定先把 AutoDock Vina 自带的官方示例跑通,再换自己的靶点;
- 记录环境:Python 版本、包版本、命令,一样都别省,不然一周后自己都复现不了;
- 不迷信 AI 与工具:任何工具的输出都要自己核对一遍输入是否合理。
五、可继续延伸的方向
| 方向 | 用什么 | 说明 |
|---|---|---|
| 结合自由能计算 | MM-GBSA / MM-PBSA | 在对接基础上更精细地估计结合强度 |
| 分子动力学 | GROMACS / AMBER | 看复合物在时间尺度上是否稳定 |
| 脱靶预测 | 靶点相似性比对 | 评估候选分子的选择性风险 |
| 成药性与安全性 | ADMET 预测工具 | 提前筛掉性质不佳的分子 |
| 实验验证 | 体外酶活 / 抑菌实验 | 计算的终点是实验,不是分数 |