当前位置: 首页 > news >正文

AlphaFold 2 处理蛋白质折叠问题

蛋白质是一个较长的氨基酸序列,比如100个氨基酸的规模,如此长的氨基酸序列连在一起是不稳定的,它们会卷在一起,形成一个独特的3D结构,这个3D结构的形状决定了蛋白质的功能。

蛋白质结构预测(蛋白质折叠问题):输入氨基酸序列,预测3D结构。

目前,我们知道10万种蛋白质的结构,但是我们已知的蛋白质有10亿种,因此,我们只了解这10万种蛋白质的功能(3D结构),用传统观测方法(冷冻电镜:将蛋白质冷冻,用电子显微镜从各角度观测,然后还原3D结构),我们需要数月数年才能了解一个蛋白质的结构。

AlphaFold 1的预测精度没有达到原子级别:对某个氨基酸位置的预测和实验测量的差距不在一个原子级别大小内。AlphaFold 2在CASP14(科学家将每两年内实验测量的新蛋白质结构用于该比赛的评估)中出现,并达到了原子级别。
fig01

  • a:竞赛方法对比,AlphaFold 2具有更低的偏差。b:模型预测与实验观测的对比。c:用碳原子进行比较,碳原子的大小是1.5A。d:大型蛋白质的预测和实验对比。

AlphaFold 2的架构如下:
fig02

  • 输入为人类蛋白质的氨基酸序列,序列中的每个点(正方形,圆形,三角形)表示一个氨基酸。输出为预测的每个氨基酸在3D空间中的位置。

AlphaFold 2分为3个部分:特征提取,编码器,解码器。

对于特征提取,包括:

  • 序列的特征:首先人类的序列被直接copy,同时进入genetic database搜索类似的序列(寻找有相似片段的蛋白质),比如找到了来自鱼类,兔子,鸡的序列。我们将它们拿出来作为MSA(multiple sequence alignments,多序列比对,两序列尽可能多地对齐相同氨基酸)。
  • 氨基酸之间的特征:另一个特征是氨基酸之间的关系,我们知道,蛋白质折叠是氨基酸原子之间的相互作用,因此,我们在pairing中显式表示每两个氨基酸之间的关系。比如图中蛋白质长度为6,因此得到6×6的表,最开始,表中元素可以是序列视角上的距离,我们希望通过网络推理最终得到3D空间中的氨基酸之间的距离。同时,我们进入structure database(现有已知的蛋白质结构)进行搜索,得到很多个可能的距离模板。

对于编码器,输入为两个3D的张量:

  • 对于MSA张量,s代表序列的数量,包括s-1个相似的序列。r表示每个蛋白质序列包含r个氨基酸。c则表示每个氨基酸被表示为长度为c的向量。
  • 对于pair张量,则为 r×r 的表,每个元素是长度为c的向量,作为氨基酸之间的距离embedding。
  • 两个张量输入Transformer变种Evoformer,Transformer是处理序列之间的关系,不能处理2D之间的关系,另外由于输入的是两个不同的张量,也不能用Transformer处理。

编码器经过信息流动,切片输出人类氨基酸的序列编码,形状为r×c,以及pair的表示。

解码器基于编码器的两个输出,得到3D结构信息。AlphaFold 2还包括回收机制,将编码器输出和解码器输出回收到编码器输入。注意回收机制不是循环神经网络,循环神经网络是允许梯度在回收路线上传播的,但AlphaFold不允许梯度在回收路线上传播

下面详细了解编码器的架构,下面是Evoformer中一个block的结构:
fig3

MSA序列信息首先被按行处理(对应s),然后按列处理(对应r),Transition用MLP实现非线性变换。Outer product mean实现MSA与pair的信息融合。

对于解码器,首先了解蛋白质的3D结构表达。
fig4
最简单的方式就是将每个原子在3D空间中的坐标记录下来,也就是三个值,我们只要对每个原子预测三个值就行。但是我们要知道,我们将蛋白质在3D空间中旋转,位移都不会影响其结构,但会改变绝对位置中坐标的值。因此,我们需要使用相对位置。如上图所示,蛋白质实际上是氨基酸连接的序列,我们只要记录上一个氨基酸相对下一个氨基酸的位置(旋转角度,相对距离),根据每个氨基酸的相对位置,我们就能还原出蛋白质的3D结构。

fig5
解码器首先预测主干的形状(backbone frame),然后预测主干上枝叶的旋转和距离,得到氨基酸序列的3D结构。


训练
fig6
训练的主要损失函数为FAPE,根据预测出的刚体变换信息,可以还原蛋白质的3D结构,图中绿色为预测出的结构,灰色为真实结构。将预测原子位置(图中xix_{i}xi)和真实原子位置相减得到距离。距离越大,FAPE越大。

另外还有一个训练策略(noisy student),模型先在PDB上有监督学习,然后用于更大的无标签数据上推理,取出预测置信度高的结构加入噪声(比如数据增强)作为新的有标签数据,从而扩大训练数据的规模。


相关文章:

AlphaFold 2 处理蛋白质折叠问题

蛋白质是一个较长的氨基酸序列,比如100个氨基酸的规模,如此长的氨基酸序列连在一起是不稳定的,它们会卷在一起,形成一个独特的3D结构,这个3D结构的形状决定了蛋白质的功能。 蛋白质结构预测(蛋白质折叠问题…...

问卷调查会遇到哪些问题?怎么解决?

提到问卷调查我们并不陌生,它经常被用作调查市场、观察某类群体的行为特征等多种调查中。通过问卷调查得出的数据能够非常真实反映出是市场的现状和变化趋势,所以大家经常使用这个方法进行调查研究。不过,很多人在进行问卷调查的时候也会遇到…...

量化选股——基于动量因子的行业风格轮动策略(第1部分—因子测算)

文章目录动量因子与行业轮动概述动量因子的理解投资视角下的行业轮动现象投资者视角与奈特不确定性动量因子在行业风格上的效果测算动量因子效果测算流程概述1. 行业选择:申万一级行业2. 动量因子选择:阿隆指标(Aroon)3. 测算方法…...

工作常用git命令

修改hard:git reset --hard md5git push -f合并多次commitsgit rebase -i HEAD~4git push -f冲突文件被覆盖冲突文件被覆盖了,可以用git checkout commitId /path来快速把一个或一些文件还原会之前的提交,重新commit ,merge一次删除分支git b…...

test3

数据链路层故障分析 一、网桥故障 a.主要用途简述 网桥作为一种桥接器,可以连接两个局域网。工作在数据链路层,是早期的两端口二层网络设备。可将一个大的VLAN分割为多个网段,或者将两个以上的LAN互联为一个逻辑LAN,使得LAN上的…...

领证啦,立抵3600,软考证书到手后还有很多作用

2022年下半年软考合格证书发放在2023年2月-3月进行,目前已有多个省市开始发证了,比如上海、江苏、辽宁、浙江、山东等地。还没收到领证通知的考生也不要着急,可以关注当地软考办通知。 拿到证书的朋友可以去申请入户,职称评聘&am…...

响应式布局之viewport-超级简单

之前文章CSS布局之详解_故里2130的博客-CSDN博客 上面的文章可以实现响应式布局,根据浏览器的大小变化而变化,但是相对于viewport来说,之前的还是有点复杂,而使用viewport更加的简单。 当我们使用amfe-flexible的时候&#xff0…...

分布式计算考试资料

第一章 分布式系统的定义 分布式系统是一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递信息进行通信和动作协调的系统。分布式系统的目标 资源共享(resource sharing) 一些计算机通过网络连接起来,并在这个范围内有效地共享资源。 硬件的共…...

Java修饰符和运算符,超详细整理,适合新手入门

目录 一、访问控制修饰符 1、访问权限 二、运算符 1、算术运算符 2、关系运算符 3、逻辑运算符 4、赋值运算符 5、三元运算符 一、访问控制修饰符 Java 支持 4 种不同的访问权限: private 私有的 protected 受保护的 public 公共的 default 默认 1、…...

软件功能测试包含了哪些测试项目?功能测试报告收费标准

一、软件功能测试是什么? 软件功能测试是测试人员通过执行功能测试用例逐步验证软件产品各项功能是否达到预期需求的测试过程。也是俗称的“点点点测试”,这是基础性的测试类型,软件产品的功能直接影响到用户体验,所以软件功能测试意义重大…...

Netty 学习笔记——概念篇

Netty Home Netty GitHub Netty简介 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个…...

元宇宙开始告别以资本为主导的野蛮生长,新的竞争格局和态势将形成

欲要成为这样一场洗牌的胜利者,元宇宙的玩家需要真正站在商业的角度,而非资本市场的角度来看待元宇宙,来寻找元宇宙的正确的发展模式和方法。原因在于,在这样一场洗牌过程当中,仅仅只是对于以往以资本为主导的发展模式…...

MySQL 5:MySQL视图

View(视图)是一个不存在的虚拟表。 其实质是根据SQL语句获取动态数据集并命名。 用户只需要使用视图名就可以获取结果集,并作为表来使用。数据库中只存储了视图的定义,不存储视图中的数据。 这些数据存储在原始表中。当使用视图查…...

中国干细胞医疗行业市场规模及未来发展趋势

中国干细胞医疗行业市场规模及未来发展趋势近年来,中国干细胞医疗行业发展迅速,市场规模不断扩大,发挥着越来越重要的作用。根据最新统计数据显示,2018年,中国干细胞医疗行业市场规模达到1242.6亿元,比上一…...

SpringBoot日志文件

日志有什么用? 1)快速的排查和定位问题,直接看报错信息; 2)进行记录用户登录的信息记录业务功能日志方便分析用户是正常登录还是暴力破解用户; 假设我们在这个登录程序中没有写反暴力破解的机制,比如说用户输入密码六次…...

R语言读取Excel表格数据并绘制多系列柱状图、条形图

本文介绍基于R语言中的readxl包与ggplot2包,读取Excel表格文件数据,并绘制具有多个系列的柱状图、条形图的方法。 首先,我们配置一下所需用到的R语言readxl包与ggplot2包;其中,readxl包是用来读取Excel表格文件数据的&…...

【操作系统】操作系统IO技术底层机制和ZeroCopy

1.DMA技术详解 (1)应用程序 从 磁盘读写数据 的时序图(未用DMA技术前) (2)什么是DMA 技术 (Direct Memory Access) 直接内存访问,直接内存访问是计算机科学中的一种内存访问技术。…...

给你的边框加点渐变

目录前言border-imageborder-image实现background父子divbackgorund一个div一个伪元素background-clip🧨🧨🧨 大家好,我是搞前端的半夏 🧑,一个热爱写文的前端工程师 💻. 如果喜欢我的文章&…...

【目标检测】如何使用Yolov8

如何使用Yolov8一、前言二、用法2.1 安装2.2 使用方法2.3 模型2.3.1 目标检测2.3.2 实例分割2.3.3 分类一、前言 一种易于使用的新的对象检测模型。 由 Ultralytics 开发的 Ultralytics YOLOv8 是一种尖端的、最先进的 (SOTA) 模型: https://github.com/ultralyt…...

NVM安装、配置环境、简单使用

nvm 是Node.js 的版本管理工具,可以在同一台电脑上安装多个Node.js版本灵活切换。 安装# sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 其中0.39.0可以替换为当前最新的版本号。 配置环境变量# cd ~touch .bash_profile…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中&#xff0…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...