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 机制的方法在药物发现中的实用性
导言 深度学习在药物发现(发现治疗药物)领域的应用以及传统方法面临的挑战。 药物(尤其是我们将在本文中讨论的被称为抑制剂的药物)通过与在人体中发挥不良功能的蛋白质结合并改变这些蛋白质的功能来发挥治疗效果。因此…...
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题重新安排行程
题目: 题解: class Solution {Map<String, PriorityQueue<String>> map new HashMap<String, PriorityQueue<String>>();List<String> itinerary new LinkedList<String>();public List<String> findItine…...
招聘公告|健安环保科技(广东)有限公司
招聘岗位:销售经理 岗位职责: 对PCB线路板和电镀行业的客户,推广针对镀锡漂洗水的低浓度锡回收技术(投资运营或设备销售),并销售无耗材材的电镀智能过滤设备,达成销售目标; 任职要求: 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,将pv、pvc一起运行 2.创建动态pv 1.上传 2.创建 Service Account,用来管理 NFS Provisioner 在 k8s …...
用网格大师转换的3D Tiles数据,在进行了顶点重建后,尝试加载到Cesium中却无法显示内容。应该如何解决这一问题?
答: 建议首先尝试使用DasViewer来打开并检查这个3D Tiles的json文件。DasViewer能够迅速加载并显示3D Tiles数据,可以帮助快速验证数据是否完整且格式正确。 网格大师是一款能够解决实景三维模型空间参考、原点、瓦块大小不统一,重叠区域处理…...
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框,闭合字符为单引号 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计算器
效果图 计算器功能详解 本计算器实现了多种功能,以下是所有功能的详细说明: 清空显示框 © 功能: 清除显示框中的所有内容。解释: 该功能用于重置计算器状态,清空当前输入的内容,使用户可以重新开始输入。 输入数字 (0-9) 功…...
EasyCVR视频汇聚平台云计算技术核心优势:高效、灵活与可扩展性深度解读
随着科技的飞速发展和社会的不断进步,视频监控已经成为现代社会治安防控、企业管理等场景安全管理中不可或缺的一部分。在这一背景下,EasyCVR视频汇聚平台凭借其强大的云计算技术,展现出了卓越的性能和广泛的应用前景。本文将深入解析EasyCVR…...
JavaScript高阶笔记总结(Xmind格式):第一天
Xmind鸟瞰图: 简单文字总结: js高阶知识总结: 理解Object: 1.返回一个由一个给定对象的自身可枚举属性组成的数组:Object.keys(对象名) 2.in 判断属性是否存在:"属性名" 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效应器
本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 1.什么是效应器 2D 效应器 - Unity 手册 2D 效应器是与 2D 碰撞器一起使用的组件,相当于预先编写好的插…...
一款手机壳凭什么卖800元?Casetify品牌策略全解析 | 品牌出海
Casetify官网 巴黎奥运会,张怡宁的手机壳火了。 张怡宁在现场观战并使用手机的照片在网上流传,不是因为这位奥运前冠军,而是她的手机壳。这款满是「花花绿绿」图案的手机壳,迅速被网友发掘出是Casetify品牌的名为「炫彩花卉」的…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
