1958年,F.H.C.克里克提出了生物学中一个重要的中心法则,DNA->RNA->蛋白质,中心法则说DNA可以转录形成RNA,然后一个一个翻译成氨基酸,最后结合形成蛋白质。透过中心法则不难看出,如果把DNA比作工业生产的设计蓝图,那么蛋白质就像是实现这个蓝图的工具,所以蛋白质是一切生命活动的基础,它参与了几乎所有的生命活动。生物过程,例如遗传、发育、繁殖等。对蛋白质的深入研究,将使我们能够在更深层次上解读生物体的组成和运作,进而全面揭示生命运行和发展的机制,促进生物科学、药物研发、合成生物学等领域的发展。、酶学等领域。由于探索生物体内各种蛋白质的功能和机制是当前蛋白质研究的主要内容,也是后基因组时代生命科学领域的主要研究热点之一。蛋白质的功能很大程度上取决于蛋白质的结构,因此如何破译蛋白质的三维结构成为科学家研究的重点。AlphaFold2的诞生近年来,随着人工智能技术的发展,深度学习等相关技术也开始应用于蛋白质结构预测领域。2018年CASP13(国际权威蛋白质结构预测大赛,每两年举办一次),谷歌DeepMind团队的AlphaFold得分超过70分,击败众多研究团队,获得人工组第一名,实现里程碑本场作风进步。在2020年的CASP14上,GoogleDeepMind团队的AlphaFold2以惊人的92.4分高居榜首[1]。突破。92.4的分数是指GDT_TS分数92.4对竞争目标蛋白的预测准确率。一般认为评分超过90分,基本可以代替实验法。这也意味着AlphaFold2的预测结果与实验得到的蛋白质结构基本一致。2021年7月15日,DeepMind团队在国际顶级期刊《Nature》上发表论文,详细描述了AlphaFold2的设计思路,并提供了基于JAX的模型和可以运行的代码[2]。考虑到JAX的受众偏向于专业的AI科学计算研究人员,而Paddle社区目前还没有蛋白质结构预测相关的开源项目,百度PaddleHelix生物计算团队基于Paddle的深度学习框架,复现了AlphaFold2模型并将其提供给公众。被Paddle开发者用来帮助大家快速上手蛋白质结构预测。https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/paddlefoldAlphaFold2算法设计思路AlphaFold2首次通过独特的神经网络和训练过程设计端到端地学习蛋白质结构。整个算法框架通过蛋白质多序列比对(MSA)和氨基酸成对(pairwise)表示的协同学习,将蛋白质序列的进化信息、蛋白质结构的物理和几何约束信息结合到深度学习网络中。我们将从数据预处理、Evoformer和StructureModule这三个模块来分析AlphaFold2算法的设计思路。来自:AlphaFold2论文数据处理在预测蛋白质结构时,AlphaFold2会利用氨基酸序列信息在蛋白质库中搜索多序列比对(MSA)。MSA可以反映氨基酸序列中的保守区域(即不易产生突变)。这些保守区域与蛋白质的结构密切相关。例如,它们可能折叠在蛋白质的内层,不易与外界相互作用,因此不易受到影响。突变。在AlphaFold2的数据预处理中,为了减少模型计算量,首先对MSA中的序列进行聚类,将每个类别中心的序列作为MSA的主要特征。除了MSA之外,AlphaFold2的另一个重要输入是氨基酸成对的特征。作为主MSA的补充,Alphafold2会随机采样非聚类中心的序列作为额外的MSA输入到4层网络中提取pairwise特征,然后将模板中提取的pairwise特征相加得到最终的pairwise特征。主要的MSA特征和成对特征通过48层Evoformer融合。EvoformerEvoformer网络设计动机是利用Self-Attention机制学习蛋白质的三角几何约束信息,同时让MSA表示带来的协同进化信息和pairwise表示的结构约束信息相互作用,使得模型可以直接推断出空间信息和演化信息的联系。来自:AlphaFold2论文StructureModuleStructureModule承担的任务是将Evoformer得到的表征解码成蛋白质中各个重原子(C,N,O,S)的坐标。为了简化从神经网络预测到原子坐标的转换,AlphaFold2结合了蛋白质中20种氨基酸的结构特性,将重原子分成由不同二面角确定的组。氨基酸的面角和已知的键长和角度信息用于解码原子坐标。与直接预测坐标(x,y,z)相比,这种结构编码方式大大减少了神经网络的预测空间,使得端到端的结构学习成为可能。赖氨酸旋转角编码方法举例:蓝色平面(C,Cα,Cβ)确定后,根据预测的蓝紫色平面二面角χ1和已知的C-C键长,得到Cγ-Cβ-N键角可以确定Cγ的空间坐标,重复类似的步骤就可以得到Cδ、Cε、N等重原子的坐标。使用基于飞桨框架的AlphaFold2(AF2)再现了完整的推理部分基于飞桨框架的AlphaFold2,现已在螺旋桨PaddleHelix平台正式开源:https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/paddlefold,感兴趣的朋友可以安装使用,以及在此基础上,优化自己的蛋白质结构预测模型。1.安装可通过pip安装的Python依赖项在requirements.txt中提供。另外,(基于飞桨框架的AF2还依赖了两个只能通过conda安装的工具包:openmm==7.5.1和pdbfixer。为了得到多序列比对MSA,还需要安装kalign,HH-suite和jackhmmer。下载数据的脚本需要aria2c。提供脚本setup_env,可以设置conda环境,安装所有依赖。运行:shsetup_envcondaactivatepaddlefold#激活conda环境你也可以更改环境名称和CUDAversioninsetup_env.2.Usagefor基于飞桨框架运行AF2同样需要蛋白质序列数据库和模型参数,基于飞桨框架的AF2使用的模型参数与AlphaFold2相同。您可以使用脚本scripts/download_all_data.sh下载并设置所有数据库和模型参数。运行:scripts/download_all_data.sh
