Sci. Rep. | 一个对任意分子体系实现准确且高效几何深度学习的通用框架

这篇工作是来自纽约城市大学/康奈尔医学院谢磊团队的一篇论文。作者提出了一个通用框架,PAMNet,可以对任意分子体系实现准确且高效的几何深度学习。在小分子性质、RNA三维结构以及蛋白质-配体结合亲和力的预测任务上,PAMNet在准确性和效率方面都优于最先进的基线模型。这些成果不仅展示了PAMNet在模拟分子体系的通用性,而且强调了其在实际分子科学应用中的潜力。

04bafe90dc37bbd04c90060033a81e18.png

背景

分子类型和大小的多样性给药物发现、结构生物学、量子化学等领域的计算建模带来了许多挑战。为了应对这些挑战,几何深度学习(geometric deep learning, GDL)带来的最新进展变得越来越重要,尤其是图神经网络(GNN)在各种GDL方法中表现出卓越的性能。然而,现有的GNN在分子科学领域的应用仍处于初级阶段。其中一个原因是,当前的GNN通常使用有针对性的归纳偏置来建模特定类型的分子体系,从而不能被直接应用到任意其他体系,尽管所有分子结构及其相互作用都遵循相同的物理法则。此外,考虑分子中丰富几何信息的GNN往往有着高昂的计算成本,使它们难以扩展到涉及海量分子(例如高通量筛选, foundation model预训练)或大分子(例如蛋白质,RNA)的任务中。为了应对这些挑战,本文提出了一个新的通用框架:PAMNet,用于准确高效地学习不同大小和类型的三维分子的表示。PAMNet受到了分子力学的启发,明确的模拟分子中的局部和非局部相互作用及其组合效应。在涵盖不同分子体系的任务上,包括小分子性质、RNA三维结构以及蛋白质-配体结合亲和力的预测,PAMNet在准确性和效率方面都优于最先进的基线模型。近日,该项研究工作在Nature出版集团的Scientific Reports期刊上发表(DOI: 10.1038/s41598-023-46382-8),该工作的源代码已在GitHub平台上开源(https://github.com/XieResearchGroup/Physics-aware-Multiplex-GNN)。

模型概要

PAMNet的框架如图1所示。首先,基于任何分子或分子体系的三维结构,构建一个两层多重图,以分离全局和局部相互作用(图1a)。随后,PAMNet(图1b)采用多重图作为输入,并根据分子力学(图1c)的启发,通过不同的信息传递模块捕获了对应的几何信息(图1d)来模拟全局和局部相互作用。最终基于注意力机制,PAMNet整合了每种相互作用的信息,所得到的特征可用于下游任务(图1b)。此外,PAMNet在预测标量属性时利用E(3)-不变特征和操作,并可被扩展到通过考虑分子结构中的几何向量来预测E(3)-等变矢量属性。

eb9fe63df7055fd4c16fe45a10ef2849.png
图1、PAMNet的整体框架

实验结果

为了全面评估PAMNet的性能,作者在不同分子体系的多种任务中进行了实验,包括小分子性质预测、RNA的三维结构预测,以及蛋白质-配体结合亲和力预测。

在小分子性质预测方面,PAMNet被用于预测QM9数据集中有机小分子的12种分子属性。表1的结果显示,PAMNet 在所有 12 个属性中获得了 4 个最佳结果和 6 个第二好结果。在涉及所有属性的平均绝对误差方面,PAMNet比之前的最佳模型低10%。作者还比较了一个“简单”PAMNet,称为PAMNet-s。PAMNet-s仅利用一跳邻域内的几何信息,也得到了出色的结果。

表1、QM9上的性能比较。最佳结果用粗体表示,第二好结果用斜体表示

711bd6ba49ab71e0097e196ee9e752e2.png

对于RNA三维结构预测,PAMNet的任务是从一组候选的结构模型中,识别出接近真实结构的RNA模型。使用RNA-Puzzles结构预测数据集进行的测试表明,PAMNet显著优于其他四种领先的打分函数,包括ARES、Rosetta、RASP和3dRNAscore(图2)。

4819aac0add641625ac0ca5ed3e00f42.png

图2、RNA-Puzzles的性能比较。给定每个RNA的一组候选结构模型,PAMNet和其他四个打分函数对模型进行排名以进行比较。图中的每个交叉对应一个RNA。(a)比较评分函数预测的每个RNA的最佳评分结构模型。(b)比较前10佳的结构模型。(c)比较每个RNA的最佳近天然结构模型的排名。

关于蛋白质-配体结合亲和力预测,PAMNet的目标是根据每个蛋白质-配体复合物的三维结构预测其结合亲和力。在PDBbind v2016数据集上的测试中,PAMNet在多个评价指标上均优于其他基于机器学习、CNN或者GNN的方法(表2)。

表2、PDBbind上的性能比较

b32b5ee1c8a932c8a127b0ae499ad0e0.png

此外,为了评估PAMNet的效率,作者将其与每项任务中最准确的基准模型对于内存消耗和推理时间进行比较。结果发现,PAMNet所需的内存和推理时间都明显少于所比较的基准模型(表3)。PAMNet的高效来自于对三维分子体系中局部和非局部相互作用的单独建模:在对非局部相互作用进行建模时,作者利用了相对低复杂度的信息传递方式,仅使用原子间距作为几何信息,从而显著减少了计算复杂度。

表3、效率评估结果

559dd492a0a81c2c519385a78eb59da1.png

结论

本研究开发了受到分子力学启发的PAMNet框架,可以对任意分子体系实现准确且高效的几何深度学习。PAMNet在多个任务中都表现出了出色的准确性和效率。这些成果不仅展示了PAMNet在模拟分子体系的通用性,而且强调了其在实际分子科学应用中的潜力。这对于未来的药物发现、结构生物学和量子化学等领域具有重要意义。

参考资料

Shuo Zhang, Yang Liu, Lei Xie. A universal framework for accurate and efficient geometric deep learning of molecular systems. Sci Rep 13, 19171 (2023).

https://doi.org/10.1038/s41598-023-46382-8

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

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

相关文章

Express中使用Swagger

Swagger Swagger 是一种规范,用于描述 API 的结构,功能和参数。使用 Swagger 可以提供清晰的可视化 API 文档,可用于 API 交互的文档驱动开发,以及 API 的自动化测试和集成。 使用 npm 或 yarn 下载。 npm install swagger-jsdo…

【ESXi】ESXi 版本回退

目录 8. ESXi 版本回退8.1 版本回退条件与注意事项8.2 版本回退步骤8.3 示例演示(1)准备工作(2)进入DCUI界面(3)按 F11 重启系统引导(4)进入引导选项(5)进入 …

弧形导轨的精度等级

为符合工控自动化生产制造必须,弧形导轨在运输武器装备领域应时而生,并已在电子生产制造、手机上、半导体材料、动力锂电池等领域获得广泛运用。其中,弧形导轨的精度等级是评估其运动精度的重要指标,通常包括制造精度和运行精度两…

Flink系列之:大状态与 Checkpoint 调优

Flink系列之:大状态与 Checkpoint 调优 一、概述二、监控状态和 Checkpoints三、Checkpoint 调优四、RocksDB 调优五、增量 Checkpoint六、RocksDB 或 JVM 堆中的计时器七、RocksDB 内存调优八、容量规划九、压缩十、Task 本地恢复十一、主要(分布式存储…

spring-kakfa依赖管理之org/springframework/kafka/listener/CommonErrorHandler错误

问题: 整个项目使用spring-boot2.6.8版本,使用gradle构建,在common模块指定了implementation org.springframework.kafka:spring-kafka:2.6.8’这个工程也都能运行(这正常发送kafka消息和接收消息),但是执行…

java --- 集合进阶

目录 一、单列集合顶层接口 Collection 1.1 基本方法 1.2 Collection 的遍历方式 二、list集合 1.2 ArrayList Vector 底层结构 1.3 LinkedList ArrayList 和 LinkedList 比较 三、set接口 3.1、Set 接口和常用方法 3.2 HashSet HashSet 底层机制(HashMap…

VB.NET创建AOT无依懒的winform 独立EXE,动态库如何调用?

public a as long 9977public function add(a as long,b as long) as longaddab end function VB.NET用AOT编绎成独立EXE,只能生成无函数的dll(默认有个DotNetRuntimeDebugHeader),无法导出自有模块或类中的API EXPORT动态库 (AOT只能生成64…

raise KeyError(key) from err KeyError: ‘sex‘

一、问题揪出: File “/usr/share/anaconda3/envs/tf2.0-gpu/lib/python3.7/site-packages/pandas/core/frame.py”, line 2906, in getitem indexer self.columns.get_loc(key) File “/usr/share/anaconda3/envs/tf2.0-gpu/lib/python3.7/site-packages/pandas/…

Vue 宝典之动画(transition)

文章目录 &#x1f951;Vue 过渡效果的基础概念&#x1fad2;<transition> 组件的基本用法&#x1fad2; 过渡类名&#x1fad2;CSS 过渡 &#x1f951;Vue.js 中的高级动画特性&#x1fad2;多个元素的过渡&#x1fad2;使用 JavaScript 钩子函数控制动画&#x1f346; …

四十六----react路由

一、react 路由使用 import {render } from "react-dom"; import {BrowserRouter,Routes,Route, } from "react-router-dom"; // import your route components too render(<BrowserRouter><Routes><Route path="/" element={&l…

Vue学习笔记-Vue3的toRef和toRefs

toRef 作用&#xff1a;创建一个ref对象&#xff0c;其value值指向与其绑定的数据对象中的某个属性&#xff0c;当toRef创建的对象值改变时&#xff0c;与其绑定的响应式对象中对应的属性也发生改变导入&#xff1a;import {toRef} from vue使用&#xff1a;const name toRef…

OSG基础学习 - 顶点数组类型、法线、绘制四边形

之前已经学习了osg加载场景的基本流程; Geometry类型是一个几何体对象;定义一个几何体对象geom1; Vec3Array是向量数组类型,定义该类型的变量v1; v1调用push_back方法放入4个向量,Vec3是三维向量; 并把v1设置为geom1的顶点数组; 法线也是用一个三维向量表示; 定义一…

Python【Matplotlib】图例可拖动改变位置

代码&#xff1a; import matplotlib.pyplot as plt from matplotlib.widgets import Button# 创建一个示例图形 fig, ax plt.subplots() line, ax.plot([1, 2, 3], labelLine 1)# 添加图例 legend ax.legend(locupper right, draggableTrue)# 添加一个按钮&#xff0c;用于…

mybatis动态SQL-sql片段

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

Electron 中创建透明窗口

在开发 Electron 应用时&#xff0c;可能需要创建完全透明的窗口&#xff0c;比如我们要做一个屏幕内容共享的功能&#xff0c;在特定矩形区域内的内容才会被共享出来&#xff0c;而这个区域是一个透明且可被穿透的区域。 首先我们需要再主进程上创建一个矩形窗口 const scre…

简单电子报警器设计与制作方法

简单电子报警器设计与制作方法 注&#xff1a; 1、按上图连接好。 2、改变R&#xff58;的大小即使基极电路的电流发生改变&#xff0c;使频率发生改变。 3、增大电容&#xff0c;有利于低音向第一个三极管的基极反馈&#xff0c;因此最终 输出频率变低。 4、R2处接光敏电阻…

数据结构和算法-AOV与AOE网络和(逆)拓扑排序与关键路径

文章目录 AOV网络拓扑排序代码实现时间复杂度 逆拓扑排序实现DFS算法实现逆拓扑排序小结 AOE网络关键路径求关键路径求事件最早发生时间求事件最迟发生时间求活动最早发生时间求活动最迟发生时间求活动余量 关键活动 关键路径的特性小结 AOV网络 必须是DAG图&#xff08;有向无…

Microsoft刷题记录

PASS区 串联字符串的最大长度通知所有员工所需的时间单词搜索 PASS但非最优 合并区间实现 Trie (前缀树) 非PASS区 将石头分散到网格图的最少移动次数去除重复字母和为K的子数组颜色分类 注意 dfs 应该是i1&#xff0c;而不是idx1&#xff0c;老容易写错

本科论文降重修改技巧 神码ai

大家好&#xff0c;今天来聊聊本科论文降重修改技巧&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 本科论文降重修改技巧 对于本科论文的写作&#xff0c;降重修改是一个…

C++ I/O操作---输入输出

本文主要介绍C I/O操作中的输入输出流。 目录 1 输入输出 2 输入输出流分类 3 C中的输入输出流 4 iostream 5 std::ofstream 6 std::fstream 7 std::getline 1 输入输出 C的输入输出是数据在不同设备之间的传输&#xff0c;即在硬盘、内存和外设之间的传输。 数据如水流…