RoseTTAFold1
1、2D信息(MSA features与pair features)的相互更新
Embedding预处理后的
MSA features经过axial attention:学习row attention(残基方向-残基间关系),column attention(不同序列方向)
row attention:除了self-attention中的Q(query)、K(key)以外还有一个**W:**以表达序列匹配部分残基信息的重要性(减少未匹配部分的信息贡献)(类比AlphaFold中的gated mechanism,更直接高效)
受到CopulaNet的启发,MSA features被投影到低维后通过outer production捕捉残基间的联系,再依据序列的权重聚合,与加权平均后的MSA features和前面残基方向的attention map合并。合并后的张量经过2D卷积,更新为新的pair features。
更新后的pair features被对称化,又可以通过attention来更新MSA features。MSA和pair feature迭代更新。
2D track:
如此循环的更新可以让学习的共进化信号捕获能力提升,pair间的空间信息接近于真实。
2、RoseTTAFold的3D track模块
类似于2D track中的MSA features与pair features 的迭代更新。这里最新一步的三维结构提供的距离信息会以不同的cut-off做masked attention(只关注周围的残基信息),帮助MSA共进化信号的学习更新。
3D track部分pair features的更新方式与2D部分类似。
3、最终三维结构预测
RoseTTAFold最终的三维结构预测有两种方法可供选择:
1)推断得到的pair features(即distance map)作为约束交给py rosetta进行折叠,折叠15个构象并取最优的5个
2)由SE(3)-Transformer对骨架坐标迭代优化生成只有骨架的三维结构(end-to-end模型),直至达到收敛标准
RoseTTAFold还可以预测complex的结构,将不同蛋白的MSA融合,并在positional encoding时,给不同链residue number加上200,以提示模型存在不同链,其余流程基本与单体预测相同。(将不同蛋白的MSA融合,并对不同链的残基编号进行调整)
4、loss function
RoseTTAFold:
distance map的交叉熵、骨架坐标的RMSD以及Cɑ-lDDT得分(局部比对指标)
随着训练的进行,RMSD的权重会从0.05逐渐提升至0.2(其余项比重为1)
参数:130M,8个 32G V100 4weeks
碎碎念
1、RoseTTAFold1缺少侧链坐标的推断、AlphaFold2模块创新:如AlphaFold2中的triangular self-attention,Invariant point attention,AlphaFold2的网络模型明显具有更多的细节性trick(如msa与pair feature更新过程中的一些transition层设计、loss function的辅助项)
2、感觉Rosetta更倾向于AI模型,用自注意力机制和卷积网络结构的更新比较多,但AlphaFold2的方法可能更加复杂和专门化,运用了更少的“黑箱”,而不是去一味的相信ml的力量。
比如:AlphaFold2的使用triangular multiplicate和triangular self-attention以及RosettaFold中的2D track更新中,AlphaFold2处理三角关系时可能更加复杂和专门化,而RosettaFold的2D track可能更加通用,但可能在捕获复杂三角关系方面不如AlphaFold2精细。
3、关于旋转平移不变性:
RF:SE(3)-Transformer AF:Invariant Point Attention(不够直接)
4、关于3D结构预测:
RF:
- 方法1:使用预测的pair features(距离图)作为约束条件,通过pyrosetta进行蛋白质折叠。这里,选择最优的几个构象。
- 方法2:使用SE(3)-Transformer对骨架坐标进行迭代优化,直至收敛,形成仅包含骨架的3D结构(端到端模型)。
AF2:
- 使用残基片段和施密特正交变换建立局部3D坐标。
- 通过Invariant Point Attention(IPA)结合query sequence feature和pair features信息,实现局部坐标到全局坐标的转换。【RF2马上就用IPA做侧链预测任务了】
- 基于更新的query sequence feature进行位置约束和二面角预测的更新,最后预测全重原子蛋白结构。
能量最小化:预测结果会通过Amber99SB力场结合约束进行能量最小化。
5、关于loss
RoseTTAFold同时关注距离图的准确性(全局结构信息)、骨架坐标的准确性(主链结构)和Cα原子的局部结构对齐。
AF关注LFAPE(原子的局部坐标差异)、Laux(辅助项,包括torsion角度和Cα的FAPE(Frame Alignment Per-residue Error)))、Ldist(distance map的交叉熵)、Lmsa(序列补全的交叉熵),以及fine-tuning阶段的Lexpresolved(在实验中解析的模板中残基的预测)和Lviol(化学键是否clash(比如原子不可能接近))。
兼具局部性和全局性。
【RF2比AF2晚一些,很明显借鉴了AF2,比如loss,比如recycling(将一个网络传递的输出输入到下一个网络,每个训练样本使用随机数量的再循环作为pretrain),比如使用蒸馏数据,即将高置信度的网络输出作为新的训练样本】
RoseTTAFold2
侧链预测模块几乎与AF2的实现完全相同,除了SE(3)-Transformer,而不是用AF2的IPA,RF2产生了两个向量(l1)特征,用于计算主链更新,以及32个标量(l0)特征,从中可以计算侧链构象。
Training
分两阶段训练:
对于异聚训练,我们提供接触链的网络对,并让模型恢复其特定的二聚体构象;
对于同聚训练,我们提供了链的两个副本,并且模型恢复了生物组装中存在的任何二聚体构象(例如,对于 D2 对称同聚体,模型在恢复双折叠界面时是正确的,反向传播拉向两者更接近)
RoseTTAFold All-Atom
很多需要结合蛋白和小分子的任务的架构都会更倾向将原子作为输入(比如unimol)
RFAA在预测蛋白质-小分子复合物时,除了预测蛋白的主链和侧链外,还预测了小分子的结合位置。
模型框架
模型框架类似于RF2【可以说是一模一样】
区别:
输入:区别各类原子、区别键和距离(比如蛋白:残基1→残基2,but小分子原子1可能指向原子9)
loss:需要适用于小分子的损失函数(RF和AF对于蛋白的损失都是基于残基符合N-Cα-C框架,但小分子没有)
结构更新:需要更新小分子原子的正确位置
3D输入在小分子层面要提供分子手性作为输入特征(1D,2D手性不变)
网络架构
**输入:**1D、2D 和 3D 输入
**结构预测任务:**图推理问题,目标是在图中找到边(欧氏距离)——SE3、l1,l0
**输出:**三个tracks的predicted coordinates, confidence measures, the latent embeddings。
**具体输出:**xyz(主链坐标)、sc_torsions(侧链扭转角)——用于构建完整的原子坐标
the embedding stage(将输入特征(MSA、配对和模板)嵌入到不同的维度——涉及编码)
the simulator stage(通过三个并行Track(1D 序列、2D残基对相互作用和3D细化空间结构)进行结构推断和动态模拟的过程,生成一个符合物理规则和生物化学信息的三维结构)
the refinement layers(在最终的3-track块中使用MSA、配对嵌入和主链坐标生成更新的主链和侧链坐标,减少原子间的不合理接触(碰撞)并且使键长和键角更加精确)【主要是设计loss】
- Rosetta Leonard Jones势能函数的梯度:原子和蛋白质残基不发生冲突。
- 图不完全连接,反映了局部相互作用而非需要完全连接更新的全局运动。
Recycling:和RF2一致,为了将之前传递给网络的潜在特征提供给未来的迭代
三个特征:msa(1D track特征)、pair(2D track特征)和state(3D track节点特征)
一维轨迹更新(1D Track Update)
- 与RF2中的一维轨迹更新相同。
- pair特征经过LayerNorm,然后添加径向基函数(64 bins, 0.5 Å increments, standard deviation=0.5)的嵌入,这是从预测坐标计算得到的距离。
- state特征经过LayerNorm后嵌入。
- msa嵌入的第一行(代表查询序列嵌入)使用嵌入的state特征进行更新。
- 使用pair特征的偏差进行行注意力更新,然后计算列注意力来更新msa特征。
二维轨迹更新(2D Track Update)
- 与RF2中的二维轨迹更新相同。
- pair特征通过TriangleMultiplicationOutgoing和TriangleMultiplicationIncoming更新,每个更新的dropout概率为0.25。
- 应用RF2中的结构偏见轴向注意力。
- 使用径向基函数进行高斯模糊,将Cα坐标(或核酸的P,原子节点的原子)之间的距离分桶。
- 这个分桶分布被嵌入以匹配pair维度中的通道数。
- 使用两组不同权重嵌入state特征,并计算嵌入的外积。
- 行和列注意力用于pair特征,坐标偏差被添加到注意力权重中。
- 最后,使用前馈层更新块中的最终pair表示。
三维轨迹更新(3D Track Update)
- RFAA与RF2最大的不同在于三维轨迹更新。
- 目标是使用一维和二维轨迹的特征来预测复杂体的坐标。
- 类似于RF2,采用SE(3)-Transformer架构,该架构通过将特征投影到球谐函数形成的基中,保证在旋转和平移群上的等变性。
- SE(3) Transformer是一个图神经网络,接收每个节点的节点特征和每对连接节点的边特征,并在它们之间聚合特征。
- 该架构使用张量积混合ℓ0(标量特征)、ℓ1(向量特征)和更高阶的ℓ特征,并能为每个节点预测任意阶的ℓ特征。
- 详细描述了如何为每个建模节点制定ℓ0和ℓ1特征以及节点间的边特征。
notes:
SE3-Transformer的node和vector features感觉像模拟力
用到了蛋白-蛋白和蛋白-小分子相互作用的相似性
技术细节
1、Chirality Input
相当于用了一个autograd的函数解决二面角方向问题
2、共价修饰的预测(目的:不知道残基中哪个原子与哪个原子有相同的键合)
1、“Atomize” residue
2、显示共价键绑定特征(one-hot编码)
3、指出“Atomize”的残基在多肽中的序列位置
相当于预测相互作用,对侧链的预测有帮助
【很有意思的一点是他把这个残基级别的任务用原子级别实现了】
loss
**借用AF的FAPE:**1、给分子成对的梯度;2、包含了分子的手性
以下是AF用的FAPE:
在N-Cα-C框架对三角形对齐
但小分子没有N-Cα-C
对于小分子Clash loss:
一种思路:生成键角的方式(3种)设计一个损失
但是RFAA想要一种更为确定性的一个loss,根据键几何形状为每个原子选择一个局部框架:
每个原子都设定了一个主干框架(每个原子都能成为更多原子的一部分)
等价原子排序、掩码恢复、扭转角损失、距离图损失(和RF之前一样,不赘述)
Dataset
train on PDB biounits + UniRef50 models
1、Protein-Only:PDB、AlphaFold2 (AF2) distillation set <4.5Å
2、Nucleic Acid:RF-NA训练集(已开源:7,396 个 RNA 链和 23,583 个复合物)
3、Small Molecule:PDBBind、BioLip
4、CSD
5、Negative Datasets:蛋白(随机配对链,评估单链损失)、核酸(突变碱基)
参考文献
RF:https://www.science.org/doi/10.1126/science.abj8754
RF2:
Efficient and accurate prediction of protein structure using RoseTTAFold2 | bioRxiv
RFAA:Generalized Biomolecular Modeling and Design with RoseTTAFold All-Atom | bioRxiv
转载请注明出处,谢谢大家,AI4S小白,欢迎讨论。