物理先验+数据增强的蛋白-小分子亲和力打分模型 EquiScore 评测
EquiScore 是一个结合物理先验知识和数据增强建模的蛋白-配体相互作用评分方法,利用等变异构图神经网络在等变几何空间中表征蛋白-配体相互作用,对小分子-蛋白的亲和力进行预测,可以用在虚拟筛选和活性排序任务上。
EquiScore 由浙江大学人工智能药物创新研究院和药学院的研究团队开发,该模型题目为“EquiScore: A generic protein-ligand interaction scoring method integrating physical prior knowledge with data augmentation modeling”的论文中,正式发表在 Nature Machine Intelligence volume 6, pages 688–700 (2024)。GitHub链接:https://github.com/CAODH/EquiScore
一、背景介绍
EquiScore 来源于中国科学院上海药物所、浙江大学人工智能创新药物研究院郑明月教授为通讯作者的文章:《 Generic protein–ligand interaction scoring by integrating physical prior knowledge and data augmentation modelling 》。此工作已经于 2024 年 6 月 6 日正式发表在 《Nature Machine Intelligence》上,文章链接为: https://www.nature.com/articles/s42256-024-00849-z 。
开发可靠的蛋白质-配体相互作用评估方法一直是挑战,传统的数据驱动方法可能只记住训练数据,而不真正理解相互作用。本文介绍了EquiScore,一个结合物理先验知识的异质图神经网络评分方法,它在等变几何空间中表征蛋白质-配体相互作用。
EquiScore 的训练基于一个新数据集PDBscreen,并采用数据增强和严格冗余去除策略。在两个外部测试集上,EquiScore 的虚拟筛选能力超过了其他 21 种方法,而且对配体构象(pose)变化不敏感。与不同对接方法结合时,它能进一步增强筛选能力。此外,EquiScore 在结构类似物的活性排序任务中也表现优异,具有优化先导化合物的潜力。
二、模型介绍
基于机器学习的评分方法随着实验性蛋白质-配体相互作用数据爆炸性增长而取得了显著进展。各种机器学习算法和神经网络架构,如三维卷积神经网络(3D-CNN)和图卷积神经网络(GNN),在基准测试中展示了筛选和评分能力的提升。然而,这些数据驱动模型的表现往往依赖于训练数据,并且难以推广到训练过程中未包含的蛋白质或配体化学类型。比较分析显示,基于机器学习的评分方法在训练集中未见过的目标上并不优于传统评分方法。这凸显了需要更强大、更可靠的方法来更好地应对这些超分布(OOD)的挑战。
在训练数据的方面存在两个局限。首先,正样本的数量和多样性通常不足,导致模型能够利用的信息有限。其次,许多公共数据集存在内部数据分布偏差,可能会阻碍模型学习希望理解的蛋白质-配体相互作用。
在算法方面,已有解决不同类型数据问题的神经网络架构来开发蛋白-小分子亲和力/对接评分的方法。然而,直接将这些架构应用于蛋白质-配体相互作用预测仍然存在许多不足之处。例如,3D-CNN需要广泛的数据增强,以考虑到原子在三维旋转和平移中的等变性。GNN可能忽略复合物中的一些重要信息,例如构建具有特定距离阈值的边,这会失去化学结构的先验知识,并且无法准确描述蛋白质-配体复合物中原子间的距离依赖物理相互作用。例如,氢键和范德华力相互作用对原子间距离的敏感性高于静电相互作用。常用的 one-hot 编码表示原子是否是芳香族的,不能很好地反映芳香环对分子间相互作用的非局部贡献,如芳香环系统之间的 π-π 相互作用。将物理先验信息引入评分方法是另一个关键问题,它可以帮助进一步提高泛化能力。近来,等变模型在更准确和高效预测分子间相互作用方面显示出潜力。这是因为它们在重要的几何张量相互作用(如多个偶极子或氢键相互作用)上具有更具表现力的操作。尽管取得了这些进展,但物理归纳偏差的引入仍未在这些模型中得到充分考虑。因此,迫切需要探索新型的等变神经网络架构,通过将物理先验知识与数据驱动建模相结合,更好地学习蛋白质-配体相互作用。
作者旨在通过上述两种方式改进基于深度学习的评分方法。首先,收集更多的正样本,并使用分子深度生成模型生成更多欺骗性和多样化的诱饵分子,以减少构建虚拟筛选训练数据集时可能产生的偏差。其次,引入了一个等变图神经网络,将物理先验知识整合到异构图中,并采用新的更新机制以实现更好的信息交互。本研究使用设计的数据集和异构图网络来训练最终的评分方法,命名为EquiScore。
(1)将 EquiScore 与其他深度学习评分方法在两个外部测试集 DUD-E 和 DEKOIS 2.0 上进行性能对比,以评估其在未见过的蛋白质体系上的筛选能力;
(2)将 EquiScore 与其他深度学习方法在一个先导优化数据集 LeadOpt 上进行比较,以评估其在结构类似物上的活性排序能力;
(3)使用不同的对接方法生成结合构象,进一步评估EquiScore 作为重新评分方法的稳健性。
(4)作者分析了模型的可解释性,检查其是否学习到了感兴趣的关键分子间相互作用。
2.1 构建 PDBscreen 数据集
作者通过三种方式改进了训练评分方法的数据集构建,如下图所示。首先,作者从 PDB 数据库中收集了蛋白-配体复合体的晶体结构,以增加正样本的多样性,缓解数据集中的类比偏差问题。其次,作者在重对接后保留了接近原生构象的结合姿势,即与晶体构象的均方根偏差(RMSD)小于 2 Å 的姿势,并将最高对接得分的姿势作为附加的正样本。此步骤的目的是引入由姿势生成方法产生的噪声,以提高模型的泛化能力。第三,关于负样本的构建,作者首先通过交叉对接构建了负样本,确保每个配体在正负样本中都有出现,这一过程称为“标签反转”实验。模型不能仅仅通过记住配体的亚结构来区分正负样本,而是被迫学习更高层次的、更难的蛋白质-配体相互作用信息。
为了进一步限制人为富集偏差并提高数据集中负样本的分子多样性,作者使用生成模型 DeepCoy 生成了 500 个与每个复合体配体相似的物理和化学性质的诱饵分子。生成的样本随后被对接并通过 Schrödinger 中的形状筛选模块(Schrödinger, LLC)进行评分。作者仅保留了与晶体配体姿势最接近的前五个诱饵分子作为负样本,这可以进一步增加模型正确识别的难度,从而缓解人为富集偏差。上述数据增强策略旨在帮助模型学习能够跨蛋白质泛化的表示。
作者将生成的数据集命名为 PDBscreen
2.2 EquiScore 的架构
EquiScore 是一个二分类模型,通过输入由蛋白质口袋区域和配体构建的异质图来评估蛋白质与配体之间的结合潜力。下图展示了 EquiScore 的架构。第一步是构建一个包含蛋白质口袋和配体的异质图。第二步是通过相应的嵌入层初始化图中节点和边的表示。第三步是将初始化后的图送入 EquiScore 层,以学习其表示。最后,在任务层,读取配体上的原子表示,并使用多层感知机输出的评分进行下游任务。
2.3 模型性能
2.3.1 EquiScore 在未见过的蛋白质上的虚拟筛选能力提升
作者首先验证了 EquiScore 作为重评分方法的有效性,使用的是通过 Glide SP 生成的假定结合姿势。在下图中,展示了对 DEKOIS2.0 数据集的分析结果。EquiScore 达到了最高的接收操作特征曲线(AUROC)得分 0.821,明显高于第二名 RTMScore 的 0.756(图 a)。为了比较早期识别能力,计算并比较了所有方法的玻尔兹曼增强区分度(BEDROC)指标,如图 b 所示。除 RTMScore 外,EquiScore 超过了所有基准方法,获得了 0.460 的 BEDROC 得分。
值得注意的是,当仅考虑训练期间未出现过的靶标时,RTMScore 的性能显著下降,从 0.541(图 a)降至 0.352(图 d),远低于 EquiScore 的 0.401。其他基于 PDBbind 训练的方法也出现了类似的现象。关于富集因子(EFs),时,EquiScore 再次达到了最高的性能,并且当仅考虑训练期间未见过的靶标时,EquiScore 相较其他方法具有更大的优势。上述结果表明,在更严格的测试下,EquiScore 的整体排名能力显著超出了现有方法。此外,EquiScore 在未见靶标上的虚拟筛选富集能力超过了传统评分方法和深度学习方法。
2.3.2 EquiScore 显示出对类似化合物的活性排序能力
为了进一步验证 EquiScore 在先导化合物优化场景中的潜力,作者收集了一个名为 LeadOpt 的数据集,其中包含来自文献的八组类似物及其活性数据,以测试 EquiScore 以及其他最近的深度学习评分方法和传统方法的排序能力。在此测试中,使用斯皮尔曼相关系数作为指标。
FEP+ 是一种商业化的自由能扰动(FEP)计算工具,已在先前的报告中证明了其极高的计算准确性。正如下表所示,EquiScore(0.54)仅次于 FEP+(0.73),在 LeadOpt 数据集上排名第二。
2.3.3 EquiScore 展示出强大的重评分能力
下图展示了每种对接方法的虚拟筛选(VS)性能以及 EquiScore 重评分后的比较。可以看出,EquiScore 显著提升了所有对接方法的虚拟筛选性能。对于四种性能相对较差的对接方法,其中三种在 EquiScore 重新评分后,能够超过或与行业领先的商业对接方法 Glide SP 相媲美。重新评分后的 1% EF 性能提升是原始对接方法的两到三倍。EquiScore 重新评分也能提高 Glide SP 的性能,达到了 16.83 的最高 1% EF,在所有组合中表现最佳。与 1% EF 不同,BEDROC 和 AUROC 考虑了所有化合物,而不仅仅是化学库中的一部分。使用这两个指标时,可以发现,EquiScore 重新评分提高了原始对接方法的筛选能力,四种方法在重新评分后超越了 Glide SP(见图 b 和图 c)。
三、EquiScore 评测
3.1 下载数据集
项目提供处理好的训练数据 PDBscreen ,数据保存在 zenodo 网站,链接是:https://zenodo.org/records/8049380,网页截图如下所示:
数据压缩包下载后,上传到 ./ 文件夹。解压文件到 data 文件夹中,路径为 ./data/training_data/PDBscreen 。命令如下:
mkdir -p data/training_data
tar -xzvf PDBscreen.tar.gz -C data/training_data
3.2 安装环境
复制代码项目:
git clone https://github.com/CAODH/EquiScore.git
项目提供 EquiScore 环境所需的所有软件,保存在 zenodo 网站,链接是:https://zenodo.org/records/10417452 ,网页截图如下所示:
创建 conda 环境文件夹,并将 conda 环境压缩包解压到该文件夹,激活环境:
mkdir /workspace/anaconda3/envs/EquiScore
tar -xzvf EquiScore.tar.gz -C /workspace/anaconda3/envs/EquiScore
conda activate EquiScore
迁移环境时,一些依赖或者路径被硬编码到环境中,需要把这些路径变成动态的,以使用不同的系统和目录结构,执行以下命令:
conda-unpack
3.3 使用提供的模型权重针对靶标筛选化合物
项目提供筛选的脚本(Screening.py),可以针对特定靶标,从一个化合物库中筛选 Hits 。
项目提供了一个简单的示例,数据保存在 ./data/sample_data 文件夹中。文件夹目录如下:
.
|-- sample_compounds.sdf
`-- sample_protein.pdb
0 directories, 2 files
其中,sample_protein.pdb 是项目提供的示例的靶标蛋白,但是没有说明 PDB ID 。sample_compounds.sdf 是用于筛选的一个小型化合物库,包含 40 个小分子的 3D 构象。
化合物库中的一个小分子示例在蛋白口袋中的位置如下。该蛋白口袋两边都有开口。
下面,按照说明文档的步骤针对该靶标,筛选化合物(对化合物打分)。
1.对接。
EquiScore 对于构象来源是十分鲁棒的,可以选择任何生成构象的方法,比如:Glide,Vina,Surflex,Gold,LeDock 。也可以使用深度学习的方法来获得对接构象。项目提供的 sample_compounds.sdf 中的分子已经是在蛋白口袋中的,直接进行下一步即可。
2.提取口袋。
接着获取口袋区域和化合物构象,基于化合物周围 8 Å 的范围作为蛋白口袋。运行下面脚本:
python ./get_pocket/get_pocket.py \
--docking_result ./data/sample_data/sample_compounds.sdf \
--recptor_pdb ./data/sample_data/sample_protein.pdb \
--single_sdf_save_path ./data/sample_data/tmp_sdfs \
--pocket_save_dir ./data/sample_data/tmp_pockets
其中,
--docking_result :用于指定分子的对接构象文件;
--recptor_pdb :指定筛选的靶标蛋白;
--single_sdf_save_path :把化合物库中的分子拆分成单个的 SDF 文件,该参数指定保存路径;
--pocket_save_dir :指定提取的口袋信息保存路径。
命令运行输出如下,整个过程大约几秒钟。提取的分子构象和蛋白口袋分别保存在 ./data/sample_data/tmp_sdfs 和 ./data/sample_data/tmp_pockets 文件夹中。
num compounds to get pocket 40
get_pocket:: 0%| | 0/40 [00:00<?, ?it/s]waiting for processing!
get_pocket:: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:03<00:00, 12.90it/s]all pocket done! check the outdir plz!
get_pocket:: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40/40 [00:03<00:00, 12.60it/s]
3.亲和力评估
至此,已经处理好了 EquiScore 预测蛋白质-配体相互作用所需的所有数据。
通过以下命令筛选化合物:
python Screening.py \
--ngpu 1 \
--test \
--test_path ./data/sample_data/ \
--test_name tmp_pockets \
--pred_save_path ./data/test_results/EquiScore_pred_for_tmp_pockets.csv
其中,
--ngpu:指定模型运行使用的 GPU 数目;
--test:test 模式可以用于基准测试或者筛选化合物场景;
--test_path:指定测试数据所在的文件夹;
--test_name:指定包含测试口袋的数据集文件夹;
--pred_save_path:输出结果为 CSV 表格,保存筛选脚本的预测结果。
化合物库的筛选结果保存到 ./data/test_results/EquiScore_pred_for_tmp_pockets.csv 表格中。表格中的内容如下:
表格中两列分别是化合物路径和对应的评分,降序排列。根据预测结果,化合物 27 是模型认为最适合口袋的化合物。下面是该化合物在口袋中的位置,填充了整个口袋空间。
评分最低的是化合物 7,该化合物在口袋中的位置如下。发现该化合物和蛋白口袋有空间冲突的问题。
3.4 自定义案例(ABL1)
我们把 ABL1 体系作为自定义案例。6HD6.pdb 晶体结构,属于 Holo 结构,在此结构中,存在两个小分子,一个底物小分子抑制剂 Imatinib,另一个是变构小分子 Compound 6。除此以外,我们还找到 Compound 5 和 Compound 7 这两个变构分子,且活性与 Compound 6 有明显的区别。Compound N 则是来源于非激酶体系的变构小分子,是肯定不能结合在底物或者变构位点的。分子的 2D 结构及活性情况如下所示:
在此,我们把 SurfDock 预测的几个分子(化合物 5、6、7 和 N)的构象作为筛选的化合物,6HD6.pdb 作为靶标,通过 EquiScore 评估这些分子构象和蛋白的相互作用,给每个分子构象打分。
结果表格中的内容如下:
表格中的化合物 0、1、2 和 3 分别对应化合物 5、6、7 和 N 。在蛋白口袋中得分最高的是化合物 6(注:该分子是晶体结构 6HD6.pdb 中的配体分子)。与活性作对比,可以看到化合物 N 的打分最低仅为0.006,是所有分子中最低的打分,这打分相对于其他活性分子确实差别巨大。但是对于有活性分子之间的比较来看,不是很好。因此,作者提供的模型更适合做虚拟筛选,而不是作为高活性分子之间的活性排序,这显然是因为作者的数据是训练是否结合。
四、总结
在本研究中,作者开发了一种通用的蛋白质–配体相互作用评分方法,称为 EquiScore。首先,作者使用多种数据增强策略构建了一个新的数据集,命名为 PDBscreen,其中包括通过近天然配体结合构象扩大正样本的数量,以及通过生成高度具有欺骗性的诱饵分子来扩大负样本的数量。其次,利用 PDBscreen 数据集,训练了一个使用等变异异构图架构的模型,该架构结合了关于蛋白质–配体相互作用的不同物理和先验知识。第三,作者评估了最终 EquiScore 模型的性能。在虚拟筛选(VS)场景中,EquiScore 在 DEKOIS2.0 和 DUD-E 两个外部数据集上相对于 21 种现有评分方法,在未见过的蛋白质上始终保持排名靠前。在先导化合物优化场景中,EquiScore 的排序能力仅略低于 FEP+ 。
我们的测试结果显示,EquiScore 可能具有较好的虚拟筛选重排序能力,值得一试。更多详细的测试过程、报错解决、训练模型、完整代码等,请参考完整测评文档。