【文献阅读】Pocket2Mol : 基于3D蛋白质口袋的高效分子采样 + CrossDocked数据集说明

Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets

code: GitHub - pengxingang/Pocket2Mol: Pocket2Mol: Efficient Molecular Sampling Based on 3D Protein Pockets


所用数据集

与“A 3D Generative Model for Structure-Based Drug Design”文章所用的数据集一致:

Data We use the CrossDocked dataset [7] following [20]. The dataset originally contains 22.5 million docked protein-ligand pairs at different levels of quality. We filter out data points whose binding pose RMSD is greater than 1Å, leading to a refined subset consisting of 184,057 data points. We use mmseqs2 [31] to cluster data at 30% sequence identity, and randomly draw 100,000 protein-ligand pairs for training and 100 proteins from remaining clusters for testing.

RMSD是用来比较实验或计算得到的蛋白质-配体复合物的结构与某个参考结构之间的差异,这里过滤掉了相似度(RMSD)大于 1Å的复合物。

“crossdocked_pocket10/index.pkl”中包含3种信息,分别是: pocket_fn(口袋名称), ligand_fn(配体名称), _, rmsd_str(受配体RMSD(比较蛋白质结构或化合物结构之间的相似程度))

评价指标

这里主要介绍容易混淆的两个metrics:

Vina Score(kcal/mol, ):We use Vina [33, 1] to compute the binding affinity (Vina Score). Before feeding the molecules to Vina, we employ the universal force fields (UFF) [24] to refine the  generated structures following [20].

High Affinity(%, ):有更高亲和力的百分比,测量结合位点生成的结合亲和力高于或等于参考ligand的分子的百分比


 作者提出了一种新的可以满足口袋施加的多个几何约束的采样方法:Pocket2Mol,这是一个由两个模块组成的 E(3)-等变生成网络,它不仅可以捕获结合口袋原子之间的空间和键合关系,还可以在不依赖 马尔科夫链蒙特卡洛方法(MCMC)的情况下从易于处理的分布中以口袋表示为条件对新候选药物进行采样。实验结果表明,从 Pocket2Mol 中取样的分子具有明显更好的结合亲和力和其他药物特性,例如药物相似性和合成可及性。

1.介绍

深度学习在药物设计方面取得了巨大成功。生成模型主要思想是在紧凑的低维空间中高效地表示所有收集的化学结构,并通过扰乱隐藏值来采样新的候选药物。这些模型的输出可以是一维化学描述符、二维图(graph)和3D结构。

然而,在分子水平上,小分子仅通过与特定的蛋白质口袋结合来抑制或激活特定的生物学功能。因此,基于口袋的药物设计受到越来越多的关注。更具体地说,给定目标蛋白的 3D 结合口袋,这些模型知道 3D 口袋的几何信息,并相应地生成与口袋结合的分子。早期的方法通过:

  1. 集成评估功能(例如采样分子和口袋之间的对接分数)来修改无口袋模型,以指导候选搜索。
  2. 另一种方法将 3D 口袋结构转换为分子 SMILES 字符串或 2D 分子图,但是没有明确建模小分子结构和 3D 口袋之间的相互作用。

条件生成模型可以模拟 3D 口袋结构内的 3D 原子密度分布。然后这个问题的挑战点从学习分布转移到结构采样算法的效率上。此外,以前的模型过分强调原子 3D 位置的重要性,而忽略了化学键的产生,这导致在实践中原子连接不切实际。作者从以下方向改进了基于口袋的药物设计:

  1. 第一,开发一种新的深度几何神经网络来准确地模拟口袋的 3D 结构;
  2. 第二, 设计一种新的采样策略,以实现更有效的条件 3D 坐标采样;
  3. 第三,将采样一对原子之间的化学键的能力分配给Pocket2Mol模型。

Pocket2Mol模型利用基于向量的神经元几何向量感知器学习蛋白质口袋施加的化学和几何约束,通过共享原子级嵌入联合预测前沿原子、原子位置、原子类型和化学键,并以自回归方式对分子进行采样。由于基于向量的神经元,该模型可以直接生成相对于焦点原子的相对原子坐标的易处理分布,以避免使用传统的 MCMC 算法。实验结果表明,Pocket2Mol 采样的候选药物不仅表现出更高的结合亲和力和药物相似性,而且比最先进的模型包含更真实的子结构。此外,Pocket2Mol 比以前基于 MCMC 的自回归采样算法快得多。

3.方法

Pocket2Mol 的中心思想是根据已经存在的原子来学习口袋内每个位置的原子或键类型的概率分布。为了学习这种特定于上下文的分布,作者采用自回归策略从训练药物的其余部分预测随机被mask掉的部分。

3.1、生成步骤

形式上,蛋白质口袋表示为一组带有坐标的原子,

其中a_i^{pro}r_i^{pro} 分别是第 i 个重原子、及其坐标,N 是蛋白质口袋中的原子数。以连续方式对分子进行采样。将已经生成的具有n个原子的分子片段表示为带有坐标的图:

a_i^{mol}r_i^{mol}b_i^{mol} 分别表示第i个重原子,它的坐标、它与其他原子的价键

生成模型记为φ,生成过程定义如下:

P^{pro} 蛋白质口袋、G_n^{mol} 分子片段

对于每个原子,生成过程由四个主要步骤组成,如图一所示:

  1. 首先,该模型的前沿预测器 f_{fro} 将预测当前分子片段的前沿原子(Frontiers)。前沿被定义为可以共价连接到新原子的原子。如果所有的原子都不是前沿,则表明当前分子是完整的,生成过程终止。
  2. 第二步,该模型从前沿原子集中采样一个原子作为焦点(Focal)原子。
  3. 第三步,基于焦点(Focal)原子,模型的位置预测器 f_{pos} 预测新原子的相对位置。
  4. 最后,模型的原子元素预测器 f_{ele} 和键型预测器 f_{bond} 将预测元素类型和与键类型的概率,然后采样新原子的元素类型和价键。
  5. 通过这种方式,新原子被成功地添加到当前的分子片段中,生成过程继续下去,直到找不到前沿原子(Frontiers)。

这个生成过程对于第一个前沿原子是不同的,对于第一个原子,蛋白质口袋中的所有原子都被用来预测前沿(Frontiers),这里的Frontiers被定义为新原子可以在4˚A内产生的原子。【可以从第一个Frontiers的生成和采样做文章

3.2、模型架构

基于上述生成过程,模型需要由四个模块组成:编码器(encoder)、前沿原子预测器(frontier predictor)、原子位置预测器( position predictor )和元素和键预测器( element and-bond predictor)。

3.2.1、E(3)等变神经网络【主体架构,可以更好的捕获3D口袋和分子fragment的信息】

研究表明,用标量和向量特征表示三维图中的顶点和边(2021)可以帮助提高神经网络的表达能力。在我们的网络中,蛋白质口袋和分子片段的所有顶点和边都与标量和矢量特征相关联,以更好地捕获三维几何信息。

标量和向量分别用点和箭头表示

我们采用几何矢量感知器(geometric vector perceptrons GVP)(Jing et al.,2021)和基于矢量的神经网络(vector-based neural network)(Deng et al.,2021)来实现E(3)-等变。

  1. 几何向量感知器(GVP)扩展了标准的密集层(standard dense layers),可以在标量特征和向量特征之间传播信息(Jing et al., 2021)。
  2. 向量神经元网络将一组普通的神经操作(例如线性层、激活函数)扩展到向量特征空间(Deng et al., 2021)。

我们对原GVP进行修改,在GVP的输出向量上加入一个向量非线性激活(vector nonlinear activation),记为Gper:

可以是任何一对标量向量特征

在我们的模型中,我们选择LeakyReLU非线性函数作为GVP的标量和矢量输出。此外,我们通过去掉GVL的标量和矢量输出的非线性激活,定义了一个几何向量线性( geometric vector linear  GVL)块,记为Glin。改进的GVP块Gper和GVL块Glin是我们模型的主要构建块,这使得模型是E(3)-等变的。此外,包含矢量特征对于我们的模型直接准确地预测基于蛋白质口袋提供的几何环境的原子位置至关重要(细节将在第3.2.3节中描述)。

3.2.2 Encoder

我们将蛋白质口袋和分子片段表示为 k 近邻图(KNN),其中顶点为原子,每个原子与其 k 近邻相连。
蛋白质原子的输入标量特征包括元素类型、所属氨基酸以及是骨架原子还是侧链原子。
分子原子的输入标量特征包括元素类型、化合价和不同化学键的数量。
此外,所有原子还有一个标量特征,表明它们属于蛋白质还是分子片段。标量边缘特征包括用高斯 RBF 核(Sch¨utt et al. 输入矢量顶点特征包括原子坐标,而矢量边缘特征则是三维空间中边缘的单位方向矢量。

3.2.2 预测

前沿原子预测器(frontier predictor)

原子位置预测器( position predictor )

元素和键预测器( element and-bond predictor)。

4、训练

在训练阶段,作者随机mask分子的原子,并训练模型恢复被mask的原子。具体地说,对于每个口袋配体对,从均匀分布U[0,1]中抽样mask比率,并mask相应数量的分子原子。其余与被mask原子有价键的分子原子被定义为前沿(frontiers)。然后,位置预测器和元素键预测器试图通过预测掩蔽原子朝向相应前沿的位置、元素类型和与剩余分子原子的键,来恢复与前沿原子具有价键的mask原子。如果所有分子原子都被mask,则frontiers定义为在4˚A范围内具有mask原子的蛋白质原子,frontiers附近的被屏蔽原子将被恢复。对于元素类型预测,作者在查询位置增加了一个不表示任何内容的元素类型。

前沿预测的损失是预测前沿的二元交叉熵损失(binary cross entropy loss)。位置预测器的损失是掩蔽原子位置的负对数可能性(negative log likelihood)。对于元素类型和键型预测,作者使用交叉熵损失(cross entropy losses)进行分类。总损失函数为:

参考:

Pocket2Mol : 基于3D蛋白质口袋的高效分子采样 - 知乎

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

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

相关文章

MySQL进阶 —— 超详细操作演示!!!(下)

MySQL进阶 —— 超详细操作演示!!!(下) 五、锁5.1 概述5.2 全局锁5.3 表级锁5.4 行级锁 六、InnoDB 引擎6.1 逻辑存储结构6.2 架构6.3 事务原理6.4 MVCC 七、MySQL 管理7.1 系统数据库7.2 常用工具 MySQL— 基础语法大…

使用代理IP进行安全高效的竞争情报收集,为企业赢得竞争优势

在激烈的市场竞争中,知己知彼方能百战百胜。竞争对手的信息对于企业来说至关重要,它提供了洞察竞争环境和市场的窗口。在这个信息时代,代理IP是一种实用的工具,可以帮助企业收集竞争对手的产品信息和营销活动数据,为企…

python二次开发CATIA:根据已知数据点创建曲线

已知数据点存于Coords.txt文件如下: 8.67155477658819,20.4471021292557,0 41.2016126836927,20.4471021292557,0 15.9568941320569,-2.93388599177698,0 42.2181532110364,-6.15301746150354,0 43.0652906622083,-26.4843096139083,0 -31.6617679595947,-131.1513…

分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测&…

C++项目:【高并发内存池】

文章目录 一、项目介绍 二、什么是内存池 1.池化技术 2.内存池 3.内存池主要解决的问题 4.malloc 三、定长的内存池 四、高并发内存池整体框架设计 1.高并发内存池--thread cache 1.1申请内存: 1.2释放内存: 1.3用TLS实现thread cache无锁访…

rabbitMQ死信队列快速编写记录

文章目录 1.介绍1.1 什么是死信队列1.2 死信队列有什么用 2. 如何编码2.1 架构分析2.2 maven坐标2.3 工具类编写2.4 consumer1编写2.5 consumer2编写2.6 producer编写 3.整合springboot3.1 架构图3.2 maven坐标3.3 构建配置类,创建exchange,queue&#x…

想要精通算法和SQL的成长之路 - 二叉树的判断问题(子树判断 | 对称性 | 一致性判断)

想要精通算法和SQL的成长之路 - 二叉树的判断问题 前言一. 相同的树二. 对称二叉树三. 判断子树 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 相同的树 原题链接 这题目典型的递归题: 如果两个节点都是null,我们返回true。如果两个节点一个nul…

centos 部署nginx 并配置https

centos版本:centos 7.8 (最好不要用8,8的很多用法和7相差很大) 一.安装nginx 1。下载Nginx安装包:首先,访问Nginx的官方网站(https://nginx.org/)或您选择的镜像站点,找…

C#学生选课及成绩查询系统

一、项目背景 学生选课及成绩查询系统是一个学校不可缺少的部分,传统的人工管理档案的方式存在着很多的缺点,如:效率低、保密性差等,所以开发一套综合教务系统管理软件很有必要,它应该具有传统的手工管理所无法比拟的…

关于算法复杂度的几张表

算法在改进今天的计算机与古代的计算机的区别 去除冗余 数据点 算法复杂度 傅里叶变换

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误

文章目录 1. 复现错误2. 分析错误3. 解决问题3.1 下载Hadoop3.2 配置Hadoop3.3 下载winutils3.4 配置winutils 1. 复现错误 今天在运行同事给我的项目,但在项目启动时,报出如下错误: java.io.FileNotFoundException: java.io.FileNotFoundEx…

嵌入式系统中C++内存管理基本方法

引言 说到 C 的内存管理,我们可能会想到栈空间的本地变量、堆上通过 new 动态分配的变量以及全局命名空间的变量等,这些变量的分配位置都是由系统来控制管理的,而调用者只需要考虑变量的生命周期相关内容即可,而无需关心变量的具…

基于SSM的电动车上牌管理系统(有报告)。Javaee项目。

演示视频: 基于SSM的电动车上牌管理系统(有报告)。Javaee项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringM…

IIS解决上传文件大小限制

IIS解决上传文件大小限制 目的&#xff1a;通过配置文件和IIS来解决服务器对上传文件大小的限制 1&#xff1a;修改配置文件&#xff08;默认为4M 值的大小根据自己情况进行修改&#xff09; <httpRuntime maxRequestLength"2048000" /> 2&#xff1a;修改IIS配…

专业图标制作软件 Image2icon 最新中文 for mac

Image2Icon是一款用于Mac操作系统的图标转换工具。它允许用户将常见的图像文件&#xff08;如PNG、JPEG、GIF等&#xff09;转换为图标文件&#xff08;.ico格式&#xff09;&#xff0c;以便在Mac上用作应用程序、文件夹或驱动器的自定义图标。 以下是Image2Icon的一些主要功…

java Spring Boot按日期 限制大小分文件记录日志

上文 java Spring Boot 将日志写入文件中记录 中 我们实现另一个将控制台日志写入到 项目本地文件的效果 但是 这里有个问题 比如 我项目是个大体量的企业项目 每天会有一百万用户访问 那我每天的日志都记载同一个文件上 那不跟没记没什么区别吗&#xff1f; 东西怎么找&#x…

智慧工地源代码 SaaS模式云平台

伴随着技术的不断发展&#xff0c;信息化手段、移动技术、智能穿戴及工具在工程施工阶段的应用不断提升&#xff0c;智慧工地概念应运而生&#xff0c;庞大的建设规模催生着智慧工地的探索和研发。 什么是智慧工地&#xff1f; 伴随着技术的不断发展&#xff0c;信息化手段、移…

算法基础学习|排序

快速排序 模板 void quick_sort(int q[], int l, int r) {if (l > r) return;int i l - 1, j r 1, x q[l r >> 1];while (i < j){do i ; while (q[i] < x);do j -- ; while (q[j] > x);if (i < j) swap(q[i], q[j]);}quick_sort(q, l, j)&#xf…

【AI视野·今日CV 计算机视觉论文速览 第259期】Tue, 3 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Tue, 3 Oct 2023 (showing first 100 of 167 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers GPT-Driver: Learning to Drive with GPT Authors Jiageng Mao, Yuxi Qian, Hang Zha…

linux系统的启动流程

目录 简述linux的启动流程 git简介 Linux文件 Ubuntu文件汇总 linux文件属性 Linux命令行 更换软件源 简述linux的启动流程 韦东山课程学习路线&#xff1a;APP应用--DEV驱动--项目。 百问网官网 git资料&#xff1a;https://e.coding.net/weiongshan/01_all_series_qu…