1、背景
蛋白质是生物体内一类重要的生物大分子,其结构复杂多样,蛋白质的结构对于理解其功能和参与的生物学过程具有重要意义。从生物学角度上看,蛋白质的结构可以分为四个层次:初级结构、二级结构、三级结构和四级结构。
-
初级结构:初级结构是蛋白质的氨基酸序列,即蛋白质由多个氨基酸按照特定的顺序连接而成。氨基酸是蛋白质的基本组成单位,共有20种常见氨基酸,它们的不同排列形成了蛋白质的初级结构。
-
二级结构:二级结构是蛋白质中局部区域的空间排列方式。常见的二级结构包括α-螺旋和β-折叠。α-螺旋是由多个氨基酸沿着螺旋状排列而成,而β-折叠是由氨基酸链的不同区域之间的相互作用形成的折叠结构。
-
三级结构:三级结构是整个蛋白质分子的空间结构。这个结构由蛋白质的二级结构在整个分子中的排列和折叠所决定。各种相互作用力,如氢键、离子键、范德华力和疏水效应等,参与了蛋白质分子的三级结构的稳定。
-
四级结构:四级结构是由多个蛋白质分子相互组合而成的复合体,通常称为蛋白质的多聚体。多个蛋白质分子通过各种力和作用结合在一起,形成功能更为复杂的生物大分子。
其中初级结构一般可以通过Edman降解法和质谱法进行确定,而二级结构及三级结构通常需要如X射线晶体学、电镜等高度专业的设备和技术来确定,其需要极高人工及金钱成本。而AlphaFold通过深度学习技术解决蛋白质的二级结构及三级结构的预测问题,极大地提高了蛋白质结构解析效率,因此也被认为是诺奖级跨时代的工作。
2、特征输入
前文我们提到,AlphaFold根据深度学习技术,通过输入蛋白质一级结构来解析二级结构及三级结构,而一级结构为一组蛋白质氨基酸序列,但是AlphaFold的特征并不只是输入蛋白质氨基酸序列,而包含了多种相关信息。
-
单氨基酸序列target_feat:其中f为21维氨基酸的one-hot向量(20种常见氨基酸+1种未知默认),r表示序列长度
-
氨基酸序列标号residue_index:
-
同类MSA特征msa_feat:MSA特征主要表示同类特征,表示同类的数量,r表示序列长度,表示聚类特征长度
-
非同类MSA特征extra_msa_feat
-
氨基酸序列交互特征template_pair_feat:主要用于反映氨基酸序列中各氨基酸之间的位置关系特征
-
氨基酸序列交互特征template_angle_feat:主要用于反映氨基酸序列中各氨基酸本身残基的角度关系。
上述所有特征再经过一个特征预处理模块,得到最终融合的MSA representation特征及Pair representation特征进入后续的编解码过程。
3、模型输出
AlphaFold的输出包含了两个部分,一个是氨基酸本身的在三维空间的旋转方向关系一般通过3x3的矩阵来表示,另一个是氨基酸之间的空间关系可以用一个三维向量表示,因此根据数学关系,一个氨基酸在蛋白质结构中的旋转+空间位置关系也可以通过3+3的六维向量整体表示,由于刚体空间结构不变性,从空间某个指定位置开始,已知下一个氨基酸同上一个氨基酸的空间位置关系,就可以组成整个序列的空间结构,因此整体的蛋白质做旋转或者位移,不会对变换系数产生影响。
4、模型结构
AlphaFold的模型结构分为了两个部分,分别是Encoder模块和Decode模块,在Encoder模块主要是生成蛋白质的氨基酸序列的新特征表示,而Decode模块输出蛋白质中各氨基酸的相对的旋转+空间位置关系。
4.1 Encoder模块
4.1.1 行列门控attention模块
self-attention是一种高效的序列特征抽取器,而一般的attention组件只能支持二维向量,而AlphaFold通过两组attention模块分别抽取行列维向量叠加从而实现了三维的attention抽取器。
此外引入了一个门控组件,其通过一个简单的线性网络来控制行列信息的引入,添加该组件的一个可能原因是因为MSA是通过某种先验的聚类方法来生成的,不同蛋白质之间并不像语句具有较强的信息关系,因此通过门控来排除干扰信息是有必要的。
4.1.2 MSA Transition
MSA Transition模块类似于Transformer结构中的attention之后FC网络。
4.1.3 Outer product mean
该模块主要通过根据MSA特征来计算不同氨基酸之间的相关性特征,其会同通过template计算的初级的相关性特征进行融合,之后还会经过多层结构,得到更为深层次的氨基酸对之间的相关性特征表示。
4.1.4 三角乘法更新模块
如果说上面的Outer product模块建立了不同氨基酸之间的直接关系,通过三角乘法更新模块主要建立了两个氨基酸之间的间接关系,其通过了两个行列不同方向模块来建模两种不同的关系流向。
4.1.5 Pair行列门控attention模块
其同4.1.1 行列门控attention模块是类似的,是三维的attention模块实现
4.2 解码器
解码器中的主要结构为不动点注意力模块(IPA),对于下图所示的IPA模块,如果我们只看红色部分,其是一个典型的attention模块,IPA模块最大的特色是其整合了三部分的特征:
-
目标蛋白质的氨基酸特征表示序列
-
氨基酸对间的特征表示序列
-
叠加空间位置变换后的氨基酸特征
其中第三部分叠加空间位置变换后的氨基酸特征(绿色部分)也是为什么被称为 IPA (Invariant point attention)的原因,因此理论上可以不需要该部分直接输出结果。
因为模型需要输出是同整体全局变换无关的氨基酸之间的相对关系,而如果直接生成时,整体全局变换可能会影响到输出结果。因此其考虑到两个基本几何变换原理。
-
计算两个点之间的L2距离时,对点坐标做同样的全局变换后L2距离不变。
-
在做多次空间变换时,全局变换和全局逆变换之间的作用可以抵消。
通过每个模块产出的空间位置变化,进行重复的加强叠加,最终可以消除全局变换的影响,有点类似于ResNet的效果
5、模型训练
5.1 损失函数
主要损失函数为FAPE损失(Frame aligned point erro),实际是衡量氨基酸的预测位置和真实位置之间MSE损失。
5.2 训练方法
-
自蒸馏学习:先在PDB有label的数据集上训练一个模型,然后去预测一个更大的没有label的数据集,将其中预测比较置信的数据筛选出来,和之前有label的数据拼成一个更大的数据集,再重新训练一个模型,这样循环训练多次,达到充分利用数据的目的。在扩充没有label的数据集的时候,会有一些加噪声的细节,例如对预测的label做一些扰动。
-
自监督学习:类Bert训练,在MSA序列特征随机屏蔽mask或变换一些氨基酸元素,然后像Bert一样去预测这些元素,在训练的时候加上这个任务会对整个序列建模的效果起到更好的作用。