课程导论:GNN 在药物发现中的角色、QSAR 概述、靶点筛选的现实意义

各位好,我是这门课的主讲。在药物发现领域摸爬滚打这些年,我越来越觉得,光靠传统方法做靶点筛选,就像在黑暗里找钥匙。为什么这么说?你想想看,一个化合物库动辄上百万分子,每个分子又有成百上千个描述符。传统 QSAR 模型处理起来,累得够呛,还经常过拟合。直到我把图神经网络(GNN)引入到这个流程里,事情才真正有了转机。

为什么图神经网络适合药物发现?

分子本身就是一张图。原子是节点,化学键是边。这个结构太自然了,不是吗?传统方法得先把分子“压平”成指纹向量,丢掉了空间信息和拓扑结构。GNN 直接在图结构上做消息传递,每个原子能“看到”它的邻居,几轮消息传递后,整个分子的全局信息就聚合出来了。

举个例子。我参与过一个靶点项目,目标蛋白是激酶。手头有几万个已知活性的分子,但活性分布严重不平衡——大部分是阴性,极少阳性。用随机森林做 QSAR,阳性样本一直预测不准。后来换成 GNN,节点特征用了原子类型、杂化状态、电荷,边特征用了键型和环信息。模型收敛后,阳性预测的 AUC 直接提升了 0.13。

关键点:GNN 通过消息传递机制,能捕获分子局部到全局的层级信息,这对预测分子与靶点的结合活性至关重要。

QSAR 的基本逻辑与痛点

QSAR 全称是定量构效关系。说白了,就是找出一组分子结构特征与生物活性之间的数学关系。传统 QSAR 流程大致是这样的:

  1. 收集一批化合物及其活性数据(IC50, Ki 等)
  2. 计算分子描述符(如 2D 指纹、物理化学参数)
  3. 用线性或非线性模型(如 PLS、SVM、随机森林)拟合关系
  4. 用验证集评估预测能力

但是,这里面有个大坑。我在早期项目里试过 ECFP4 指纹做描述符,模型在训练集上 R² 做到 0.95,一上外部测试集直接掉到 0.4。为什么?指纹是离散位串,丢失了分子的三维构象信息。而且指纹长度固定,分子大了会碰撞。说白了,传统描述符的“表达能力”不够,尤其对复杂靶点(比如 GPCR、离子通道),经常失效。

千万不要以为描述符越多越好。我曾经给一个模型塞了 2000 多个特征,结果模型完全过拟合到噪声上。更讽刺的是,去掉一半无关特征后,测试集性能反而提升了 8%。特征选择,比模型本身更重要。

靶点筛选的现实意义

一个新药从靶点发现到上市,平均需要 10 年,花费超过 10 亿美元。其中早期靶点筛选阶段,要判断哪个靶点最可能成药。传统方式靠文献调研 + 体外实验,通量很低。一个团队一年能筛 2~3 个靶点已经算快了。

图神经网络 QSAR 能干什么?它能快速构建“化合物 – 靶点”的活性预测模型。你提供候选靶点的序列或结构信息,模型就能从海量化合物库中预测哪些分子可能会结合。这大大缩短了筛选周期。

我见过一个例子,某团队用 GNN 模型筛选了 50 万个化合物对 5 个潜在靶点的活性,两周内给出了每个靶点的 top 100 候选分子。后续实验验证,前 20 个分子中,有 14 个确实有微摩尔级活性。这个命中率,传统方法做不到。

课程知识体系总览

下面这张图,是我梳理的整门课的核心逻辑。你可以把它当作地图,随时回来参考。

图神经网络 QSAR 靶点筛选 —— 知识体系 化合物分子图 靶点蛋白信息 已知活性数据 图特征构建(节点特征 + 边特征 + 全局特征) GNN 消息传递层(GCN / GAT / GIN) 消息聚合 + 更新函数 + 读出层 活性预测 / 靶点排序 / 候选分子推荐 整体思路:从分子图和靶点信息出发,经过图神经网络建模,最终输出可验证的候选分子列表。 每部分细节会在后面章节逐步展开,包括特征工程、模型设计、训练调优、结果解释等。

课程结构一览

我们这门课一共 30 章,分 5 个模块。我把模块和对应章节大致列了个表,方便你规划学习节奏。

模块涵盖章节核心内容
基础理论1–6GNN 基础、分子图构建、QSAR 原理
特征工程7–12原子/键特征设计、3D 构象特征、增强策略
模型架构13–19GCN、GAT、GIN、结合注意力机制、多任务学习
训练与评估20–25损失函数选择、数据划分、指标(AUC, RMSE, Enrichment Factor)
落地实战26–30靶点筛选案例、模型可解释性、部署到云平台
建议新手按顺序学,但如果你已经熟悉 PyTorch 和基础图网络,可以直接跳到第 7 章。别忘了,每章末尾都有配套代码仓库的链接,我会把我在项目中踩过的坑写成注释放在里面。

本章小结

回到开头的问题:为什么 GNN 在 QSAR 靶点筛选中能打?因为分子是图,靶点也是图(蛋白结构图),图神经网络恰好能同时处理这两种图以及它们之间的交互。传统方法要么丢掉结构,要么丢掉上下文,GNN 全保留。

你想想看,如果一个模型能直接从分子图和靶点信息中学习活性模式,那它一定比只靠人工特征的要聪明得多。接下来的章节,我会带你一步步把这条路走通。

对了,如果你在用某些公共数据集(比如 PubChem BioAssay、ChEMBL),刚开始可能会被数据噪声搞得头疼。别急,我在第 4 章专门讲了数据清洗的方法,那是经过十几轮项目打磨出来的。