RoseTTAFold的学习心得

RoseTTAFold

1 特点

采用了三轨注意力机制,分别关注蛋白质的一级结构、二级结构和三级结构。再通过在三者之间加上多处连接,使整个神经网络能够同时学习3个维度层次的信息。

2 算法思路

以下为RoseTTAFold的大致框架结构,不同注意力轨道有多个连接允许网络同时学习序列、距离和坐标内部和之间的关系。

RoseTTAFold的学习心得_第1张图片

 

2.1  1D track:

首先cropped MSA(测试多个不连续的序列,删除一些较为不相关的序列)输入1Dtarck。之后用自注意力机制(attention)处理数据(Row Attention 和 Col Attention组合使用融合全局信息),如下图所示。

RoseTTAFold的学习心得_第2张图片

 

最终是基于pair features中编码的结构信息与MSA进行特征更新。

RoseTTAFold的学习心得_第3张图片

 

2.2 2D-track

将crooped sequence与Templates(从模板中获取对齐位置的两两距离和方向,以及1D的信息和标量特征)输入2D track。同样通过自注意力机制,具体过程如下。

RoseTTAFold的学习心得_第4张图片

 

1Dtarck和2Dtrack结果输入以Graph Transformer的架构作为初始的主干网络,从输入数据中中学习,输入为一个完全连接的图,而其中的节点表示蛋白质中的残基。

RoseTTAFold的学习心得_第5张图片

 

2.3  3D track

1Dtarck和2Dtrack结果输入3Dtrack。3Dtrack上半部分与1Dtarck和2Dtrack相似,但有Masked Attention(根据信息计算出的图谱,并根据不同截止点和Ca距离进行Mask,以便它只关注3D空间中相邻原子),也就是基于3D结构更新MSA,流程如下图。

RoseTTAFold的学习心得_第6张图片

 

用最新的MSA 和 3D Track中的pair features来细化3D(N、Ca、C)坐标。蛋白质图由Ca原子的节点定义,每个节点连接到k个近邻。N原子和C原子的位置通过将位移向量包含到对应对应的Ca原子作为一阶节点特征来编码。也就是预测Ca原子的位移以及N和C原子到更新的Ca位置的新位移矢量。同时提供了标量节点特征。使用多个SE(3)-Transformer层进一步细化这些坐标,并在SE(3)-Transformer层的末端,根据来自最终SE(3)-Transformer层的状态特征来评估残差的Ca-1DDT。

即以预测出的Ca-1DDT作为评分函数,以决定何时停止迭代并从所有结构中选择最终模型。

RoseTTAFold的学习心得_第7张图片

3 个人感想

虽然AlphaFold2相对RoseTTAFold准确率更高,但RoseTTAFold计算支出更少速度更快,声称只需要一块RTX2080显卡,就能在10分钟左右计算出400个氨基酸残基以内的蛋白质结构。使得计算支出大大降低。目前也有将两种算法结合进行蛋白质复合体预测并取得了不错的成就。但个人认为更加平民化的RoseTTAFold也许拥有更强的潜力。

同时由于相关资源较少以及个人原因,对于RoseTTAFold的学习相对没有AlphaFold细致。后面还要花更多时间对于论文进行仔细研读才能更好理解RoseTTAFold。

4 相关链接

RoseTTAFold论文链接:https://www.science.org/doi/10.1126/science.abj8754

RoseTTAFold开源地址:GitHub - RosettaCommons/RoseTTAFold: This package contains deep learning models and related scripts for RoseTTAFold

你可能感兴趣的:(算法)