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


本文将介绍 24 年 5 月发布的 Alaphafold3,其以“使用 AlphaFold 3 进行生物分子相互作用的精确结构预测”为标题发表在《nature》上,通讯作者为 Jumper。
Jumper 具有物理、化学、生物和计算方面的丰富背景。Jumper 本科学的是物理和数学,本科毕业后,开始攻读理论凝聚态物理学博士学位,但很快就退学了。2008 年,他加入了一家做蛋白质模拟的公司,他开始在超级计算机上模拟蛋白质运动。2011 年,他再次尝试读研究生,他这次选择攻读芝加哥大学的理论化学学位。2017 年,刚刚完成博士学位的 Jumper 加入谷歌 DeepMind,担任研究科学家,领导了AlphaFold 1、2、3的开发。
本文内容主要分为三个部分:
-
AlphaFold3 模型结构; -
AlphaFold3 在不同类型的预测实验中的表现; -
在线使用 AlphaFold3
1. AlphaFold3 模型结构
和 AlphaFold2 类似,AlphaFold3 的框架由四部分组成:输入模块、特征提取模块、编码器、解码器。


下面分别介绍这四部分:
1.1 输入模块

向模型输入序列、配体和共价键,然后执行以下三个操作:
-
从 PDB mmCIF 文件中检索模板结构; -
从 5 个数据库中检索蛋白质序列,从 3 个数据库中检索 RNA 序列,用于多序列比对(MSA),如下图所示:

-
生成参考构象。
输入模块总结:输入模块就是将我们输入到模型的内容拿到数据库中去检索相似的模板结构和相似的序列,并生成参考构象,做好数据准备工作。检索的相似序列、生成的构象、输入序列、配体和共价键将会输入到特征提取模块。
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,也高于针对特定类型的对手。

上图从左到右:
预测蛋白-小分子配体互作结构的表现(盲对接,不提供蛋白质结构或指定对接口袋):数据集选择的是 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 多平台发布
相关文章:

AlphaFold3 | 详解 AlphaFold3 的模型结构及其在不同类型的预测实验中的表现
Jumper 本文将介绍 24 年 5 月发布的 Alaphafold3,其以“使用 AlphaFold 3 进行生物分子相互作用的精确结构预测”为标题发表在《nature》上,通讯作者为 Jumper。 Jumper 具有物理、化学、生物和计算方面的丰富背景。Jumper 本科学的是物理和数学&#…...

公交IC卡收单管理系统 多处 SQL注入致RCE漏洞复现
0x01 产品简介 公交IC卡收单管理系统是城市公共交通领域中不可或缺的一部分,它通过集成先进的集成电路技术(IC卡)实现了乘客便捷的支付方式,并有效提高了公共交通运营效率。系统集成了发卡、充值、消费、数据采集、查询和注销等多个功能模块,为公交公司和乘客提供了全面、…...

淘客系统开发之卷轴模式系统源码功能分析
随着互联网技术的快速发展,电商行业不断创新,探索更加高效、有趣的用户参与机制。其中,卷轴模式作为一种新兴的商业模式,以其独特的积分兑换和任务系统,在淘客系统开发中得到了广泛应用。本文将从技术角度,…...

MoCo中的字典
在 MoCo(Momentum Contrast)中,字典(dictionary)是一个核心组件,用于存储负样本(negative samples)的特征表示(key)。这个字典的设计使得 MoCo 可以高效地利用…...

Xcode16 iOS18 编译问题适配
问题1:ADClient编译报错问题 报错信息 Undefined symbols for architecture arm64:"_OBJC_CLASS_$_ADClient", referenced from:in ViewController.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit co…...

加密解密的艺术:探索Java中的DES算法
目录 1. 引言 2. DES算法简介 3. Java中的DES实现 4. 代码解析 5. 安全性考量 1. 引言 在数字化时代,数据安全变得至关重要。无论是个人隐私还是企业机密,都需要强有力的保护措施。今天,我们将探讨一种经典的数据加密技术——DES&#…...

jQuery——层次选择器
1、层次选择器:查找子元素,后代元素,兄弟元素的选择器。 ancestor descendant:在给定的祖先元素下匹配所有的后代元素 parent > child:在给定的父元素下匹配所有的子元素 prev next:匹配所有紧接在…...

MySQL常见面试总结
MySQL基础 什么是关系型数据库? 顾名思义,关系型数据库(RDB,Relational Database)就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多&…...

记录一次学习--委派攻击学习
目录 为什么要使用委派 什么账号可以使用委派 非约束性委派 这里有一张图 利用 流程 约束性委派 这里有一张图 如何利用 条件 具体流程 为什么要使用委派 这个是因为可能A服务需要B服务的支持,但是A服务的权限不可以使用B服务。然后这时就可以让域用户将…...

前端列表数据太多导致页面卡顿就这么处理
前端列表数据太多页面卡顿就这么处理 实际场景什么是虚拟列表虚拟列表实现原理实战中虚拟列表的问题及相应解决方案 实际场景 首先看以下两个实际场景: 场景一:有一个数据列表,数据量非常大且每一个数据项都有几十列甚至更多,且后…...

机器学习_神经网络_深度学习
【神经网络——最易懂最清晰的一篇文章 - CSDN App】https://blog.csdn.net/illikang/article/details/82019945?type=blog&rId=82019945&refer=APP&source=weixin_45387165 参考以上资料,可对神经网络有初步了解。接下来可参考书籍等投身实际项目中使用。 书…...

MT6765/MT6762(R/D/M)/MT6761(MT8766)安卓核心板参数比较_MTK联发科4G智能模块
联发科Helio P35 MT6765安卓核心板 MediaTek Helio P35 MT6765是智能手机的主流ARM SoC,于2018年末推出。它在两个集群中集成了8个ARM Cortex-A53内核(big.LITTLE)。四个性能内核的频率高达2.3GHz。集成显卡为PowerVR GE8320,频率…...

TikTok五分钟开户快速步骤流程!
1、注册您的账户 首先,访问TikTok广告管理器的注册页面(https://ads.tiktok.com/i18n/signup/)以创建账户。您可以选择使用电子邮件或手机号码进行注册。输入您的电子邮件和密码后,您需要同意TikTok的广告条款,然后点击…...

BFS 解决拓扑排序 , 课程表 , 课程表 II , 火星词典
文章目录 拓扑排序简介1.有向无环图(DAG图)2.AOV网:顶点活动图3.拓扑排序4.实现拓扑排序 207. 课程表210. 课程表 IILCR 114. 火星词典 拓扑排序简介 1.有向无环图(DAG图) 像这样只能从一个点到另一个点有方向的图&a…...

web安全攻防渗透测试实战指南_web安全攻防渗透测试实战指南,零基础入门到精通,收藏这一篇就够了
1. Nmap的基本 Nmap ip 6 ip Nmap -A 开启操作系统识别和版本识别功能 – T(0-6档) 设置扫描的速度 一般设置T4 过快容易被发现 -v 显示信息的级别,-vv显示更详细的信息 192.168.1.1/24 扫描C段 192.168.11 -254 上 nmap -A -T4 -v -i…...

大模型如何赋能智慧城市新发展?
国家数据局近期发布的《数字中国发展报告(2023)》显示,我国数据要素市场化改革步伐进一步加快,数字经济规模持续壮大,数字技术应用场景不断拓展。这一成就的背后是数字技术广泛应用,数字技术不仅影响着老百…...

随记——机器学习
前言 本来有个500块钱的单子,用机器学习做一个不知道什么鸟的识别,正好有数据集,跑个小项目,过一下机器学习图像识别的流程,用很短的时间记录下来..... 一、数据预处理 将数据集分为训练集和测试集,直接…...

【在Linux世界中追寻伟大的One Piece】进程间通信
目录 1 -> 进程间通信介绍 1.1 -> 进程间通信目的 1.2 -> 进程间通信发展 1.3 -> 进程间通信分类 1.3.1 -> 管道 1.3.2 -> System V IPC 1.3.3 -> POSIX IPC 2 -> 管道 2.1 -> 什么是管道 2.2 -> 匿名管道 2.3 -> 实例代码 2.4 -…...

多路复用IO
一。进程处理多路IO请求 在没有多路复用IO之前,对于多路IO请求,一般只有阻塞与非阻塞IO两种方式 1.1 阻塞IO 需要结合多进程/多线程,每个进程/线程处理一路IO 缺点:客户端越多,需要创建的进程/线程越多,…...

C++ prime plus-7-編程練習
1, #include <iostream>// 函数声明 double harmonicMean(double x, double y);int main() {double x, y, result;while (true) {std::cout << "请输入两个数(其中一个为0时结束): ";std::cin >> x >> y;…...

计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
我们写这道题的时候需要俩变量接受,一个总数一个分母,我们发现分母变化是有规律的从1~100循环。 #include<stdio.h> int main() {int i 0;int tag 1;double sum 0.0;for (i 1; i < 101; i){if (i % 2 0){sum sum - 1.0 / i;}else{sum s…...

Linux本地服务器搭建开源监控服务Uptime Kuma与远程监控实战教程
文章目录 前言**主要功能**一、前期准备本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。本教程使用Docker部署服务,如何安装Docker详见: 二、Docker部署Uptime Kuma三、实现公网查看网站监控四、使用固定公网地址…...

JS 历史简介
目录 1. JS 历史简介 2. JS 技术特征 1. JS 历史简介 举例:在提交用户的注册信息的时候,为避免注册出现错误后重新填写信息,可以在写完一栏信息后进行校验,并提示是否出现错误,这样会大大提高用户提交的成功率&…...

爬虫逆向学习(七):补环境动态生成某数四代后缀MmEwMD
声明:本篇文章内容是整理并分享在学习网上各位大佬的优秀知识后的实战与踩坑记录 前言 这篇文章主要是研究如何动态生成后缀参数MmEwMD的,它是在文章爬虫逆向学习(六):补环境过某数四代的基础上进行研究的,代码也是在它基础上增…...

光伏电站并网验收需要注意什么细节
一、设备质量及安装验收 光伏组件:检查光伏组件的外观是否完好无损,无明显的缺陷和破损,表面是否清洁无污染。同时,需要验证光伏组件的型号、参数是否与设备台账资料一致。 逆变器:确认逆变器具备防雷、防尘、防潮等…...

页面禁用鼠标右键属于反爬虫措施吗 ?
是的,禁用鼠标右键通常被视为一种反爬虫(anti-scraping)措施。网站开发者常常采用这种技术来防止用户通过右键菜单复制文本、图像或其他内容,特别是在内容保护和数据安全方面。以下是禁用鼠标右键的一些背景和目的: 1…...

视频理解大模型最新进展
文章目录 Video-LLaMAVision-Language BranchAudio-Language Branch Video-ChatGPTMiniGPT4-videoCogVLM2-Video(1)Pre-training(2)Post-training Qwen2-VLMA-LMMChat-UniVi大模型对比 Video-LLaMA 2023:阿里达摩院的…...

cocos creator 使用 protobuf 的步骤与注意事项
移除可能曾安装过的protobuf // 移除全局 npm remove -g protobufjs npm remove -g protobufjs-cli npm remove -g pbjs // 移除项目中的 npm remove --save protobufjs npm remove --save protobufjs-cli npm remove --save pbjs全局安装 npm i -g protobufjs //或者 cnpm …...

mac访达查找文件目录
mac访达查找文件目录 在Mac上使用访达(Finder)查找文件或目录的方法如下: 打开访达。 在访达窗口的侧边栏中,选择“ Go to Folder”(转到文件夹)选项,或者使用快捷键ShiftCommandG打开一个对…...

【数据结构】点分治 点分树
求树上长度小于等于k的路径 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 10010, M N * 2;int n, m; int h[N], e[M], w[M], ne[M], idx; //邻接表 bool st[N]; //记录每个点是否被删掉 int p[N]; //存储…...