PSCP~

news/2024/10/30 17:17:58/

PSCP 深度架构 AttnPacker——大幅优化的AI算法。

蛋白质结构和功能的形成,很大程度上取决于侧链原子间的相互作用,因此,精准的蛋白质侧链预测(PSCP)是解决蛋白质结构预测和蛋白质设计难题的关键一环。但此前蛋白质结构预测大多聚焦于主链结构,侧链结构预测始终是一个未被完全解决的难题。

近日,分子之心许锦波团队推出一种新的 PSCP 深度架构 AttnPacker,在速度、内存效率和整体精度方面取得大幅提升,是目前已知的最优侧链结构预测算法,也是全球首创的可同时进行蛋白质侧链预测和序列设计的 AI 算法。

论文发表在《美国科学院院刊》(PNAS)上,其预训练模型、源代码和推理脚本都已在 Github 上开源。

  • 论文链接:https://www.pnas.org/doi/10.1073/pnas.2216438120#supplementary-materials

  • 开源链接:https://github.com/MattMcPartlon/AttnPacker

蛋白质由数个氨基酸折叠而成,其结构分为主链和侧链。侧链的差异性对蛋白质的结构与功能有巨大影响,尤其是生物活性。基于对侧链结构的清晰认知,科学家们能够更精准地测定蛋白质三维结构,解析蛋白质 - 蛋白质之间的相互作用,并进行理性蛋白设计。应用到药物设计领域,科学家们便能更快、更准确地找到适合药物与受体的结合点位,甚至根据需要优化或设计结合点位;在酶优化领域,科学家们可以通过对序列的优化改造,让多个侧链参与催化反应,实现更高效、特异性更高的催化效果。

当前大多数蛋白质结构预测算法主要针对主链的结构解析,但蛋白质侧链结构预测还是一个未被完全突破的难题。无论是 AlphaFold2 等热门蛋白质结构预测算法,还是 DLPacker、RosettaPacker 等专注侧链结构预测的算法,准确度或速度都不尽如人意。这也为蛋白质设计带来了限制。

传统方法,如 RosettaPacker,主要使用能量优化方法,先对侧链原子的分布进行分组,再针对某个特定氨基酸来搜索侧链的分组,寻找能量最小的组合。这些方法主要区别于研究者对旋转异构体文库、能量函数和能量最小化程序的选择,准确性受限于对搜索启发式方法和离散抽样程序的使用。业界也有基于深度学习的侧链预测方法,如 DLPacker,它将 PSCP 表述为图像到图像的转换问题,并采用了 U-net 模型结构。但预测精度和速度依然不够理想。

方法

AttnPacker 是一种端到端的预测蛋白质侧链坐标的深度学习方法。它联合模拟了侧链相互作用,直接预测的侧链结构在物理上更可行,具有更少的原子碰撞和更理想的键长和角度。

具体而言,AttnPacker 引入了一种利用 PSCP 的几何和关系方面的深度图转换器架构。受 AlphaFold2 启发,分子之心提出了位置感知三角形更新,以使用基于图形的框架来计算三角形注意力和乘法更新,从而优化成对特征。通过这种方法,AttnPacker 的内存显著减少并拥有更高容量的模型。此外,分子之心探索了几种 SE (3) 等变注意力机制,并提出了一种用于从 3D 点学习的等变变换器架构。

AttnPacker 运行流程。以蛋白质主链坐标和序列作为输入,并基于坐标信息导出空间特征图和等变基。特征图由不变量 graph-transformer 模块处理,然后传递给一个等变的 TFN-Transformer 输出预测的侧链坐标、每个残基的置信度分数和可选的设计序列。预测坐标经过后处理,以去除所有空间冲突,并确保理想化的几何结构。

效果

在预测效果上,AttnPacker 对天然和非天然主链结构都显示出准确性和效率上的改进。同时保证了物理上的可行性,与理想键长和角度的偏差可以忽略不计,且产生了最小的原子空间位阻。

分子之心在 CASP13 和 CASP14 天然和非天然蛋白质主链数据集上对 AttnPacker 与目前最先进的方法 ——SCWRL4、FASPR、RosettaPacker 和 DLPacker 进行对比测试。结果显示,AttnPacker 在 CASP13 和 CASP14 天然主链上显著优于传统蛋白质侧链预测方法,平均重建 RMSD 比每个测试集上的次优方法低 18% 以上。AttnPacker 还超越了深度学习方法 DLPacker,平均 RMSD 降低了 11% 以上,同时也显著提高了侧链二面角精度。除了准确性,AttnPacker 的原子碰撞明显少于其他方法。

在 CASP13 和 CASP14 非天然主链上,AttnPacker 也明显优于其他方法,原子碰撞也明显少于其他方法。 

创新性地摈弃了离散的旋转异构体库以及计算上昂贵的构象搜索和采样步骤,直接结合主链 3D 几何结构来并行计算所有侧链坐标。AttnPacker 与基于深度学习的方法 DLPacker、基于传统计算方法的 RosettaPacker 相比,计算效率显著提高,减少了 100 倍以上的推理时间。 

AttnPacker 在蛋白质设计上的表现同样优秀。分子之心训练了一个 AttnPacker 变体用以协同设计,该变体可实现媲美当下最先进的方法的天然序列恢复率,同时还可生产高度精确的组装。Rosetta 模拟验证显示,AttnPacker 设计的结构通常会产生亚原生(更低的)Rosetta 能量。 

用 ESMFold scTM 和 plDDT 指标对比天然蛋白质序列和 AttnPacker 生成的序列,以评估 AttnPacker 的生成质量,结果表现出强相关性。  whaosoft aiot http://143ai.com 

除了效果和效率惊人之外,AttnPaker 还有一个非常实用的价值 —— 它非常易用。AttnPaker 只需要一个蛋白质的结构文件即可运行。相比之下,OPUS-Rota4 (28) 需要来自 DLPacker 的原子环境的体素表示、来自 trRosetta100 的逻辑、二级结构和来自 OPUS-CM 输出的约束文件。另外,由于 AttnPacker 直接预测侧链坐标,输出是完全可微分的,这有利于下游预测任务,例如优化或蛋白质 - 蛋白质相互作用。“预测效果好、效率高、易用,这些优势有利于 AttnPacker 在研究和工业领域的广泛使用。” 许锦波教授表示。

总结

1、AttnPacker 是一个用于直接预测序列和侧链坐标的 SE(3)等变模型,可以用于蛋白质侧链结构预测,也可用于蛋白质序列设计,是一项开创性的工作。

2、AttnPacker 的准确性优于其他方法,且效率大幅提升,并具备极高的易用性。

 


http://www.ppmy.cn/news/396748.html

相关文章

邮箱pop和smtp协议的说明

解说地址:http://bbs.csdn.net/topics/10141665 POP3和SMTP是指什么? 许多朋友都在为邮箱的设置感到疑惑,特别是对于收信服务器和发信服务器的概念感到陌生,常常被人提到的SMTP和POP3是怎么回事呢? 其实一般每个提供…

关于邮箱的 POP 协议、imap 协议、imap 协议简单讲解

【三种邮箱协议说明】 以 263 邮箱为例 POP3 接收邮件协议(邮局协议),端口:110 SLL 加密类型端口:995。较为常见的客户端 如 outlook、foxmail 都可以使用,使用客户端如果设置了接收邮件后同时删除服务端的邮件那么将会删除服务端上的邮件。 …

Mail-POP3(LumiSoft.Net)

LumiSoft.Net提供了丰富的网络开发组件,下载地址: http://www.lumisoft.ee/lswww/download/downloads/Net/ 解压缩后找到引用bin/Release/LumiSoft.Net.dll 打开命名空间 using LumiSoft.Net.Mime; using LumiSoft.Net.POP3.Client; 范例代码 /*To make this c…

【SMTP】【POP】电子邮件相关协议分析

一、 实验环境 通过普通路由器连接英特网的计算机一台;通过VMWare安装的Linux虚拟机一台;抓包工具:Wireshark;邮件处理软件:Foxmail。 二、 实验原理 SMTP工作原理 SMTP提供了一种邮件传输的机制,当收件…

c++11 标准模板(STL)(std::ios_base)成员类型与常量

流打开模式类型 std::ios_base::openmode typedef /*implementation defined*/ openmode; static constexpr openmode app /*implementation defined*/ static constexpr openmode binary /*implementation defined*/ static constexpr openmode in /*implementation defi…

1007

背景 Background 平面上有N个圆柱形的大钉子&#xff0c;半径都为R,所有钉子组成一个凸多边形。 现在你要用一条绳子把这些钉子围起来&#xff0c;绳子直径忽略不计。 描述 Description 求出绳子的长度 输入格式 Input Format 第1行两个数&#xff1a;整数N(1<N<100…

Python版day16

104. 二叉树的最大深度 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, r…

一键式 RLHF 训练 DeepSpeed Chat(二):实践篇

一键式 RLHF 训练 DeepSpeed Chat&#xff08;二&#xff09;&#xff1a;实践篇 之前给大家分享了一键式 RLHF 训练 DeepSpeed Chat&#xff08;一&#xff09;&#xff1a;理论篇&#xff0c;本文给大家分享如何使用DeepSpeed Chat进行RLHF训练。 DeepSpeed Chat 的 RLHF 训…