评估生成分子/对接分子的物理合理性工具 PoseBusters 评测

最近在一些分子生成或者对接模型中,出现了新的评估方法 PoseBusters,用于评估生成的分子或者对接的分子是否符合化学有效性和物理合理性。以往的分子生成,经常以生成分子的有效性、新颖性、化学空间分布,与口袋的结合力等方面进行评估,但是生成分子的构象合理性问题,一直没有直接简单的工具。PoseBusters 补足了这一点。PoseBusters 最初作者是对深度学习对接方法生成的分子的评估,现在也逐渐被使用到分子生成领域。

下面介绍一下 PoseBusters 的文章,然后进行评测。

一、背景介绍

PoseBusters 是一个基于 RDKit 的 Python 包,通过一系列标准检查配体对接姿势的化学有效性和物理合理性。来源于牛津大学统计学系 Martin Buttenschoen、Garrett M. Morris 和 Charlotte M. Deane 合作的文章:《PoseBusters: AI-based docking methods fail to generate physically valid poses or generalise to novel sequences》。文章链接:https://pubs.rsc.org/en/content/articlelanding/2024/sc/d3sc04185a。

该文章于2023年12月13日发表在《Chemical Science》期刊上,2023年11月出现在 arxiv 上。

深度学习方法预测的对接姿势在 RMSD 上已经取得良好的表现,但会产生一些不合理的分子 pose 。所以本研究选择了 5 种基于深度学习的对接方法 (DeepDock,DiffDock,EquiBind,TankBind 和 Uni-Mol) 和 2 种标准对接方法 (AutoDock Vina 和 Gold) ,评估它们在是否使用力场优化的场景下,通过 PoseBusters 比较了上述5种方法在化学有效性和物理合理性方面的表现。结果表明,深度学习的对接方法在物理合理性方面的表现不如标准对接方法。

总的来说,PoseBusters 是一个分析小分子 (对接) 结构是否符合物理合理性的工具 ,输入对接构象。在没有蛋白结构输入的场景下,输出小分子 (对接) 结构在化学有效性和分子内特性等方面的评估结果 ; 在有蛋白结构输入的场景下,输出会增加 (对接) 结构和蛋白的分子间相互作用评估结果。当然,PoseBusters 也可以对分子生成的分子进行评估。

二、评估介绍

2.1 对接方法&参数设置

在 5 种深度学习的对接方法中,DeepDock 基于配体重原子和结合口袋表面网格点之间的距离可能性学习统计势。DiffDock 在扩散过程中使用等变图神经网络进行全局对接(盲对接)。EquiBind 使用等变图神经网络进行盲对接。TankBind 也是一种盲对接方法,使用三角感知神经网络在口袋预测方法输出的每个口袋中进行对接。Uni-Mol 使用 SE3 等变 transformer 进行对接。

这 5 种深度学习对接方法在开发时的训练数据和测试数据有所差异(注意,不是下文中对比5种深度学习方法的数据集)。DeepDock 使用的是 PDBBind 2019 General Set 作为训练集(剔除了 CASF-2016 数据),共包含16367 个复合物体系。DiffDock 和 EquiBind 训练集使用的是 PDBbind 2020 General Set 中 2019 年前的复合物体系,共包含 17347 个复合物体系。TankBind 使用 PDBbind 2020 General Set 中 2019 年前的复合物体系,剔除在预处理失败的复合物体系,共包含 18755 个复合物体系。Uni-Mol 也使用 PDBbind 2020 General Set ,把其中蛋白质序列和 CASF-2016 相似度超过 40% 且配体指纹相似度超过 80% 的复合物体系剔除,共包含 18404 个复合物体系。

在使用 PoseBusters 对上述 5 种深度学习对接方法和 2 种传统对接方法的评测过程中,作者为每种方法都定义了搜索空间。Gold 的对接范围是以小分子重原子的几何中心,半径为 25 Å 的球。 Vina 的对接范围是以小分子重原子的几何中心,边长为25 Å 的立方体。 DeepDock 和 Uni-Mol 需要定义结合位点,而 DiffDock、EquiBind 和 TankBind 是盲对接方法。DeepDock 的对接范围是任意配体原子 10 Å 以内的蛋白质表面网络节点形成的空间。Uni-mol 的对接范围是任意配体重原子 8 Å 以内的蛋白质残基构成的范围。DiffDock 搜索整个蛋白。EquiBind 搜索任意配体重原子 10 Å 以内的蛋白质链。TankBind 使用 P2Rank 识别对接口袋。所有配置如下表。

2.2 PoseBusters 的测试套件

在评测之前,先介绍 PoseBusters 方法的测试内容。

PoseBusters 是作者在这一篇文章中,提出的,检验对接结果在化学有效性和物理合理性的方法。作者同时,将该方法,包装成了一个 python 的 package,可以通过 pip 快速安装。

PoseBusters 的测试套件分成三组测试:化学有效性和一致性检查( Chemical validity and consistency分子内特性检查( Intramolecular validity分子间相互作用检查( Intermolecular validity

第一组是化学有效性和一致性检查( Chemical validity and consistency) ,从结构是否有效,化学式、手性、化学键是否与真实分子相同进行检查。具体包括:加载分子成RDKit对象(File Loads); 对分子进行RDKit化学清洁检查(Sanitisation); 输入分子与真实分子的化学式是否相同检查(Molecular formula);输入分子与真实分子的化学键是否相同检查(Bonds);输入分子中指定的手性是否与真实分子相同(Tetrahedral chirality);输入分子中指定的双键立体化学是否与真实分子相同(Double bond stereochemistry)。

第二组:分子内特性检查( Intramolecular validity),测试配体几何结构和使用通用力场 (UFF) 计算的配体构象能量,用于评估对接生成的分子构象是否合理,即物理合理性。具体包括:输入分子的键长和键角在是否在设定的下限的0.75倍和上限的1.25倍之间(Bond lengths , Bond angles); 芳香五元环和六元环的所有原子在最接近的共面内距离是否超过 0.25 Å(Planar aromatic rings); 碳-碳双键的两个碳及其四个相邻原子在最接近的共面内距离是否超过0.25 Å(Planar double bonds); 非共价键结合原子对之间的原子间距离是否超过距离几何确定的下限的0.7倍(Internal steric clash); 输入分子的计算能量不超过为其生成的50个构象集合的平均能量的100倍。能量使用 RDKit 中的 UFF 计算,构象使用 ETKDGv3 生成,随后进行 UFF 的力场松弛,最多迭代200次(Energy ratio)。

第三组:分子间相互作用检查(Intermolecular validity),检查蛋白质-配体和配体-辅因子冲突。具体包括:配体和蛋白质原子对之间的距离大于它们范德华半径和的0.75倍(Minimum protein–ligand distance , Minimum distance to organic cofactors); 配体与无机辅因子(o inorganic cofactors)原子之间的距离大于它们共价半径和的0.75倍(Minimum distance to inorganic cofactors); 配体与蛋白质体积、有机辅因子相交的部分少于 7.5% 。这些体积由重原子周围的范德华半径定义,缩放系数为 0.8(Volume overlap with protein , Volume overlap with organic cofactors); 配体与无机辅因子体积相交的部分少于7.5%。这些体积由重原子周围的范德华半径定义,缩放系数为0.5(Volume overlap with inorganic cofactors)。

通过所有测试的分子构象称作 “PB-Valid” 分子。所有具体的测试内容如下表所示:

2.3 对比对接方法使用的测试集

评估过程中作者使用到两个测试集。Astex Diverse Set 是 2007 年发布人工挑选的测试集,共包含 85 对蛋白质-配体复合物,和深度学习方法的训练集数据有部分重合。PoseBusters Benchmark Set 是一个新的测试集,包含 2021 年以来发布的 308 个蛋白质-配体复合物,和训练集数据没有重合。

三、评估结果

作者分别从不使用力场优化和使用力场优化的两种场景,对上述5种深度学习对接方法和2种传统对接方法,使用他们自己开发的 PoseBusters 工具,从 RMSD 和物理合理性、方法的泛化表现等角度进行了性能比较分析。

3.1 不使用力场优化构象的结果

在 Astex Diverse Set 上,从 RMSD 来看,DiffDock(72%)的表现是最好的,但考虑到 PB-Valid,表现最好的三种方法是 Gold(64%),AutoDock Vina(56%)和 DiffDock(47%)。在 PoseBusters Benchmark set 上,无论是否考虑 PB-validity,Gold 和AutoDock Vina 在七种方法中都是表现最佳的,如下图所示。因为 PoseBusters Benchmark set 数据集是 2021 年以来发布的 308 个蛋白质-配体复合物,完全不包含 DiffDock 等模型的训练集,这种表现与他们文章中的报道的数据有很大的差距,这说明 DiffDock 等模型有较大的过拟合情况。

总的来说,当考虑物理合理性时,深度学习的对接方法的表现是不如传统对接方法的。但具体来看,每种方法有各自的优点和局限性。比如下图是 TankBind 在 Astex Diverse set 上每项测试的通过情况,可以看出 RMSD 较大、四面体手性改变和蛋白质-配体原子的最小距离过近(发生碰撞)是整体表现较差的三个主要原因(如下图)。这些局限性也为后续改进提供了参考。

为进一步探究这些方法的泛化表现,作者把 PoseBusters 测试集按照和训练集的最大序列相似度划分为三类,序列相似度分别为0~30%,30~95%,95~100% 。如下图所示,传统方法在三个蛋白相似度区间上通过 RMSD 和 PB-Valid 检测的占比都在 60% 左右,表现相当,说明传统的对接方法具有较好的统一性,不依赖训练数据(当然,他们是物理模型方法)。而深度学习的方法在序列相似度较低的蛋白(例如:序列相似度为 0~30%)上通过的比例都在 2% 以下,表现较差,这表明深度学习方法存在过拟合现象。

作者还按照复合物中是否包含辅因子分层,发现当辅因子存在时,传统方法表现仍好于深度学习方法。

3.2 使用力场优化构象的结果

为使产生的对接结果更加合理,进行额外的能量最小化。能量最小化虽然能改善深度学习方法的 RMSD 和 物理合理性(PB-Valid)表现,但仍不如传统(Gold 和 Vina)方法。例如,下图中,RMSD小于2Å的比例,Gold 和 Vina 都能接近或者超过50%, 但深度学习方法普遍小于30%。处理前后的情况如下图所示:

四、代码测评

4.1 环境安装

 

复制项目代码:

git clone https://github.com/maabuu/posebusters.git

创建环境,安装 posebusters 环境。

posebusters 的安装方法非常简单,直接 pip 安装即可。

conda create -n PoseBusters python=3.10
conda activate Posebusters 
安装 posebusters
pip install Posebusters

4.2 posebusters 使用方法

在该项目GitHub中,作者提供了一些小分子、蛋白及其对接的小分子结构的测试案例,保存在 ./posebusters/tests/conftest :

cd ./posebusters/tests/conftest

4.2.1 对小分子结构进行检查

只有小分子(对接)结构作为输入,检查分子的化学有效性和分子内特性

bust ./1OF6_DTY/1OF6_DTY_vina.sdf --outfmt long

其中,./1OF6_DTY/1OF6_DTY_vina.sdf 包含了14 个3D 的分子,来源于 Vina 对接的结果。--outfmt long 让模型输出每一个分子的每一项检测的结果。

运行输出:

Long summary for 1OF6_DTY/1OF6_DTY_vina.sdf mol_at_pos_0
MOL_PRED loaded         .   
Sanitization            .   
All atoms connected     .   
Bond lengths            .   
Bond angles             .   
Internal steric clash   .   
Aromatic ring flatness  .   
Double bond flatness    .   
Internal energy         .   
Long summary for 1OF6_DTY/1OF6_DTY_vina.sdf mol_at_pos_1
MOL_PRED loaded         .   
Sanitization            .   
All atoms connected     .   
Bond lengths            .   
Bond angles             .   
Internal steric clash   .   
Aromatic ring flatness  .   
Double bond flatness    .   
Internal energy         .   
···

可以看到,PoseBusters 对上述14个分子逐个进行检查。例如:1OF6_DTY_vina.sdf 中的第一个对接构象 pose_0,所有的测试项目均为 . ,意味着测试通过。

如果对应的测试项没有通过检查,会用 Fail 标注出来,输出例如下:

MOL_PRED loaded         .   
Sanitization            .   
All atoms connected     .   
Bond lengths            Fail
Bond angles             Fail
Internal steric clash   .   
Aromatic ring flatness  .   
Double bond flatness    .   
Internal energy         Fail

如果要将测试结果写入csv格式。可以添加 --outfmt csv --out results ,分别指定格式和文件名,将测试结果输入到 name.csv文件中。完整命令如下:

bust ./1OF6_DTY/1OF6_DTY_vina.sdf \--outfmt csv \--out results

输出表格截图如下:

4.2.2 对口袋-小分子进行检查

蛋白质口袋和小分子 (对接) 结构作为输入,检查小分子的化学有效性,分子内特性以及分子间相互作用,命令如下:

bust ./7ZTL_BCN/7ZTL_BCN_ligands.sdf -p ./7ZTL_BCN/7ZTL_BCN_protein.pdb --outfmt long

返回结果中,各项测试全部通过,返回结果如下:

Long summary for 7ZTL_BCN/7ZTL_BCN_ligands.sdf 7ZTL_BCN_A_506
MOL_PRED loaded                          .   
MOL_COND loaded                          .   
Sanitization                             .   
All atoms connected                      .   
Bond lengths                             .   
Bond angles                              .   
Internal steric clash                    .   
Aromatic ring flatness                   .   
Double bond flatness                     .   
Internal energy                          .   
Protein-ligand maximum distance          .   
Minimum distance to protein              .   
Minimum distance to organic cofactors    .   
Minimum distance to inorganic cofactors  .   
Minimum distance to waters               .   
Volume overlap with protein              .   
Volume overlap with organic cofactors    .   
Volume overlap with inorganic cofactors  .   
Volume overlap with waters               .  

更多 PoseBusters 的使用教程,可以参考:https://posebusters.readthedocs.io/en/latest/

五、总结

1. 作者提出了 PoseBusters 测试套件提出了一个新的“PB-valid”来评价对接方法,不仅考虑 RMSD,也考虑物理合理性

2. 使用 PoseBusters 评测现有的对接方法,发现没有基于深度学习的方法能同时在 RMSD 和物理合理性方面胜过标准对接方法

3. PoseBusters 可以提供每项测试的通过情况,找出当前的局限性,为深度学习对接模型开发者提供了改进的参考

4. 下一代的基于深度学习的对接方法应该在 RMSD 和物理合理性方面都超过标准对接方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391651.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软蓝屏事件揭示的网络安全深层问题与未来应对策略

目录 微软蓝屏事件揭示的网络安全深层问题与未来应对策略 一、事件背景 二、事件影响 2.1、跨行业连锁反应 2.2、经济损失和社会混乱 三、揭示的网络安全问题 3.2、软件更新管理与风险评估 3.2、系统复杂性与依赖关系 3.3、网络安全意识与培训 四、未来的网络安全方向…

网络云相册实现--nodejs后端+vue3前端

目录 主页面 功能简介 系统简介 api 数据库表结构 代码目录 运行命令 主要代码 server apis.js encry.js mysql.js upload.js client3 index.js 完整代码 主页面 功能简介 多用户系统,用户可以在系统中注册、登录及管理自己的账号、相册及照片。 每…

众人帮蚂蚁帮任务平台修复版源码,含搭建教程。

全修复运营版本的任务平台,支持垂直领域细分,定向导流,带有排行榜功能,任务发布上传审核,用户信用等级,充值接口等等均完美可用。支付对接Z支付免签接口,环境配置及安装教程都已经打包。 搭建环…

C语言调试宏全面总结(六大板块)

C语言调试宏进阶篇:实用指南与案例解析C语言调试宏高级技巧与最佳实践C语言调试宏的深度探索与性能考量C语言调试宏在嵌入式系统中的应用与挑战C语言调试宏在多线程环境中的应用与策略C语言调试宏在并发编程中的高级应用 C语言调试宏进阶篇:实用指南与案…

【Linux】网络基础_4

文章目录 十、网络基础5. socket编程网络翻译服务 未完待续 十、网络基础 5. socket编程 网络翻译服务 基于UDP&#xff0c;我们实现一个简单的翻译。 我们导入之前写的代码&#xff1a; InetAddr.hpp&#xff1a; #pragma once#include <iostream> #include <sys…

开源智能低代码自动化助手:Obsei

**Obsei&#xff1a;**低代码&#xff0c;高效率&#xff0c;Obsei让AI自动化触手可及。- 精选真开源&#xff0c;释放新价值。 概览 Obsei是一款开源的低代码人工智能自动化工具&#xff0c;它为企业提供了一套灵活的解决方案&#xff0c;以应对日益增长的数据处理需求。该工…

uvm_config_db 和 uvm_resource_db :

uvm_config_db class my_driver extends uvm_driver;int my_param;function new(string name, uvm_component parent);super.new(name, parent);endfunctionvirtual task run_phase(uvm_phase phase);// 在组件内部获取配置值if (!uvm_config_db#(int)::get(this, ""…

[Git][远程操作]详细讲解

1.理解分布式版本控制系统 形象理解&#xff1a;每个⼈的电脑上都是⼀个完整的版本库 这样⼯作的时候&#xff0c;就不需要联⽹了&#xff0c; 因为版本库就在⾃⼰的电脑上 既然每个⼈电脑上都有⼀个完整的版本库&#xff0c;那多个⼈如何协作呢&#xff1f; 例如&#xff1a;…

ajax图书管理项目

bootstrap弹框 不离开当前页面&#xff0c;显示单独内容&#xff0c;让用户操作 功能&#xff1a;不离开当前页面&#xff0c;显示单独内容&#xff0c;供用户操作步骤&#xff1a; 1.引入bootstrap.css和bootstrap.js …

Stegdetect教程:如何用Stegdetect检测和破解JPG图像隐写信息

一、Stegdetect简介 Stegdetect 是一个开源工具&#xff0c;专门设计用于检测图像文件&#xff08;JPG格式&#xff09;中的隐写信息。Stegdetect 可以检测多种常见的隐写方法&#xff0c;比如 JSteg、JPHide 和 OutGuess 等。 二、使用Stegdetect检测图像隐写 官方描述&#…

NSS [SWPUCTF 2022 新生赛]file_master

NSS [SWPUCTF 2022 新生赛]file_master 开题&#xff0c;一眼文件上传。 network看看返回包。后端语言是PHP。 除了文件上传还有个查看文件功能。 起手式查询/etc/passwd&#xff0c;发现查询方法是GET提交参数&#xff0c;后端使用file_get_contents()函数包含文件。同时有op…

企业级业务架构设计探讨

引言 在数字化转型的浪潮中&#xff0c;企业业务架构的设计成为了连接企业战略与技术实现的桥梁&#xff0c;其重要性日益凸显。本文探讨企业级业务架构的设计原则、流程、工具和技术实现&#xff0c;并结合具体案例&#xff0c;为读者提供参考。 一、设计原则&#xff1a;奠…

KubeSphere 部署的 Kubernetes 集群使用 GlusterFS 存储实战入门

转载&#xff1a;KubeSphere 部署的 Kubernetes 集群使用 GlusterFS 存储实战入门 知识点 定级&#xff1a;入门级 GlusterFS 和 Heketi 简介 GlusterFS 安装部署 Heketi 安装部署 Kubernetes 命令行对接 GlusterFS 实战服务器配置(架构1:1复刻小规模生产环境&#xff0c;…

新手学习Gazebo+ros仿真控制小车-----易错和自己理解

赵虚左老师讲的很详细&#xff0c;这里只是理一下思路&#xff0c;说下突然出现“新”概念之间的关系。 urdf文件:里面是配置模型的&#xff0c;既有模型的位置、尺寸、颜色&#xff0c;也包含复杂的物理模型信息比如&#xff1a;转动惯量&#xff0c;碰撞box大小等等&#xff…

黑马Java零基础视频教程精华部分_11_面向对象进阶(3)_抽象类、接口、适配器

《黑马Java零基础视频教程精华部分》系列文章目录 黑马Java零基础视频教程精华部分_1_JDK、JRE、字面量、JAVA运算符 黑马Java零基础视频教程精华部分_2_顺序结构、分支结构、循环结构 黑马Java零基础视频教程精华部分_3_无限循环、跳转控制语句、数组、方法 黑马Java零基础视…

书生大模型基础岛-第二关:8G 显存玩转书生大模型 Demo

1.来源 https://github.com/InternLM/Tutorial/blob/camp3/docs/L1/Demo/task.md 2.过程 在 /root/share/pre_envs 中配置好了预置环境 icamp3_demo conda activate /root/share/pre_envs/icamp3_demo创建一个目录&#xff0c;用于存放我们的代码。并创建一个 cli_demo.py …

【hive】HiveSQL中两个json解析函数的使用json路径定位小工具

文章目录 1.HiveSQL中两个json解析函数1&#xff09;get_json_object2&#xff09;json_tuple 2.json中key所在层级路径定位小工具 关于json&#xff1a; https://blog.csdn.net/atwdy/article/details/124668815 1.HiveSQL中两个json解析函数 1&#xff09;get_json_object …

C语言程序设计-[3] 运算符和表达式

C语言的运算符也存在优先级和结合性的概念&#xff0c;在同一表达式中&#xff0c;优先级高的先结合&#xff0c;优先级相同时&#xff0c;就需要考虑结合性(分为左结合性和右结合性——对于单目、三目和赋值运算符表达式&#xff0c;从右至左运算&#xff1b;其他运算符表达式…

【Mind+】掌控板入门教程04 迷你动画片

还记得小时候每天放学必看的动画片吗&#xff1f;还记得那些年陪伴我一起长大的卡通人物吗&#xff1f;勇救爷爷的葫芦娃&#xff0c;我们的朋友小哪吒&#xff0c;相信这些经典的动画形象已经成为了一代人童年的美好回忆。今天就让我们用掌控板来制作一部迷你动画片吧。 项目示…

什么是云原生?

1. 前言 停下手头的工作&#xff0c;让你的同事定义“云原生”一词。你很可能会得到几个不同的答案。 1.1 让我们从一个简单的定义开始&#xff1a; 云原生架构和技术是一种设计、构建和操作在云中构建并充分利用云计算模型的工作负载的方法。 1.2 云原生计算基金会给出了官方…