当前位置: 首页 > news >正文

IGModel——提高基于 GNN与Attention 机制的方法在药物发现中的实用性

导言

深度学习在药物发现(发现治疗药物)领域的应用以及传统方法面临的挑战。

药物(尤其是我们将在本文中讨论的被称为抑制剂的药物)通过与在人体中发挥不良功能的蛋白质结合并改变这些蛋白质的功能来发挥治疗效果。因此,在设计药物时,必须优化这些结合的亲和力和药理特性,并准确预测蛋白质与药物之间的相互作用

近年来,人们尤其提倡使用深度学习来分析它们之间的相互作用。这类模型的突出例子包括利用CNN的 AtomNet、Kdeep 和 Pafnucy,以及利用二维卷积网络进行分析的 OnionNet。然而,这些方法实际对接蛋白质和药物的成功率很低,在实用性方面面临挑战。

传统模型的另一个问题是无法同时表示RMSD(蛋白质与候选药物结合方式的指标)和 pKd(两者相互作用强度的指标)。这意味着在讨论候选药物时,无法从多个角度利用信息,因此希望能有所改进。

该模型的新颖性

因此,本文提出了一种名为 IGModel的新模型。通过利用蛋白质和与之结合的候选药物的几何信息,与传统模型相比,该模型能够在单一框架内同时测量RMSD(与前面提到的结合精度相关的测量指标)和pKd(与前面提到的结合强度相关的测量指标)。在包含由 CASF-2016 基准和工具 PDBbind-CrossDocked-Core、DISCO 集和 AlphaFold2 生成的结构的数据集中,IGModel提高了药物对接的成功率,与传统模型相比,它的实用性的实用性有所提高

算法框架

整体模型

IGModel 的全貌是,它将蛋白质、候选药物及其结合位点作为输入,并输出上述两个结合指标RMSD 和 pKd。它由一个编码器****模块和一个解码器模块组成,解码器模块包括 RMSD 解码器和 pKd 解码器。

编码器模块根据输入数据在潜在空间中进行嵌入,其特点是引入了EdgeGAT 层(如下所述),以更好地反映模型中蛋白质与候选药物之间的相互作用。解码器模块使用两个学习模块,分别利用潜空间的信息输出两类指标。

图表结构细节

本文使用的图结构****将组成蛋白质和候选药物的原子信息表示节点,将节点之间的相互作用信息表示为边。节点大致分为两类:一类称为 VR 节点,代表构成蛋白质的原子信息;另一类称为 VL 节点,代表构成候选药物的原子信息。VR 节点和 VL 节点嵌入了不同的信息。

具体来说,节点和边嵌入的信息如下:在 VR 中,节点嵌入了候选药物组成元素信息(如氮(N)、碳(C)等的单次矢量化)。而在 VL 中,则嵌入了有关蛋白质化学特性的信息,如组成蛋白质的氨基酸、蛋白质的组成元素、蛋白质电荷的大小、是否为芳香族、到α碳的距离等。

另一方面,边缘嵌入的信息主要是连接原子的化学键,如键的类型(单键或双键)、是否存在环状结构、立体构型以及键是否共轭。此外,还嵌入了蛋白质与候选药物之间的角度信息,如上图中的 B 所示。

编码器详细信息

编码器部分将两个图结构作为输入:第一个图(图 A 左上角的图)包含蛋白质、候选药物以及蛋白质和候选药物在结合部位的相互关系的信息,而第二个图(图 A 左下角的图)只包含结合部位和蛋白质之间的相互关系,同时应用了三维结构的信息。第二幅图(图 A 左下角的图形)仅以图形结构显示结合部位的相互关系,同时应用了三维结构信息和物理化学视角

在编码器的 EdgeGAT 层中,节点和边会随着输入的更新而更新 EdgeGAT 层是一种图神经网络,它在聚合节点及其周围节点的特征时使用注意机制来整合信息。该模型是图注意网络概念的进一步发展。

EdgeGAT 层有一种机制,可将边缘信息纳入节点和边缘特征的特征表示中作为输入。因此,它可以并行和相互并行地遍历节点和边缘特征。因此,它可以适当利用节点之间的关系以及边本身的属性和特征,并能比没有这种机制时更适当地考虑交互作用。

需要注意的是,在这个模型中,更新一次执行两次,但在两次更新之间,引入了一个称为信息传递轮的过程。一轮信息传递是在两个不同类型的节点之间传输信息。

具体机制略去不表,但在第一次更新过程中,即在对前面提到的两种类型的 VL 和 VR 分别进行更新之后,信息传递过程涉及VL 之间、VR 之间以及 VL 和 VR 之间的信息传递。这样,各轮更新之间的信息传递过程可以更准确地反映蛋白质与候选药物之间的相互作用

经过两次这样的更新,再穿插一轮信息传递过程,就会嵌入关于蛋白质、候选药物及其结合的总共三个 1024 维的信息向量然后将得到的三个特征向量合并。这就是编码器部分的输出和解码器部分的输入。

解码器详细信息

解码器部分有两个学习模块,每个模块由一个gMLP 层和一个****线性层组成。解码器将编码器的输出转换成两个 128 维向量,这两个向量是通过两个学习模块得到的。

gMLP 层是扩展 MLP 的学习层,是近年来自然语言处理模型中使用的一种技术。该层可以在不使用注意力机制的情况下实现类似 Transformer 的性能。

gMLP 的一个特点是有一个门控机制,负责强调或抑制某些信息。这样就能进行有效的学习,因为它能动态决定如何将每个位置的特征传达给下一层。

在本文中,RMSD 和 pKd 是根据解码器中两类模块各自获得的表示输出的。请注意,正如解码器部分的向下箭头所示,信息是整合在一起的,因此 RMSD 的变化可以反映在 pKd中。pKd 解码器还输出衰减系数W,表示数值的衰减情况。

实验结果

上图显示了使用 CASF2016 数据集预测蛋白质-药物候选结合的实验结果:在 A 部分,使用皮尔逊相关度分析了模型预测与实际实验数据之间的相关性;在 B 部分,使用斯皮尔曼相关度分析了配体适宜性的排序结果;在 C 部分,使用皮尔逊相关度分析了模型预测与实际实验数据之间的相关性;在 D 部分,使用皮尔逊相关度分析了模型预测与实际实验数据之间的相关性。B 中,使用斯皮尔曼相关测量法分析了配体适宜性的排序结果。

请注意,皮尔逊相关测量法是一种测量两个变量之间线性关系强度和方向的方法,而斯皮尔曼相关测量法是一种根据每个变量值的等级(排序)来确定变量之间相关性的测量方法。C 和 D 还显示了模型对接成功率的比较。这些图 A 至 D 显示,IGM 模型的表现优于其他模型。

该图显示了使用 IGM 模型时的Top1成功率(左图)和TopN 成功率(右图):Top1 成功率表示预测的最可能的候选蛋白质与实际匹配的概率。TopN成功率则表示模型预测的前 N 个候选药物中任何一个与实际候选药物匹配的概率。

请注意,Surflex、Glide 和 Vina 指的是本实验中使用的对接软件。实验结果表明,在 Top1 成功率和 TopN 成功率指标上,IGModel 的预测准确率都明显优于传统模型。

在上文图 A~D 中,EdgeGAT 层输出的潜空间中的嵌入表示用颜色编码为:A 表示实际 RMSD,C 表示实际 pKd,B 表示预测 RMSD,D 表示预测 pKd,横轴表示成分分析得到的第一个主成分,纵轴表示第二个主成分。横轴表示主成分分析得出的第一个主成分,纵轴表示第二个主成分。

从图中可以看出,随着 RMSD 和 pKd 的变化(即预测耦合的性能和耦合的强度发生变化),会形成一个层状图案。例如,在图 A 至图 D 中,可以直观地看到,随着横座标(第一主成分)的增加,其颜色(代表准确度的 RMSD)逐渐从紫色区域变为绿色区域。

因此,编码潜空间的可视化可以直观地反映精确度和耦合强度,并具有很高的可视性

总结

在本文中,我们提出了一种用于预测蛋白质与候选药物相互作用的新型框架–IGModel。通过使用这个利用深度学习的模型,可以同时预测候选药物在其结合位置的RMSD和结合强度pKd

目前,RMSD 和耦合强度衰减的权重是手动设置的,但可以通过引入一种机制,在学习之前了解这两者之间的关系,从而进一步改进。

相关文章:

IGModel——提高基于 GNN与Attention 机制的方法在药物发现中的实用性

导言 深度学习在药物发现(发现治疗药物)领域的应用以及传统方法面临的挑战。 药物(尤其是我们将在本文中讨论的被称为抑制剂的药物)通过与在人体中发挥不良功能的蛋白质结合并改变这些蛋白质的功能来发挥治疗效果。因此&#xf…...

AArch64中的寄存器

目录 通用寄存器 其他寄存器 系统寄存器 通用寄存器 大多数A64指令在寄存器上操作。该架构提供了31个通用寄存器。 每个寄存器可以作为64位的X寄存器(X0..X30)使用,或者作为32位的W寄存器(W0..W30)使用。这两种是查…...

树莓派Pico 2来了

这两天开源圈的大事之一,就是树莓派基金会发布了树莓派Pico 2。 帖子原文:Raspberry Pi Pico 2, our new $5 microcontroller board, on sale now 总结一些关键信息: 产品发布:Raspberry Pi Pico 2 是 Raspberry Pi 基金会推出的…...

LeetCode面试题Day7|LeetCode135 分发糖果、LeetCode42 接雨水

题目1: 指路: . - 力扣(LeetCode)135 分发糖果 思路与分析: 给n个孩子按照评分给糖果,要求有二,其一为每个孩子最少有一颗糖果;其二为相邻孩子评分更高的糖果越多。那么在这里第…...

[免费]适用于 Windows 10 的十大数据恢复软件

Windows 10 是 Microsoft 开发的跨平台和设备应用程序操作系统。它启动速度更快,具有熟悉且扩展的“开始”菜单,甚至可以在多台设备上以新的方式工作。因此,Windows 10 非常受欢迎,我们用它来保存照片、音乐、文档和更多文件。但有…...

Win11+docker+vscode配置anomalib并训练自己的数据(3)

在前两篇博文中,我使用Win11+docker配置了anomalib,并成功的调用了GPU运行了示例程序。这次我准备使用anomalib训练我自己的数据集。 数据集是我在工作中收集到的火腿肠缺陷数据,与MVTec等数据不同,我的火腿肠数据来源于多台设备和多个品种,因此,它们表面的纹理与颜色差异…...

Java | Leetcode Java题解之第332题重新安排行程

题目&#xff1a; 题解&#xff1a; class Solution {Map<String, PriorityQueue<String>> map new HashMap<String, PriorityQueue<String>>();List<String> itinerary new LinkedList<String>();public List<String> findItine…...

招聘公告|健安环保科技(广东)有限公司

招聘岗位&#xff1a;销售经理 岗位职责&#xff1a; 对PCB线路板和电镀行业的客户&#xff0c;推广针对镀锡漂洗水的低浓度锡回收技术(投资运营或设备销售)&#xff0c;并销售无耗材材的电镀智能过滤设备&#xff0c;达成销售目标; 任职要求&#xff1a; 1、大专以上学历&…...

小程序的安全设计

小程序的安全设计 安全指引 | 微信开放文档 (qq.com) 开发原则与注意事项 本文档整理了部分小程序开发中常见的安全风险和漏洞,用于帮助开发者在开发环节中发现和修复相关漏洞,避免在上线后对业务和数据造成损失。 开发者在开发环节中必须基于以下原则: 互不信任原则,不要…...

【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式

文章目录 webView使用步骤示例 HttpURLConnection使用步骤示例GET请求POST请求 okHttp使用步骤1. 添加依赖2. 创建OkHttpClient实例3. 创建Request对象构建请求4. 发送请求5. 获取响应 Pull解析方式1. 准备XML数据2. 创建数据类3. 使用Pull解析器解析XML webView WebView 是 An…...

Kubernetes—k8s集群存储卷(pvc存储卷)

目录 一、PVC 和 PV 1.PV 2.PVC 3.StorageClass 4.PV和PVC的生命周期 二、实操 1.创建静态pv 1.配置nfs 2.创建pv 3.创建pvc 4.结合pod&#xff0c;将pv、pvc一起运行 2.创建动态pv 1.上传 2.创建 Service Account&#xff0c;用来管理 NFS Provisioner 在 k8s …...

用网格大师转换的3D Tiles数据,在进行了顶点重建后,尝试加载到Cesium中却无法显示内容。应该如何解决这一问题?

答&#xff1a; 建议首先尝试使用DasViewer来打开并检查这个3D Tiles的json文件。DasViewer能够迅速加载并显示3D Tiles数据&#xff0c;可以帮助快速验证数据是否完整且格式正确。 网格大师是一款能够解决实景三维模型空间参考、原点、瓦块大小不统一&#xff0c;重叠区域处理…...

display:flex布局,最简单的案例

1. 左右贴边 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>#parent{width: 800px;background: red;height: 200px;display: flex;justify-content: space-between…...

SQL注入实例(sqli-labs/less-17)

0、初始网页 1、确定闭合字符 注入点在于password框&#xff0c;闭合字符为单引号 2、爆库名 1 and updatexml(1,concat(0x7e,database(),0x7e),1)# 1 and (select 1 from (select count(*),concat((select database()),floor(rand()*2))x from information_schema.tables gr…...

HTML+CSS+JS计算器

效果图 计算器功能详解 本计算器实现了多种功能&#xff0c;以下是所有功能的详细说明&#xff1a; 清空显示框 © 功能: 清除显示框中的所有内容。解释: 该功能用于重置计算器状态&#xff0c;清空当前输入的内容&#xff0c;使用户可以重新开始输入。 输入数字 (0-9) 功…...

EasyCVR视频汇聚平台云计算技术核心优势:高效、灵活与可扩展性深度解读

随着科技的飞速发展和社会的不断进步&#xff0c;视频监控已经成为现代社会治安防控、企业管理等场景安全管理中不可或缺的一部分。在这一背景下&#xff0c;EasyCVR视频汇聚平台凭借其强大的云计算技术&#xff0c;展现出了卓越的性能和广泛的应用前景。本文将深入解析EasyCVR…...

JavaScript高阶笔记总结(Xmind格式):第一天

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; js高阶知识总结&#xff1a; 理解Object&#xff1a; 1.返回一个由一个给定对象的自身可枚举属性组成的数组&#xff1a;Object.keys(对象名) 2.in 判断属性是否存在&#xff1a;"属性名" in 对象名 …...

十三、代理模式

文章目录 1 基本介绍2 案例2.1 Sortable 接口2.2 BubbleSort 类2.3 SortTimer 类2.4 Client 类2.5 Client 类的运行结果2.6 总结 3 各角色之间的关系3.1 角色3.1.1 Subject ( 主体 )3.1.2 RealObject ( 目标对象 )3.1.3 Proxy ( 代理 )3.1.4 Client ( 客户端 ) 3.2 类图 4 动态…...

Unity物理模块 之 2D效应器

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正​ 1.什么是效应器 2D 效应器 - Unity 手册 2D 效应器是与 2D 碰撞器一起使用的组件&#xff0c;相当于预先编写好的插…...

一款手机壳凭什么卖800元?Casetify品牌策略全解析 | 品牌出海

Casetify官网 巴黎奥运会&#xff0c;张怡宁的手机壳火了。 张怡宁在现场观战并使用手机的照片在网上流传&#xff0c;不是因为这位奥运前冠军&#xff0c;而是她的手机壳。这款满是「花花绿绿」图案的手机壳&#xff0c;迅速被网友发掘出是Casetify品牌的名为「炫彩花卉」的…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...