AlphaFold 2 处理蛋白质折叠问题

news2024/9/23 17:25:32

蛋白质是一个较长的氨基酸序列,比如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结构,图中绿色为预测出的结构,灰色为真实结构。将预测原子位置(图中 x i x_{i} xi)和真实原子位置相减得到距离。距离越大,FAPE越大。

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


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

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

相关文章

Android 一体机研发之修改系统设置————屏幕亮度

Android 一体机研发之修改系统设置————屏幕亮度 Android 一体机研发之修改系统设置————声音 Android 一体机研发之修改系统设置————自动锁屏 前言 最近工作略微有点儿空闲,抽空给大家总结一下:近期一直搞得一体机app研发,适用…

recv和明文收包分析

我们CTRLg 跳到recv 分析收包函数 发现函数会断并且收包函数返回值(收包包长)也会不断变化 那么证明recv是真正的收包函数,游戏没有重新实现该函数 我们只要分析该函数即可 在recv函数执行完毕以后下断 eax是包长,esi28是包指针 我们上2个号,让另外…

项目(今日指数之环境搭建)

一 项目架构1.1 今日指数技术选型【1】前端技术【2】后端技术栈【3】整体概览1.2 核心业务介绍【1】业务结构预览【2】业务结构预览1.定时任务调度服务XXL-JOB通过RestTemplate多线程动态拉去股票接口数据,刷入数据库; 2.国内指数服务 3.板块指数服务 4.…

清晰理解并解决二分问题

文章目录二分问题常规解法:使用CSTL自带算法解决二分问题:小数二分二分问题常规解法: 二分问题注意事项: 题目可能无解,但二分一定有解(也就是二分问题会得到一个结果,但是该结果可能不符合题目…

RabbitMQ-集群

一、搭建1、创建三个虚拟机2、修改三台主机的hostname,分别为node1,node2,node3,分别重启vi /etc/hostname reboot3、配置各个主机的hosts文件,让各个节点都能互相识别对方vi /etc/hosts #添加下面配置 192.168.xxx.165 node1 192.168.xxx.167 node2 192.168.xxx.16…

Django by Example·第三章|Extending Your Blog Application@笔记

Django by Example第三章|Extending Your Blog Application笔记 之前已经写过两章内容了,继续第三章。第三章继续对博客系统的功能进行拓展,其中将会穿插一些重要的技术要点。 部分内容引用自原书,如果大家对这本书感兴趣 请支持原版Django …

基于模块联邦的微前端实现方案

一、 微前端应用案例概述 当前案例中包含三个微应用,分别为 Marketing、Authentication 和 Dashboard Marketing:营销微应用,包含首页组件和价格组件 Authentication:身份验证微应用,包含登录组件 Dashboard&#x…

B站发帖软件哪个好用?好用的哔哩哔哩发帖工具

B站发帖软件哪个好用?好用的哔哩哔哩发帖工具#发帖软件#哔哩哔哩发帖#视频发布软件 登录成功之后,进入到这样一个界面,默认情况下是这个样子的,我们在这里输入一下我们的一个文件夹的路径,输入到这里,点击添加账号&a…

kettle开发-Day36-循环驱动作业

前言:在日常数据处理时,我们通过变量传参来完成某个日期的数据转换。但可能因程序或者网络原因导致某个时间段的数据抽取失败。常见导致kettle作业失败的原因大概分为三大类,数据源异常、数据库异常、程序异常。因此面对这些异常时&#xff0…

Not available OpenAI s services are not available in your country.

一、准备阶段 1、邮箱账号(qq、网易、谷歌等等) 2、你能够科学上网(下边详细介绍) 3、拥有一个GW手机号,用于接收注册验证码。(下边详细介绍) 二、开始注册 1、官方注册网址https://beta.openai.com/signup(按照步骤注册&am…

RDSDRDSPolarDBPolarDB-X的区别

RDS 阿里云关系型数据库(Relational Database Service,简称RDS),是一种稳定可靠、可弹性伸缩的在线数据库服务。 基于阿里云分布式文件系统和高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和PPAS(Post…

在VScode终端上创建nuxtjs项目遇到的问题以及使用GitHub遇到的问题和一些个人笔记

文章目录📋前言💻关于GitHub打开慢或无法打开的问题💻克隆GitHub的项目到本地💻创建nuxtjs项目🧩无法加载文件的报错问题🧩使用vue init nuxt/starter demo出现的问题🧩另一种命令创建nuxtjs项目…

字符编码及转换

什么是字符编码字符编码(Character encoding)也称字集码,是把字符集中的字符,编码为指定集合中的某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储或者…

前端控制台出现 红色 的报错信息TypeError: fn.apply is not a function

项目场景: 提示:这里简述项目相关背景: 使用vue在原来的系统中 开发新的模块,开发时无意间发现 前端控制台出现 红色 的报错信息,但是页面依然还是正常 加载出来了 控制台一直报错 TypeError: fn.apply is not a fun…

09- 逻辑回归算法 (LogisticRegression) (机器学习)

基本概念: 逻辑回归主要逻辑是通过sigmoid函数进行分类, 当函数结果大于0时赋值1, 小于0时赋值0, 然后根据结果进行分类, 化简后求最小值的过程和线性方程类似, 该函数的特点是:分类算法 模型训练 : lr LogisticRegression() from sklearn.linear_model import LogisticRegr…

力扣39.组合总数

文章目录力扣39.组合总数题目描述方法1:深搜回溯力扣39.组合总数 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可…

【数据库】MySQL 单表查询,多表查询

目录 单表查询 一,创建表worker 1,创建表worker的sql代码如下: 2,向worker表中插入信息 二, 按要求进行单表查询 1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 …

【自学Python】Python字符大小写判断

大纲 Python字符串是否是小写 Python字符串是否是小写教程 在开发过程中,有时候我们需要判断一个 字符串 是否是小写形式(即,所有的字符都是小写字母,不是英文字符的忽略不做判断),在 Python 中&#xff…

SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查

在SAP/ERP项目的实施中销售管理模块(SD)的创建和修改销售订单必定会有输入字段校验检查的需求,来防止业务人员录入错误或少录入数据,SAP公司也考虑到这一点,所以这方面的配置功能也非常强大,通常情况下不需…

GraphQL vs REST API 架构,谁更胜一筹?

GraphQL vs REST API 架构,谁更胜一筹? Michele Moody 平川 万佳 2020 年 1 月 18 日 本文字数:2890 字 阅读完需:约 9 分钟 2015 年,Facebook 开源 GraphQL。此后,它在前端 Web 中大受欢迎。传统的 R…