1. 课程导入与工程全景

蛋白配体图网络建模,是把蛋白质与配体之间的相互作用抽象成“图”的结构,再用图神经网络(GNN)等模型去学习、预测或生成这种相互作用的工程方法。这里的“图”由节点和边构成:节点通常代表原子、残基、片段或整个分子,边代表化学键、空间邻近、氢键、疏水接触、静电作用等关系。相比把分子压成一条 SMILES 字符串或一组固定长度的描述符,图结构保留了“谁和谁在什么距离、以什么方式接触”的拓扑信息,这正是决定结合亲和力、选择性和结合位姿的关键。

本课程要解决的核心问题可以归纳为四类。第一是表示问题:如何把蛋白口袋和配体同时编码进一张异构图,让模型既看到配体的键连接,也看到它与口袋残基的跨分子接触。第二是预测问题:给定蛋白和配体,预测结合亲和力(回归)、是否结合(分类)或结合位姿(几何)。第三是泛化问题:模型在训练集上表现好,遇到新蛋白家族或新骨架配体时是否仍然可靠,这涉及数据划分方式与分布外评估。第四是工程问题:从结构文件到可训练图数据、从模型到可复现实验、从指标到可解释结论,整条链路如何稳定运行。

典型应用场景包括:虚拟筛选中的亲和力排序、先导化合物优化中的活性与选择性预测、突变对结合影响的评估、结合位点与结合模式的识别,以及以图生成为核心的分子设计。这些场景对输入的要求不同:有的只需要蛋白序列和配体 SMILES,有的必须依赖复合物晶体结构或预测结构。工程上必须先明确“我手上有什么数据”,再决定图怎么建、模型怎么选。

本节示例约定:后文出现的蛋白、配体、坐标、距离阈值、样本量、指标数值均为教学示例或合理假设,用于说明工程流程与判断依据,不代表任何真实实验的实测结果。

下面这张图给出本节的全景关系:左侧是三类原始输入,中间是图构建与模型,右侧是任务输出与评估,底部是贯穿全流程的数据与版本管理。它强调的不是线性步骤,而是“输入—图表示—模型—输出—反馈”的闭环结构。

蛋白配体图网络建模工程全景 原始输入 蛋白序列 / PDB 结构 配体 SMILES / SDF 复合物坐标与标签 (亲和力、活性、位姿) 图构建 节点:原子 / 残基 边:键、距离、接触 特征:元素、电荷、类型 阈值示例:接触 ≤ 4.5 Å 图神经网络 消息传递 / 注意力 异构图 / 边类型编码 读出层 → 向量表示 回归头 / 分类头 / 几何头 任务输出 亲和力 结合概率 结合位姿 可解释权重 评估与反馈 RMSE / AUC / 富集因子 / 位姿 RMSD | 分布外测试 | 误差归因 误差反馈:调整图构建与特征 工程支撑层 数据清洗与划分 去重、去泄漏、聚类划分 特征与图缓存 PyG / DGL 数据集对象 训练与调参 损失、早停、随机种子 版本与复现 配置、日志、模型快照 部署推理 批量打分接口

从技术栈看,这条链路通常由四层组成。数据层负责读取 PDB、mmCIF、SDF、SMILES,并做质子化、去水、补全缺失原子等预处理;图构建层把结构转成节点特征矩阵和边索引,常用工具包括 RDKit、Biopython、ProDy 以及 PyG 的 Data 对象;模型层以 PyTorch 为底座,配合 PyTorch Geometric 或 DGL 实现消息传递;实验管理层用 Hydra 或 YAML 配置、MLflow 或 TensorBoard 记录指标,保证每次运行可追溯。

一个完整的项目流程可以这样落地。假设我们要预测一组配体对某个靶点的结合亲和力,示例数据为 1200 个复合物,按蛋白序列相似度 40% 聚类后划分为训练 900、验证 150、测试 150,避免同源泄漏。图构建时,配体原子作为节点,键和 4.5 Å 内的非键接触作为边;蛋白侧取口袋 8 Å 范围内的残基,以残基为节点,残基间 8 Å 内接触为边,并加入配体原子—残基的跨分子边。节点特征示例:原子用元素 one-hot、杂化类型、是否芳香、部分电荷;残基用氨基酸类型、相对溶剂可及性、是否形成氢键。

# 示例:用 PyG 组织一个复合物图(参数为教学假设)
data = Data(
    x=ligand_atom_features,        # [N_atom, F_atom]
    edge_index=ligand_bond_index,  # [2, E_bond]
    edge_attr=ligand_bond_attr,    # [E_bond, F_bond]
)
# 跨分子接触边:配体原子 i 与口袋残基 j 距离 <= 4.5 Å
cross_edge_index = contact_pairs   # [2, E_cross]
# 训练目标:pIC50 或 -logKd,回归损失用 MSE
loss = mse_loss(model(data), y_affinity)

训练时观察三条曲线:训练损失、验证损失、验证集 RMSE。若训练损失持续下降而验证损失在若干轮后回升,说明过拟合,可减小隐藏维度、增加 dropout 或引入边丢弃。测试阶段除 RMSE 外,还应看排序指标,例如把测试集按预测值排序,计算 top 10% 中真实高亲和力样本的比例,即富集因子。若富集因子接近随机水平,说明模型没有学到可用于筛选的排序信号,需要回到图构建检查接触阈值和特征是否丢失关键信息。

工程判断要点:先确认数据划分是否按同源聚类,再确认图构建是否与任务匹配。亲和力预测更依赖接触细节,位姿预测更依赖几何完整性,二者对节点粒度和边定义的要求不同,不能共用一套图配置而不加验证。

最后要建立“可解释—可复现—可迭代”的意识。可解释性可以通过注意力权重或边掩码实验观察哪些残基—配体接触对预测贡献大;可复现性要求固定随机种子、记录数据版本与超参数;可迭代性要求把每次失败案例归因到具体环节,例如某类配体因缺少卤键特征而系统性低估,就回到特征工程补充相应描述。图网络建模不是一次训练,而是一条从结构到图、从图到模型、从模型到结论、再从结论回到图构建的持续闭环。