赞
踩
Highly accurate protein structure prediction with AlphaFold(★ Nature)
AlphaFold 高精度预测蛋白质结构
paper:Highly accurate protein structure prediction with AlphaFold | Nature
code:https://github.com/deepmind/alphafold
注:这篇Nature的论文,如果光看正文,没法理解,需要结合它的补充材料一起看
蛋白质结构预测:给定某一个蛋白质的一串氨基酸序列,猜测这个蛋白质的3D结构是什么样子的 ?
现在的生物学可能需要很长的时间来具体了解一个蛋白质的结构:从不同的角度用显微镜来看它的结构。
AlphaFold 2的精度可以到达原子级别,实验室测得的(真实)位置和预测的位置之间的差距在原子大小的级别以内,模型使用了一定的生物学和物理学的知识,融合在深度学习里面
前作AlphaFold 1精度不够,这篇论文提出了AlphaFold 2
Transformer部分(也就是这里的evoformer)只起到不同元素(氨基酸)之间信息整合的作用,真正信息的提炼部分,是在decoder部分实现的
我对于回收机制的想法:
这个机制有一点类似RNN中把hidden state再传给下一轮的RNN。通过不断地利用上一轮学到的输出,来获得更好的输出结果(每一轮的输出可能精度有限,通过不断迭代获得更好的效果)
区别在于,这里只重用结构,但是不回传梯度。(就是说传回去的几个输出是detach了的输出)
——>和RNN重用结构相比,虽然计算时间上没有区别,但是内存上是有区别的(RNN的话,“回传”的hidden state的梯度也是需要记录在内存中的,但是这边回传的输出是不用记录梯度的)
大体流程和1.2.2 类似,区别在于,这里是按列来进行self-attention(同一个位置的氨基酸在不同蛋白质之中的权重)
(两个transition是一样的)
这个就是一个MLP
类似的,只是变成出边
注意:由于出边入边模块的先后问题,所以得到的矩阵不一定对称。
上图是之前的按行attention,下图是这里的attention,可以看到是很类似的
伪代码部分也基本一样,不过这里论文的意思是第五行(attention加权的部分)使用了一定的三角性质
表达蛋白质3D结构最简单的方法是记录每个元素的3D坐标。
蛋白质进行旋转/平移是不影响蛋白质结构的,但是如果用3D坐标的话,绝对位置会发生变化——>所以这里使用的是相对位置
蛋白质可以想成主干+支链:
主干点我们记为x,那么链上面任意一个点/主干的后一个点可以看成y=Rt+x
根据3*3的矩阵R做旋转
根据x做平移
更新骨干各点的s和T
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。