AlphaFold3 | 详解 AlphaFold3 的模型结构及其在不同类型的预测实验中的表现

alt
Jumper
Jumper

本文将介绍 24 年 5 月发布的 Alaphafold3,其以“使用 AlphaFold 3 进行生物分子相互作用的精确结构预测”为标题发表在《nature》上,通讯作者为 Jumper。

Jumper 具有物理、化学、生物和计算方面的丰富背景。Jumper 本科学的是物理和数学,本科毕业后,开始攻读理论凝聚态物理学博士学位,但很快就退学了。2008 年,他加入了一家做蛋白质模拟的公司,他开始在超级计算机上模拟蛋白质运动。2011 年,他再次尝试读研究生,他这次选择攻读芝加哥大学的理论化学学位。2017 年,刚刚完成博士学位的 Jumper 加入谷歌 DeepMind,担任研究科学家,领导了AlphaFold 1、2、3的开发。


本文内容主要分为三个部分:

  1. AlphaFold3 模型结构;
  2. AlphaFold3 在不同类型的预测实验中的表现;
  3. 在线使用 AlphaFold3

1. AlphaFold3 模型结构

和 AlphaFold2 类似,AlphaFold3 的框架由四部分组成:输入模块、特征提取模块、编码器、解码器。

AlphaFold3 模型结构
AlphaFold3 模型结构

AlphaFold3 模型结构对应的伪代码
AlphaFold3 模型结构对应的伪代码

下面分别介绍这四部分:


1.1 输入模块

输入模块结构
输入模块结构

向模型输入序列、配体和共价键,然后执行以下三个操作:

  1. 从 PDB mmCIF 文件中检索模板结构;
  2. 从 5 个数据库中检索蛋白质序列,从 3 个数据库中检索 RNA 序列,用于多序列比对(MSA),如下图所示:
Genetics databases
Genetics databases
  1. 生成参考构象。

输入模块总结:输入模块就是将我们输入到模型的内容拿到数据库中去检索相似的模板结构和相似的序列,并生成参考构象,做好数据准备工作。检索的相似序列、生成的构象、输入序列、配体和共价键将会输入到特征提取模块。


1.2 特征提取模块

特征提取模块结构
特征提取模块结构

特征提取模块伪代码
特征提取模块伪代码

上图省略了将输入到特征提取模块的内容 token 化这一步骤,将输入内容转变为 token 之后,再将这些 token 输入到 embedder 中进行 embedding,然后输出 Input embeddings, Pair embeddings, single embeddings。

token:就是将生物语言用数字表示,举个例子就是,用 1-20 表示氨基酸。

Alphafold3 的 token 方法:

  • 标准氨基酸残基:整体作为一个 token
  • 标准核苷酸残基:整体作为一个 token
  • 修改过的氨基酸或核苷酸残基:每个原子作为一个 token
  • 小分子配体:每个原子作为一个 token

embedding:嵌入,列举一个对象的若干个属性,并对属性进行赋值,产生一个描述这个对象的向量。例如,对于姚明这个对象,高属性赋值为 0.9,矮属性赋值为 -0.9,篮球属性赋值为 0.88,男人属性赋值为 1,有钱属性赋值为 0.3......。再例如,对于半胱氨酸这个氨基酸,氢键供体属性赋值为 0.5,氢键受体属性赋值为 0.6,具有可旋转化学键属性赋值为 0.3,表面电荷属性赋值为 -0.88......可以选择许多属性了来描述对象。具体到 Alphafold3,embedding 就是给输入模型的每一个生物序列单元的每一个属性赋值,每一个生物序列单元最终都由一个向量来表示,我们思考一下生物序列一般都有哪些属性,比如有亲水性、电负性、键角、氢键、可旋转共价键等,Alphafold3 为每个token 选择了 384 个属性,所以每个 token 会被 embedding 为一个 384 维的向量。对两两 token 之间的关系进行 embedding 时的属性表是另外选择的,有 128 个属性。

Input embeddings:由伪代码可以看出,它是输入的每个 token 的 embedding,embedding 维度为 384;从模型数据流可以看出,Input embeddings 不参与后面的循环更新,但是它参与后面每一个模块的计算。

single embeddings:由伪代码可以看出,它是由 Input embeddings 乘上一个权重矩阵而得出,embedding 维度为 384。

Pair embeddings:由伪代码可以看出,它表示两两 token 之间的关系,embedding 维度为 128;计算方法为:两个 token 分别乘以一个权重矩阵,结果相加,再加上一个输入 token 的相对位置编码,再加上这两个 token 之间的化学键的信息;Pair embeddings 包含了两两 token 之间的位置关系。

通俗总结特征提取模块:将输入到特征提取模块的内容表示为计算机能看懂的数字,然后再细致地列出他们都有哪些特点,以及他们彼此之间的关系怎么样,然后将这些得到的信息作为编码器的输入内容。


1.3 编码器

编码器结构
编码器结构

由三个module组成:

  • Template module: 整合在结构数据库中检索到的模板信息,关注对结构更重要的区域,然后再整合特征提取模块输出的 Pair embeddings,得到 Pair representation;
  • MSA module: 在上一步的 Pair representation 的基础上,添加多序列比对信息,更新 Pair representation;
  • Pairformer module: 是一个 Transformer module,用于更新 Pair representation 和 Single representation(Single representation 由 single embeddings 转化而来,过程略)。

通俗总结编码器:将模板结构信息、特征提取模块输出的 Pair embeddings、多序列比对信息整合在一起生成 Pair representation,然后把【对应输入生物序列原始信息的 Single representation】和【Pair representation】输入到善解数意的 Pairformer module 中,善解数意的 Pairformer module 能力超群,可以把 Single representation 信息和 Pair representation 信息规整的整整齐齐,并聚焦到重要信息,经过多次循环更新之后,输出 Single representation 和 Pair representation。

编码器输出的 Single representation 和 Pair representation 将会输入到 解码器模块。


1.4 解码器

解码器结构
解码器结构

扩散模型:扩散模型(Diffusion Model)是一类生成模型的统称,这类模型的核心是通过逐步加噪和去噪过程生成结果。简单理解,加噪就是给一个模糊的图像添加马赛克,让模糊的图像变得更加模糊;去噪就是清除马赛克,恢复图像的原有清晰度,模型会学习这个清除马赛克的过程,延伸一下就是,模型会学习如何将一个模糊的图像变成一个清晰的图像。

通过一个直观例子了解扩散模型的作用:

从杂乱无章的原子点中恢复出清晰的人像
从杂乱无章的原子点中恢复出清晰的人像

解码器由两个 Module 组成:

  • Diffusion Module:使用扩散模型预测复合物结构,具体做法就是,Single representation 信息和 Pair representation 信息会转变为空间位置,这些信息刚开始看上去还是杂乱无章的原子点,看不出结构信息,但是经过扩散模型的多次(加噪和去噪)更新之后,杂乱无章的原子点变成了清新的三维结构。
  • Confidence Module:生成预测结构的预测置信度;使用预测局部距离差异检验(pLDDT)、预测比对误差(PAE)和预测距离误差(PDE)来评估置信度;pLDDT的范围为 0 到 100,值越大,置信度越高,代表预测越准确。

通俗理解解码器:解码器将编码器输出的 Single representation 和 Pair representation 经过扩散模型的反复折腾之后,生成一个清晰的三维结构,并给出这个结构的预测置信度。


2. AF3 在不同类型预测实验中的表现

AlphaFold3 能预测蛋白-小分子互作结构、蛋白-核酸互作结构、共价键修饰和蛋白质结构,在这四个类型的测试中,它的性能都显著高于竞争对手 RoseTTAFold,也高于针对特定类型的对手。

AF3 在不同类型预测实验中的表现
AF3 在不同类型预测实验中的表现

上图从左到右:

预测蛋白-小分子配体互作结构的表现(盲对接,不提供蛋白质结构或指定对接口袋):数据集选择的是 PDB 的 PoseBusters benchmark set,包含 428 个蛋白-配体结构,对比对象选择的是 AutoDock Vina 和 RoseTTAFold All-Atom。AlphaFold3 的表现显著高于 AutoDock Vina 和 RoseTTAFold All-Atom。

预测蛋白-核酸互作结构的表现:对比对象选择的是 RoseTTAFold,在蛋白-RNA 和蛋白-双链DNA 互作结构的预测上,AlphaFold3 的表现都显著高于 RoseTTAFold,在蛋白-RNA 互作结构的预测上,逊色于基于人类专家知识辅助的 Alchemy_RNA2。

预测共价修饰的表现:AF3 能比较准确地预测结合配体、糖基化、修饰的蛋白质残基和核酸碱基等共价修饰。

预测蛋白质复合物结构的表现:对比的是自家的前一代预测多亚基蛋白复合物结构的 Alphafold Mutimer 2.3;由于 Alphafold Mutimer 本身已经足够优秀,留下的提升空间不多,所以在预测蛋白蛋白复合物和蛋白单体之间的结构上的能力提升不大;预测蛋白-抗体复合物结构的能力大幅提高。


预测蛋白-小分子配体互作结构的表现(提供蛋白质结构或指定对接口袋)
预测蛋白-小分子配体互作结构的表现(提供蛋白质结构或指定对接口袋)

上图是提供蛋白质结构或指定对接口袋情况下,不同方法预测蛋白-小分子配体互作结构的表现对比。可以看到,在提供蛋白质结构时,AF 3定制版本 AF3 2019 的预测表现显著强于其他方法;在指定对接口袋时,AF 3定制版本 AF3 2019 pocket specified 的表现显著强于 AutoDock Vina、DeepDock 等一众专业的分子对接软件。


3. 在线使用 AlphaFold3

AlphaFold 3 可以在 https://www.alphafoldserver.com 使用,但是目前对允许使用的小分子配体和共价修饰有限制,很多还不能使用。如果不限制小分子配体的使用范围,AlphaFold 3 将成为一个非常好用的自动化的分子对接软件。





参考内容:

  • https://www.nature.com/articles/s41586-024-07487-w
  • https://www.ebi.ac.uk/training/online/courses/alphafold/inputs-and-outputs/evaluating-alphafolds-predicted-structures-using-confidence-scores/plddt-understanding-local-confidence/
  • https://static-content.springer.com/esm/art%3A10.1038%2Fs41586-024-07487-w/MediaObjects/41586_2024_7487_MOESM1_ESM.pdf
  • https://mp.weixin.qq.com/s/vAvwsf_mjRJH4IDU3lvpcg?sessionid=1726477416&subscene=0&ascene=0&fasttmpl_type=0&fasttmpl_fullversion=7382233-en_US-zip&fasttmpl_flag=0&realreporttime=1726479143208&clicktime=1726239340&enterid=1726239340
  • https://www.bilibili.com/video/BV142K6eBEWN/?spm_id_from=333.999.0.0&vd_source=2e0bed8f939119c48817ce61f4f75bdd

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Python中的数据处理与分析:从基础到高级

在数据科学和数据分析领域,Python凭借其丰富的库和强大的生态系统,成为了最受欢迎的语言之一。本文将从基础到高级,详细介绍如何使用Python进行数据处理和分析,涵盖数据清洗、数据转换、数据可视化等多个方面。 1. 数据导入与导出…

网络安全专业,在校大学生如何赚外快,实现财富自由?零基础入门到精通,收藏这一篇就够了

如今,计算机行业内卷严重,我们不找点赚外快的路子这么行呢? 今天就来说说网络安全专业平时都怎么赚外快。 一、安全众测 国内有很多成熟的src众测平台,如漏洞盒子、火线众测、补天、CNVD、漏洞银行等。一些大厂也有自己的src&a…

下载配置Android Studio(2024年9月)

安装JAVA JDK 下载安装包 Java网站官网 Java Downloads | Oracle 我下载的是JDK Development Kit 17.0.12 downloads Windows x64 MSI Installer。 下载后打开文件,一路NEXT闭眼安装。 配置环境变量 设置-系统-系统高级设置-环境变量 1.新建一个系统环境变量&…

【Linux系统编程】第二十四弹---从零到一:掌握进程替换的奥秘

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、进程程序替换 1.1、替换原理 1.2、替换函数 1.3、函数解释 1.4、命名理解 1.5、代码演示 1.5.1、execl调用举例 1.5…

Dina: 1.0.1靶场

下载链接:https://download.vulnhub.com/dina/Dina-1-0-1.ova 一、信息收集 靶机界面 扫描主机ip arp-scan -l 扫描端口 nmap -p- -A 192.168.137.129 扫描目录 dirb http://192.168.137.129/ 打开网站 没有太多有用信息,点击提交后会有个目录 依旧…

HDFS分布式文件系统01-HDFS JAVA操作与联邦机制

HDFS分布式文件系统 参考学习目标第三课时知识点1-HDFS的Java API介绍知识点2-案例-使用Java API操作HDFS 第四课时知识点1-Federation机制的实现原理知识点2-Federation机制的特点知识点3-Federation机制的实现知识点4-Erasure Coding 参考 maven的setting.xml配置文件详解 …

软件测评CNAS认可实验室程序文件之检测报告的编制和交付程序

软件测评实验室在申请CNAS认可时,需要根据相关准则文件的要求,建立质量管理体系,其中程序文件是质量管理体系中非常重要的一环。在前面的文章中,我们为大家整体介绍了CNAS软件测评实验室程序文件主要都有哪些,以及对部…

Pygame中Sprite实现逃亡游戏4

在《Pygame中Sprite实现逃亡游戏3》中实现了玩家跳跃飞火的效果,接下来通过精灵类的碰撞检测来判断飞火是否击中玩家、飞火是否击中飞龙以及飞龙是否抓住玩家。 1 飞火是否击中玩家的判断 判断飞火是否击中玩家的代码如图1所示。 图1 判断飞火是否击中玩家的代码 …

使用Docker快速本地部署RSSHub结合内网穿透访问RSS订阅源

文章目录 前言1. Docker 安装2. Docker 部署Rsshub3. 本地访问Rsshub4. Linux安装Cpolar5. 配置公网地址6. 远程访问Rsshub7. 固定Cpolar公网地址8. 固定地址访问 前言 今天和大家分享的是如何在本地快速简单部署Rsshub工具,并结合cpolar内网穿透工具使用公网地址远…

心觉:如何重塑高效学习的潜意识(3)东西很好,但用不起,怎么破?

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松掌控自己的人生! 挑战每日一省写作182/1000天 上篇文章我们讲了喜欢系统化学习的人的底层逻辑 已经做到了知己,还需要做到知彼,才能百战不殆…

学习Java(二)

1.条件语句 package com.msb.test02;public class TestIf01 {//条件语句public static void main(String[] args) { // 需求判定一个数是否大于10 // 给定一个数;int num 18;if (num > 10) {System.out.println("大于10的");}else {Sy…

C++11:现代C++的演变与提升

目录 前言 一、统一的列表初始化 1、{}初始化 2、std::initializer_list 二、新的声明 1、auto 2、decltype 3、nullptr 三、范围for循环 四、右值引用与移动语义 1. 左值 vs 右值 2、移动构造与移动赋值 3、 move转换 4、完美转发:forward 五、lamb…

HP UX服务器监控指标深度解读(Telnet)

随着企业IT架构的日益复杂,对关键服务器的监控与管理成为确保业务连续性和系统稳定性的重要环节。HP UX作为一款广泛应用于企业级环境的Unix服务器操作系统,其监控工作显得尤为重要。本文将针对监控易软件中HP UX服务器的监控指标进行深度解读&#xff0…

WinForm程序嵌入Web网页

文章目录 前言一、三方库或控件的选择测试二、Microsoft Edge WebView2安装、使用步骤1.安装2.使用 前言 由于此项目需要winform客户端嵌入web网页并于JAVA端交互数据,所以研究了一下嵌入web网页这部分,趟了一遍雷,这里做下记录。 一、三方库…

软考高级:系统设计 - MDA 模型 AI 解读

生活化例子 想象一下,你要建造一栋房子。建房子需要三个阶段: CIM (概念阶段):这是你想象中的房子。你大概知道房子需要几间卧室、厨房、卫生间,但是还没有详细的设计图。就像在脑海中有个大概的想法:我要建个温馨的…

C++ 关于继承和多态常见的一些问题

大家好久不见,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流 本文由:残念ing原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客,欢迎…

【含文档】基于Springboot+Vue的高校洗浴管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

OJ在线评测系统 前端 完善题目提交服务 细讲异步前端请求与后端接口交互

题目提交服务完善 这则笔记是我们来梳理一下前后端逻辑 主要是我们的提交逻辑 先是看前端 按钮绑定的是这个异步请求 async 关键字表示这个函数内部会使用 await 来等待异步操作完成。 异步提交表单数据 const doSubmit async () > {// message.error("刷题机架构…

如何为创新成果进行专利保护?

专利作为保护创新成果的重要法律手段,如同为创新者披上了一层坚实的盔甲,确保他们的智慧结晶免受侵犯。然而,随着科技的飞速发展,专利侵权现象也日益增多,如何有效保护专利,维护创新者的合法权益&#xff0…

使用SNAP工具处理Sentinel-1数据应注意磁盘和内存问题

近期使用SNAP处理数据比较多,有一些心得给大家分享一下!在预处理Sentinel-1数据 的过程中出错基本上是有3种情况: 磁盘被写满 由于JAVA优化一般是通过空间换效率的方式。所以SNAP为了提高效率,本版本升级增加了数据本地缓存的比重…