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;…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
