基于注意力的几何感知的深度学习对接模型 GAABind - 评测
GAABind 作者是苏州大学的生物基础与医学院, 期刊是 Briefings in Bioinformatics, 2024, 25(1), 1–14。GAABind 是一个基于注意力的几何感知蛋白-小分子结合模式与亲和力预测模型,可以捕捉小分子和蛋白的几何、拓扑结构特征以及相互作用。使用 PDBBind2020 和 CASF2016 作为训练数据集,可以达到 82% 的结合模式预测能力,亲和力的预测的皮尔森相关系数为 0.803。
一、背景介绍
GAABind 来源于苏州大学基础医学与生物科学学院的胡广教授为通讯作者的文章:《GAABind: a geometry-aware attention-based network for accurate protein–ligand binding pose and binding affinity prediction》。文章链接:https://academic.oup.com/bib/article/25/1/bbad462/7473491 。该文章在 2023 年 11 月 22 日发表于 《Briefings in Bioinformatics》 上。

准确预测结合构象和结合亲和力是计算方法理解蛋白质-配体相互作用的关键挑战。传统的分子对接工具在构象搜索采样时需要很高的计算成本。现有的深度学习方法在分子表示学习和分子间相互作用建模方面也不尽人意。为此,作者提出了 GAABind ,这是一种几何感知的基于注意力的深度学习模型,能够在多任务学习框架内有效预测口袋-配体结合构象和结合亲和力。GAABind 全面捕捉了结合口袋和配体的几何和拓扑特性,并采用表达性强的分子表示学习来建模分子内相互作用。此外,GAABind 熟练地学习分子间的多体相互作用,并通过精心设计的网络模拟配体在与蛋白质相互作用过程中动态的构象适应。
作者在 PDBbind v2020 上训练了 GAABind,并在 CASF 2016数据集上进行了评估。结果表明 GAABind 在结合构象预测中的成功率达到 82.8%,而预测的结合亲和力与实验值之间的皮尔逊相关系数高达 0.803 。此外,作者还评估了 GAABind 在严重急性呼吸综合症冠状病毒 2 型主要蛋白酶交叉对接数据集上的表现。在该评估中,GAABind 在结合构象预测中的成功率达到 76.5%,并在结合亲和力预测中与所有基准方法相比,获得了最高的皮尔逊相关系数。
二、模型介绍
理解蛋白质-配体相互作用是药物开发中的一个重要步骤。由于实验方法的花费和时间成本较高,所以计算方法已经成为一种新的研究范式。计算识别蛋白质-配体相互作用的三个主要问题包括准确预测:(1) 结合位点:蛋白质表面配体可以结合的特定区域;(2) 结合构象:配体结合其靶蛋白时所采用的特定取向和构象;(3) 结合亲和力:相互作用的强度。
分子对接是一种广泛用于预测蛋白质-配体的结合构象和结合亲和力的计算方法。传统的对接工具通过两个主要操作来预测蛋白质-配体的结合构象和结合亲和力:构象采样和评分。
近年来,提出了许多基于深度学习的评分函数,预测结合亲和力。基于蛋白-小分子复合物的模型利用从蛋白质-配体结合结构中获取的分子间相互作用信息,通常优于无复合物模型。然而,大多数蛋白质-配体复合物结构并不可用,通过实验方法或对接技术获取复合物结构涉及高昂的成本和劳力。
只有少数基于深度学习的方法专门用于蛋白质-配体结合构象预测,包括 DeepDock、EDM-Dock、TankBind 和 Uni-Mol。这些方法通常由两个阶段组成。第一阶段专注于学习分子表示,而第二阶段则建模分子间相互作用,以预测蛋白质与配体之间的原子距离。预测的分子间距离随后被用于通过差分进化、反向传播或距离几何优化等策略生成结合构象。
在第一阶段,DeepDock、EDM-Dock 和 TankBind使用图模型来表示分子。然而,图模型面临过度平滑和捕捉长距离依赖性困难等挑战。相比之下,Uni-Mol 结合了原子和成对表示与基于变换器的网络,建模分子的 3D 结构。然而,输入的成对表示仅包含原子对之间的几何距离,缺乏对分子关键 2D 拓扑信息的整合。此外,成对表示仅从原子表示中接收更新的注意力权重,忽略了分子表示学习中成对之间的多体相互作用。
进入第二阶段,DeepDock 和 EDM-Dock 以成对方式连接分子图的节点特征,然后将其输入多层感知器以预测分子间距离。然而,这种简单的特征连接方法未能充分捕捉分子间相互作用的复杂性。Uni-Mol 将学习到的分子表示连接成口袋-配体复合物表示,随后作为整体分子通过基于变换器的网络预测原子距离,对分子间和分子内相互作用没有区别对待。TankBind 使用分子图的节点特征初始化口袋-配体相互作用嵌入,并使用一个结合分子内距离图的三角函数模块对其进行更新。虽然三角函数模块整合了分子内几何约束,但分子内距离图的使用并未全面整合分子内相互作用。
为了解决当前方法的局限性,作者提出了 GAABind,这是一种几何感知的基于注意力的网络,用于同时预测蛋白质-配体的结合构象和结合亲和力。
3D 结构在分子相互作用中发挥的重要作用,这促使作者将几何感知注意力纳入模型。这一机制通过整合几何信息扩展了传统的注意力模型,从而增强了原子间相互作用的建模,并实现了配体与蛋白质之间物理上合理的几何关系的学习。在 GAABind 中,作者利用原子和成对嵌入进行分子表示。原子嵌入用于表示分子中的每个原子,而成对嵌入则表示原子对之间的关系。GAABind 的核心在于原子-成对注意编码块和互交块。前者专注于学习富有表现力的分子表示,而后者有效建模口袋与配体之间的互相作用。通过利用这些组件,GAABind 对口袋-配体对距离、配体对距离和蛋白质-配体结合亲和力进行预测。基于预测的距离,作者采用简单高效的反向传播方法生成配体的结合构象。在 CASF 2016 基准数据集上的实验表明,GAABind 在结合构象预测方面的表现优于其他先进的基准方法。此外,GAABind 在预测结合亲和力方面表现相当,且不依赖于蛋白质-配体复合物结构作为输入。
文章的主要贡献如下:
(1)作者引入了原子-成对注意编码块(Atom–Pair Attentive Encoding Block),这是一种用于富有表现力的分子表示学习的新方法。在该块中,原子和成对嵌入交替更新并相互通信,促进了输入分子的分子内相互作用的全面编码。
(2) 为有效建模口袋与配体之间的互相作用,作者提出了互交块( Mutual Interaction Block)。该块涉及一个迭代过程,包括口袋/配体到复合物、复合物自更新和复合物到配体的信息流阶段,从而实现对对接过程的有效和动态建模。
(3) 通过结合原子-成对注意编码和互交块,作者提出了 GAABind,这是一个强大的框架,用于预测口袋-配体结合构象和结合亲和力。实验结果表明 GAABind 在这两项任务中的稳健表现。
2.1 模型框架
GAABind 的整体架构如下图所示。给定一个已知 3D 结构的结合口袋和处于任何未结合(apo)构象的配体,首先提取输入分子的特征,并采用原子-成对注意编码块(Atom–Pair Attentive Encoding Block)为每个分子获取原子和成对嵌入。随后,通过整合口袋和配体的原子嵌入来初始化口袋-配体复合物对嵌入。接着,采用互交块( Mutual Interaction Block)基于分子间相互作用迭代更新复合物对和配体对嵌入。利用这些更新后的成对嵌入,GAABind 在预测块(Prediction Block)中对复合物对距离、配体对距离和输入的结合亲和力进行预测。通过预测的复合物对距离和配体对距离,可以使用简单高效的反向传播方法生成配体的3D结合构象。

模型的关键模块是原子-成对注意编码块(Atom–Pair Attentive Encoding Block)、互交块( Mutual Interaction Block)和预测块(Prediction Block)等。接下来主要介绍这几个模块。
2.1.1 原子-成对注意编码块
原子对注意编码块从嵌入初始化层开始,在这里,利用输入分子的提取特征初始化每个分子的原子和对嵌入。接着,交替使用原子注意层和对注意层来更新原子和对嵌入。结合口袋和配体的原子对注意编码块共享相同的架构,但权重不同。
对于嵌入初始化层,为了减少计算负担,仅考虑每个分子中的重原子。原子嵌入是使用基于输入原子特征的嵌入矩阵初始化的。对于对嵌入初始化,作者采用 Zhou 等人提出的空间位置编码方法来捕捉分子的几何特性。这种方法利用一种对配对类型敏感的高斯核来嵌入所有原子对的欧几里得距离。此外,原子之间的键特征也被纳入对嵌入中,这些特征包含重要的化学和拓扑信息。因此,使用的特征对全局旋转和位移是不变的。
如下图所示,作者在原子注意力层中使用多头自注意力(MHA),以全面捕捉局部和全局的原子间关系。对嵌入作为偏置项被纳入,以增强注意力机制,提供来自原子对的上下文信息。此外,原子之间的注意力权重被用来更新对嵌入,从而促进原子与其对应对之间的有效交流。

对注意力层操作对嵌入,以建模对之间的多体相互作用。在对嵌入的更新中,保持几何一致性(例如三角不等式)至关重要,因为它表示关于原子的成对信息。受到 AlphaFold 2 中使用的 Evoformer 框架的启发,作者设计了两个模块来有效更新对嵌入。
第一个模块称为自三角更新模块,如下图 A 所示,它结合了 AlphaFold2 提出的“具有外向边的三角乘法更新”和“具有内向
相关文章:
基于注意力的几何感知的深度学习对接模型 GAABind - 评测
GAABind 作者是苏州大学的生物基础与医学院, 期刊是 Briefings in Bioinformatics, 2024, 25(1), 1–14。GAABind 是一个基于注意力的几何感知蛋白-小分子结合模式与亲和力预测模型,可以捕捉小分子和蛋白的几何、拓扑结构特征以及相互作用。使用 PDBBind2020 和 CASF2016 作…...
arcGIS使用笔记(无人机tif合并、导出、去除黑边、重采样)
无人机航拍建图之后,通过大疆智图软件可以对所飞行的区域的进行拼图,但是如果需要对拼好的图再次合并,则需要利用到arcGIS软件。下面介绍arcGIS软件在这个过程中常用的操作。 1.导入tif文件并显示的方法:点击“”图标进行导入操作…...
Color-Light-Control-and-Four-Way-Responder based on STM32F103C8T6
Light Control and Responder 若要实现同样效果请看源码: gitee.com/apollo_666/Color-Light-Control-and-Four-Way-Responder # Abstract The design project for a decorative lighting controller enhanced our practical skills and engineering capabilities. During our…...
openGauss开源数据库实战二十八
文章目录 任务二十八 基于PowerDesigner的openGauss数据库设计任务目标实施步骤一、在Win11上安装 PowerDesigner16二、PowerDesigner快速入门1.启动和配置E-R概念建模2.创建数据项3.创建域4.创建实体5.创建两个实体之间的联系 三、PowerDesigner上的E-R建模1.只有单值属性的简…...
Vue3之响应式系统详解
Vue3中的响应式系统是其核心功能之一,它使得数据变化能够自动触发视图更新,从而简化了开发过程,提高了开发效率。本文将详细阐述Vue3中的响应式系统,包括其核心概念、工作原理、实现方式、应用场景以及优势。同时,本文…...
Kafka 的配置文件
broker.id1:为 broker 指定一个唯一的 ID。 listenersPLAINTEXT://x.x.x.x:xxx:指定 broker 监听的协议、IP 地址和端口。 num.network.threads3:指定用于处理网络请求的线程数。 num.io.threads8:指定用于 I/O 操作的线程数。…...
【系统思辨】分散注意
注意力在我们的日常生活和工作中扮演着至关重要的角色。注意力可以提高效率和准确性、减少错误和失误,提升学习效率,促进创造力。与此同时,各种各样的生活事件在分散我们的注意力,并且还有很多分散我们注意的手段,比如…...
单幅图像合成 360° 3D 场景的新方法:PanoDreamer,可同时生成全景图像和相应的深度信息。
论文介绍了一种从单幅图像合成 360 3D 场景的新方法。该方法以连贯的方式生成全景图及其相应的深度,解决了现有最先进方法(如 LucidDreamer 和 WonderJourney 的局限性。这些方法按照生成轨迹依次添加细节,通常在循环回输入图像时导致可见的接…...
Python课设-谁为影狂-豆瓣数据【数据获取与预处理课设】
🏆 作者简介:席万里 ⚡ 个人网站:https://dahua.bloggo.chat/ ✍️ 一名后端开发小趴菜,同时略懂Vue与React前端技术,也了解一点微信小程序开发。 🍻 对计算机充满兴趣,愿意并且希望学习更多的技…...
关卡选择与布局器
unity布局管理器 使用unity布局管理器轻松对关卡选择进行布局。 实现过程 准备普通按钮button设置字体和对应的sprite设置父gameobject(levelbase) 再创建UI.image(selectbackground)布局背景和大小gameobject(grid…...
评估一套呼叫中心大模型呼出机器人的投入回报比?
评估一套呼叫中心大模型呼出机器人的投入回报比? 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 评估一套呼叫中心大模型呼出机器人的投入回报比(ROI),是一个涉…...
面向对象的 CLI:使用 Fire 简化类和对象的方法暴露 (中英双语)
面向对象的 CLI:使用 Fire 简化类和对象的方法暴露 在传统的命令行工具开发中,argparse 是最常用的库之一,用于处理命令行参数和配置。它通常用于函数式编程,但在处理类和对象时,使用起来可能不如 Fire 方便。Fire 是…...
flutter控件buildDragTargetWidget详解
文章目录 1. DragTarget 的核心概念基本属性 2. 基本用法3. 使用 buildDragTargetWidget4. 常见场景5. 注意事项 buildDragTargetWidget 不是 Flutter 中的内置 API 或方法,但根据命名习惯,它很可能是您正在实现或使用的一个方法,用于在 Flut…...
使用webrtc-streamer查看实时监控
摄像头配置(海康摄像头为例) 摄像头视频编码应改成H264格式 webrtc-streamer下载 webrtc-streamer下载地址 下载后解压出来双击运行,端口默认8000 VUE2项目引入文件 在项目静态文件“public”中需引入两个js文件“webrtcstreamer.js”与“…...
【数据分享】2014-2024年我国POI兴趣点数据(免费获取/来源于OSM地图)
POI是Point of Interest的简称,意为“兴趣点”,是互联网电子地图中用于表示特定位置的地理实体的核心数据类型。POI通常用于标注具体地点,例如餐厅、商场、学校、医院、景点等。这些数据以点的形式呈现,并附带详细属性信息&#x…...
Leetcode 3389. Minimum Operations to Make Character Frequencies Equal
Leetcode 3389. Minimum Operations to Make Character Frequencies Equal 1. 解题思路2. 代码实现 题目链接:3389. Minimum Operations to Make Character Frequencies Equal 1. 解题思路 这一题从答题从test的结果来说来说做出的人很少,主要确实有些…...
Vite 与 Webpack 的区别
在前端开发中,构建工具是不可或缺的,Webpack 和 Vite 是当前最流行的选择之一。尽管它们的目标相似,但在实现方式和开发体验上却有显著差异。本文将探讨 Vite 和 Webpack 的主要区别,以便于根据项目需求选择合适的工具。 1. 构建…...
基于32单片机的RS485综合土壤传感器检测土壤PH、氮磷钾的使用(超详细)
1-3为RS485综合土壤传感器的基本内容 4-5为基于STM32F103C8T6单片机使用RS485传感器检测土壤PH、氮磷钾并显示在OLED显示屏的相关配置内容 注意:本篇文件讲解使用的是PH、氮磷钾四合一RS485综合土壤传感器,但里面的讲解内容适配市面上的所有多合一的RS…...
【从零开始入门unity游戏开发之——C#篇11】一个标准 C# 程序介绍、新的值类型——枚举
文章目录 一、一个标准 C# 程序1、文件名(Program.cs):2、 using 语句:3、命名空间(namespace)4、类(class):4、入口函数(Main 方法)5、程序运行流…...
vue 签名校验 md5 uuid
import CryptoJS from crypto-js import uuid from /utils/uuid import { SECRET_KEY } from /utils/config // 签名校验 const nonceStr uuid.uuid() const timestamp new Date().getTime() // const sign CryptoJS.MD5(nonceStr nonceStr &secretKey SECRET_KEY …...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
