AlphaFold 2 处理蛋白质折叠问题

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

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

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

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

  • a:竞赛方法对比,AlphaFold 2具有更低的偏差,纵轴的单位为A,AlphaFold2已经做到了1A的误差。b:模型预测与实验观测的对比。c:用碳原子进行比较,碳原子的大小是1.5A。d:大型蛋白质的预测和实验对比。

AlphaFold 2的架构如下:
fig02

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

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

对于特征提取,包括:

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

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

  • 对于MSA张量,s代表蛋白质序列的数量,第一个是待预测的蛋白质序列,其余s-1是MSA匹配到的那些相似序列。r表示每个蛋白质序列包含r个氨基酸。c则表示每个氨基酸被表示为长度为c的向量。
  • 对于pair张量,前两维的形状为 r×r ,表示氨基酸和氨基酸之间的联系,每个氨基酸是长度为c的向量,所以Pair张量的形状为 r×r×c,用于作为氨基酸之间的距离embedding。
  • 两个张量输入Transformer的变体Evoformer,Evoformer和Transformer有两个不同的地方,Transformer可以处理1D序列之间的关系(序列中有一个个token,每个token被表示为embedding),不能处理2D矩阵之间的关系(2D矩阵中每个元素是一个patch embedding),另外由于输入的是两个不同的3D张量,也不能用Transformer直接处理。
  • 经过Evoformer计算后,输出的两个3D张量形状没有改变,但是其中每个元素即氨基酸的embedding,已经很好的表示了每个氨基酸的feature以及两两氨基酸pair之间的关系。

解码器基于编码器的两个输出,具体来说,是MSA张量里面待预测的那个人类氨基酸序列的表示(形状为r×c),以及氨基酸pair张量(形状为r×r×c),经过Structure module得到3D结构信息(预测每个氨基酸在3D空间中的位置)。

AlphaFold 2还包括回收机制,将编码器输出和解码器输出回收到编码器输入。注意回收机制不是循环神经网络,循环神经网络是允许梯度在回收路线上传播的,但AlphaFold不允许梯度在回收路线上传播。因此,单次梯度计算是经过解码器的8个block和编码器的48个block就完成了。图中回收机制是3次,前向计算规模上是把模型扩展到了原来的4倍,并且单次回收后的前向计算中,模型参数不变。

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

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

Outer product mean的流程如下:
figs1
本质是将MSA表示转为Pair的表示,然后与原来的Pair信息相加,所以确保Pair张量形状没有改变。

然后是Paire处理的分支,由于Pair表示元素对,需要满足一些物理关系,比如三角不等式关系(在计算注意力时候需要遵循三角关系),以Triangle self-attention around starting node为例:
alg13
在这里, z i j \textbf{z}_{ij} zij是氨基酸 i i i j j j组成的pair表示(Pair的第 i i i行第 j j j列),首先对这个表示进行LayerNorm,然后投影出query,key,value,额外的,还要投影出偏移 b i j b_{ij} bij和门 g i j \textbf{g}_{ij} gij。around starting node类似于之前MSA分支中的按行做自注意力,即,把 q i j \textbf{q}_{ij} qij与所有这一行(第 i i i行)里的其他元素对应的key做内积,就能得到自注意力分数。

在这里,三角形的物理意义体现:

  • 在计算注意力时,涉及三个氨基酸, i , j , k i,j,k i,j,k q i j \textbf{q}_{ij} qij表示的是氨基酸 i i i到氨基酸 j j j k i k \textbf{k}_{ik} kik表示氨基酸 i i i到氨基酸 k k k的一条边, b j k b_{jk} bjk表示 j j j k k k的偏移。因此有以下三角关系: i i i k k k的距离小于 i i i j j j,再 j j j k k k的距离。
    figxxx
  • 下图为三角形乘法更新和三角形自注意力图示。圆圈代表残基。被更新的边为 i j ij ij

figxxxxx

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

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


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

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


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值