ViSNet:用于分子性质预测和动力学模拟的通用分子结构建模网络

本文主要是介绍ViSNet:用于分子性质预测和动力学模拟的通用分子结构建模网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编者按:尽管几何深度学习已经彻底颠覆了分子建模领域,但最先进的算法在实际应用中仍然面临着几何信息利用不足和高昂计算成本的阻碍。为此,微软研究院科学智能中心(Microsoft Research AI4Science)的研究员们提出了通用分子结构建模网络 ViSNet。在多个分子动力学基准测试中,ViSNet 均表现优异。


分子几何建模在理解生物活性机制、化学性质预测、药物设计和蛋白质工程方面发挥着关键作用。然而,虽然几何深度学习(geometric deep learning)是一种低成本、高精度且可以被广泛使用的计算方法,在过去十年取得了巨大进展,但这种技术仍然存在一些有待解决的问题和局限性:

  • 分子可解释性不足:深层神经网络尽管可以进行预测,但缺乏对分子的深入洞察;
  • 随着分子尺寸的增加,计算成本迅速增加:一些目前最先进的方法中采用的高阶 Clebsch-Gordan 系数计算是计算密集型的,因此阻碍了其在大分子中的应用;
  • 需要实际应用中的盲目测试和评估:模型总是在基准测试上进行测试,同时也需要仔细评估在实际应用中的有效性。

为了解决这些难题,微软研究院科学智能中心的研究员们将研究重点聚焦在了如何提高分子可解释性、降低计算成本以及评估实际应用几个方面,并创新性地提出了通用分子结构建模网络 ViSNet (Vector-Scalar interactive graph neural Network)。相关文章“Enhancing geometric representations for molecules with equivariant vector-scalar interactive message passing”已发表在《自然-通讯》(Nature Communications)杂志上,并同时入选了“AI and machine learning”和“Biotechnology and method”两个领域的编辑精选文章。

ViSNet论文链接:https://www.nature.com/articles/s41467-023-43720-2

“AI and machine learning”领域编辑精选文章链接:https://www.nature.com/collections/ceiajcdbeb

“Biotechnology and method”领域编辑精选文章链接:https://www.nature.com/collections/idhhgedgig

有效提升分子几何表示

研究员们最初计划通过有效且充分地利用分子结构的领域知识来设计模型。由于经典分子动力学(molecular dynamics, MD)通过明确描述势能函数中的键长、键角和二面角来模拟分子运动,所以受经典 MD 模拟的启发,研究员们将这些项目转换并扩展,从而构建了 ViSNet 独特的模型设计。

与通过简单的特征工程过程直接采用角度或二面体信息不同,研究员们提出了“方向单元”这个概念作为节点的向量化表示,即从中心节点到其任何第一个相邻节点的所有归一化向量的总和,作为中心节点的矢量化表示。再以此将键长、键角和二面角计算扩展到二体、三体和四体相互作用。然后,通过设计运行时几何计算(runtime geometry calculation, RGC)模块来描述模型操作等多体交互。

更重要的是,三体和四体相互作用的 RGC 计算都只有线性时间复杂度。因此,研究员们又进一步提出了向量标量交互式消息传递机制(ViS-MP),其中方向单元会通过构建块由节点和边的标量表示迭代更新,反过来,标量表示由方向单元同时更新 RGC 模块。RGC 和 ViS-MP 的独特设计显著增强了几何编码能力并加速了分子图神经网络中的消息传递过程。

图1:ViSNet 网络结构示意图

图1:ViSNet 网络结构示意图

ViSNet在分子建模和性质预测实际应用中的表现

研究员们首先将 ViSNet 在广泛使用的分子化学性质预测基准上进行了评估。在 MD17、修订版 MD17 、 MD22、QM9 以及 Molecule3D 数据集上显示出卓越的性能,证明了分子几何表示的强大能力。然后,研究员们还在自已开发的 DFT(密度函数理论)精度的蛋白质数据集 AIMD-Chig 数据集上训练了 ViSNet,并对蛋白质 Chignolin 进行了 MD 模拟。

ViSNet 取得了比经验力场和现代机器学习力场更好的性能及令人满意的结果。ViSNet 的模拟结果与在 DFT 水平上获得的结果非常接近,这表明 ViSNet 在数据效率和模拟保真度方面具有潜力。

研究员们用 ViSNet 参加了全球首届 AI 药物研发算法大赛。该大赛旨在根据小分子的序列信息(即SMILES)预测针对新冠病毒 SARS-CoV-2 主要蛋白酶的抑制剂。共有来自全球878支团队的1105名参赛者参与了此次比赛。最终,研究员们凭借 ViSNet 获得了比赛的总冠军,也展现了 ViSNet 优异的预测准确性。

如何获取ViSNet模型?

为了促进更广泛的应用和便捷的使用,ViSNet 已被微软纳入 Pytorch Geometry 库,作为分子建模和属性预测领域的基本模型。ViSNet 的定期维护和更新版本也可在 GitHub上 获取。

图2:ViSNet 在 Pytorch Geometry 中作为基础模型

Pytorch Geometry 库链接:https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.models.ViSNet.html

GitHub 链接:https://github.com/microsoft/AI2BMD/tree/ViSNet

此外,考虑到图神经网络随着模型变得越来越大、越来越深,可能会遇到“过度平滑”的风险,研究员们还进一步设计了 ViSNet 的 Transformer 版本,可以将 RGC 模块转移到 Transformer 注意力计算中,并提出了一种新颖的原子间位置编码(IPE),命名为 Geoformer(Geometric Transformer的缩写)。作为 ViSNet 的 Transformer 变体,Geoformer 可通过堆叠数百个注意力块来进行大模型训练。相关研究论文发表于 NeuraIPS 2023。

分子动力学模拟的未来:兼具人工智能与从头计算精度的能力

作为人工智能(AI)驱动的从头算分子动力学(AI2BMD)项目的重要组成部分,ViSNet 致力于实现加速分子动力学模拟的目标,使大型分子系统的模拟精度接近从头算法。

图3:AI2BMD 整体流程

图3:AI2BMD 整体流程

ViSNet 可以让 AI2BMD 实现对包含超过10,000个原子的蛋白质的能量和力计算达到接近从头算法的精度。利用 ViSNet 进行蛋白质动力学模拟还可提高自由能估计的准确性,提供有关蛋白质折叠热力学的深入预测,并有助于表征蛋白质的特性,从而潜在地增强实验研究。

相关链接:

ViSNet论文:https://www.nature.com/articles/s41467-023-43720-2

AIMD-Chig 数据集:https://www.nature.com/articles/s41597-023-02465-9

首届AI药物研发算法大赛官方网页:https://aistudio.baidu.com/competition/detail/1012/0/leaderboard

ViSNet-Pytorch Geometry 库:https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.models.ViSNet.html

ViSNet-GitHub:https://github.com/microsoft/AI2BMD/tree/ViSNet

Geoformer:https://github.com/microsoft/AI2BMD/blob/Geoformer/Geoformer.pdf/

AI2BMD:https://microsoft.github.io/AI2BMD/index.html

这篇关于ViSNet:用于分子性质预测和动力学模拟的通用分子结构建模网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888644

相关文章

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5