AlphaFold 2 处理蛋白质折叠问题
蛋白质是一个较长的氨基酸序列,比如100个氨基酸的规模,如此长的氨基酸序列连在一起是不稳定的,它们会卷在一起,形成一个独特的3D结构,这个3D结构的形状决定了蛋白质的功能。
蛋白质结构预测(蛋白质折叠问题):输入氨基酸序列,预测3D结构。
目前,我们知道10万种蛋白质的结构,但是我们已知的蛋白质有10亿种,因此,我们只了解这10万种蛋白质的功能(3D结构),用传统观测方法(冷冻电镜:将蛋白质冷冻,用电子显微镜从各角度观测,然后还原3D结构),我们需要数月数年才能了解一个蛋白质的结构。
AlphaFold 1的预测精度没有达到原子级别:对某个氨基酸位置的预测和实验测量的差距不在一个原子级别大小内。AlphaFold 2在CASP14(科学家将每两年内实验测量的新蛋白质结构用于该比赛的评估)中出现,并达到了原子级别。
- a:竞赛方法对比,AlphaFold 2具有更低的偏差。b:模型预测与实验观测的对比。c:用碳原子进行比较,碳原子的大小是1.5A。d:大型蛋白质的预测和实验对比。
AlphaFold 2的架构如下:
- 输入为人类蛋白质的氨基酸序列,序列中的每个点(正方形,圆形,三角形)表示一个氨基酸。输出为预测的每个氨基酸在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的结构:
MSA序列信息首先被按行处理(对应s),然后按列处理(对应r),Transition用MLP实现非线性变换。Outer product mean实现MSA与pair的信息融合。
对于解码器,首先了解蛋白质的3D结构表达。
最简单的方式就是将每个原子在3D空间中的坐标记录下来,也就是三个值,我们只要对每个原子预测三个值就行。但是我们要知道,我们将蛋白质在3D空间中旋转,位移都不会影响其结构,但会改变绝对位置中坐标的值。因此,我们需要使用相对位置。如上图所示,蛋白质实际上是氨基酸连接的序列,我们只要记录上一个氨基酸相对下一个氨基酸的位置(旋转角度,相对距离),根据每个氨基酸的相对位置,我们就能还原出蛋白质的3D结构。
解码器首先预测主干的形状(backbone frame),然后预测主干上枝叶的旋转和距离,得到氨基酸序列的3D结构。
训练
训练的主要损失函数为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的时候࿰…...
分布式计算考试资料
第一章 分布式系统的定义 分布式系统是一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递信息进行通信和动作协调的系统。分布式系统的目标 资源共享(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…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...