Rosetta模型

Rosetta模型

1.介绍

从头预测,来源于拉丁文ab initio或de novo,严格的讲,这两者是有区别的,前者ab initio意思是from tlIe beginning,指基于第一性原则(6rst principles)而不依靠同源序列、数据库、二级结构等其它信息,仅靠一条蛋白质序列产生三维结构。后者de novo意思是from the new,是一个更宽泛的含义,指不需要PDB中的同源模板而是依靠对其他结构的观察来预测。

生物分子演化出了令人惊叹的本领,那就是它们可以由化学序列指导折叠成唯一的三级结构。仅由序列来预测这些结构,以及设计具有新功能的分子,是生物物理领域中的传统问题。虽然这些难题的普适的解决方案尚未找到,但近年来已经有了长足的进步。在2004年,从头蛋白结构建模Rosetta算法中所用的理论和方法被文献总结,稍后,这个方法完成了若干主链精度达到2Å的盲预测。本综述的第一个目的,在于阐述四年来,几个基本方法是如何在蛋白质从头结构预测领域的生物分子建模问题中取得广泛成功的。第二个目的是概述未来四年中,这些方法可能会随着大量分析和操作分子体系的科研工作而愈发成熟。在简单介绍Rosetta方法的基本组成后,我们介绍这些理论如何推广到解决实际应用中,包括:loop建模,考虑主链和侧链柔性的蛋白和配体的docking,RNA折叠等问题。我们最后强调了这些高分辨方法与实验手段的新联系,以及在广泛使用这些混合计算/实验的方法时所出现的问题。

img

从头预测方法具有一定的特点和优势,它适用于同源性小于25%的大多数蛋白质

2.能量函数建立

建立一个能区分蛋白质正确构象与其它构象的能量函数,是从头预测方法中关键性的第一步。理想的能量函数(又称打分函数,势能函数)应该能够精确表达蛋白质的所有原子空间位置及其能量之间的关系,通过能量极小化找到天然构象。

(1)基于物理经验的能量函数
物理学上又称分子动力学方法,是分析粒子之间相互作用的基本原理后得到的经验公式,它能反映客观存在于蛋白质内部或者蛋白质分子和溶剂分子之间的物理作用,尽管这类能量函数比较复杂且计算成本很高,它在计算高分辨率结构方面依然有很大的应用。
典型的经验公式包括键伸缩能、键角变形能、键的转动(二面角)能和非键相互作用,公示如下:

img

上面式中能量E是N个原子位置的函数。

典型物理能量函数是Seheraga建立的联合残基力场(uNRES)。联合残基力场提供了蛋白质分子中原子间相互作用的能量函数,简化了模型,所以相对全原子力场,计算量较少,同时考虑了多种作用力形式,一定程度上保证了建模的精度。

(2)基于知识的能量函数
利用蛋白质结构数据库(PDB)中的已知结构数据作为学习样本,计算得到的具有统计性质的区分参数,然后根据能量按Bolzman分布的原理反推出一个能量函数。
通常,为得到这种经验性的能量函数表达式,我们首先要选择一系列已知结构的蛋白质,然后对每一个氨基酸采用统计学方法分析在三维空间上与其相邻的氨基酸,根据不同氨基酸的相对位置得出一个得分矩阵。

3.构象搜索
能量函数确定之后,从头预测方法便归结为求解如下一个优化问题:

img

f(x)为势能函数,Ω为构象空间,有时为了简化计算,常固定某些自由度,将问题化为一个具有上下界约束的优化问题。由于蛋白质体系作用极其复杂,能量函数具有极多的局部极小点,所以如何找到势能函数的全局极小点是优化过程的一个关键。

通常分两个步骤完成:
(1)产生初始点;
(2)采用典型的优化方法如最速下降法、共轭梯度法、牛顿法、拟牛顿法等进行能量极小化,重复这一过程直到求出满意解。

由于能量极小化过程只能找到初始点附近的局部极小点,初始点的产生对整个优化过程的效率起着重要作用。根据初始点产生的策略不同,常用的构象搜索算法可分为系统搜索法和随机搜索法。

3.1 系统搜索
即系统地搜索整个构象空间,寻找能量极小点。最基本的系统搜索方法是格点搜索,将整个构象空间划分成小间距网格,格点表示氨基酸的重心,逐个计算每一个格点对应的能量值。这种方法随着变量的增加,计算量急剧增加。其他方法还有过度算法、搭建过程、分支定界法等。

3.2 随机搜索
它可以在更大的构象空间寻找极小点,然而到目前为止,还没有一种有效的随机搜索法能保证在有效的计算时间内找到全局能量极小点。用于蛋白质构象搜索的随机算法主要有:Monte Carlo法、遗传算法、模拟退火算法、神经网络算法、禁忌搜索算法、图论算法等,关于这些方法的综述很多,本文不逐一介绍,这里主要讨论从头预测较成功的Monte Carlo法。

Monte Carlo法是一种常用的随机搜索方法,Martin Sander最早将该方法引入分子构象搜索后,它在蛋白质结构预测中得到了广泛应用,并发展了许多不同的策略。
它首先假设蛋白质的折叠过程是一个具有唯一吸收状态的Markov过程,利用Metropolis采样算法搜索构象。这个过程分为两个步骤:
(1)在高温下将体系加热熔化;
(2)逐渐降温。

在任何一个温度下,体系的初构象ri,相应锈量E(ri),构象发生微小的随机变化产生新的构象ri+1,相应的能量E(ri+1),能量变化为E=E(ri+1)一E(ri)。E不大于零时,接受构象变化,而当E大于零时,则被接受的几率为:P(△E)=e-△E/(kT),即在(0,1)之间选择一个随机数R,将其与P(△E)比较,若R<P(△E)则接受变化,新的构象成为下一次随机变化的起点,否则,拒绝变化,不断循环往复,便可以模拟出该温度下体系的波尔兹曼分布,最终达到系统内能的最小值状态,而不会在冷却过程中某一局部极小值点出现阻塞,模拟这一过程的优化模型称为模拟退火模型。

3.3模拟退火模型

该模型把优化过程与退火过程对应起来,建立起优化目标函数与系统内能、变量与分子结构的对应关系,它与局部优化下降算法最显著的区别是它能按一定概率接受使目标函数值增加的状态变化,因而它的动态特性能够使状态变量跳过局部优化点,最终达到全局最优点。这一状态变化的接受规则就是Monte Cado采用的Metropolis准则。
在这里插入图片描述

4.成功的从头预测的方法

碎片组装的方法是迄今最成功的从头预测方法,David Baker的ROSETTA就是基于这一理论建立的。它基于这样一个假设:短的序列片段局限在蛋白质结构数据库中最相关的序列局部结构。
分两个步骤:
(1) 将目标序列切割成互相重叠的小碎片,并产生每个碎片的局部二级结构;
(2) 用基于贝叶斯概率理论的能量函数和Monte Cdo片段插入法组装这些局部结构来产生模型,选择最小能量模型。

4.1 ROSETTA
David Baker及团队设计的ROSETTA方法是碎片组装理论的最佳体现,它把基于物理和统计学(贝叶斯概率论)知识能量函数结合,搜索策略是简化的Monte Carlo法。自CASP3上崭露头角以来,在以后的CASP中Rosetta的预测结果都不断接近真实值。

近年来的进展,除了修饰能量函数外主要体现在三方面:
(1)基础模拟方法:用许多不同的二级结构方法(PsIPRED,SAMT99,PHD)减少碎片选择偏差,利用一个简单的邻近表进行碎片取代,只计算改变的距离,减少了计算时间;碎片替代后产生的链之间的碰撞带来的波动,用局部运动或是改变骨架转角来解决;
(2)从模拟结构的大量集合中去除非蛋白质构象(差的beta片层、劣势堆积结构),提高近天然构象概率,对于分子量大的蛋白质,高接触序(higII contact order)结构从额外的模拟中选择;
(3)对一个给定目标序列的许多独立构象模拟聚类,通过识别最小能量值来多样化一个蛋白质家族,从某种程度上补偿能量函数的不精确性。

4.2 I-TASSER
与ROSElTTA齐头并进的还有在CASP5上张阳与Jeffrey Skolnick合作的TASSER,其采用基于知识的能量函数。与ROSETTA采取固定长度碎片(3或是9个残基)不同,虽然都是从PDB中选择碎片来组装,TASSER用不同长度片段通过穿线法产生结构模型,从中提取结构片段。在CASP7上,张阳单独设计了新的方法——I-TASSER,在TASSER基础上对碎片进行再切割和组装,大大提高了精确度。

3.3 Quark
QUARK的首要目的是在仅使用蛋白质序列信息的情况下实现蛋白质结构的准确预测。QUARK输出的模型使用长度为1-20片段的组装,并且使用基于知识的原子粒度力场模型引导的副本交换蒙塔卡罗模拟的搜索策略。

原文链接:https://blog.csdn.net/weixin_43202635/article/details/83050298

5.Rosetta如何连接隐私计算与AI

讲到现在,相信大家一定会遇到一个很大的问题,就是我们很想运用密码学解决问题,但是如果没有很高的数学基础或者没有学习过密码学的话,相关算法实在是门槛太高了。但是一些AI领域的专家、学者对于AI的应用,深度学习、机器学习的框架已经非常熟了。所以这两种具有不同专业技能的人,之间有很深的沟壑。在现实生活中,急需把这两种技术做一个融合,但是密码学相对的技术门槛太高,会影响整个行业的发展,也会影响整套隐私计算或者隐私AI的计算技术问题和理论进展。

所以我们想让熟悉机器学习,但是对密码学不了解的用户能够将隐私计算技术运用起来。另外对于一些熟悉了AI、或者TensorFlow、Pytorch等机器学习框架的开发者,让他们能够在几乎不改变开发习惯的前提下,就可以运用隐私AI的技术。我们需要做这样一个平台,或者开源框架,能够让不太熟悉密码学或者根本不懂密码学的AI层面的开发者或专家,能够用上隐私计算技术,这就是我们设计Rosetta的初衷,或者说设计Rosetta的一个根本原则。

因此Rosetta具备以下特点:易用性,高效性和可扩展性。

易用性,目前完全复用了TensorFlow接囗。在明文和密文写模型的时候,TensorFlow的接囗是一样的,没有再变。极大地降低了AI工程师使用隐私计算技术的成本。

高效性,完全兼容原生TensorFlow对数据流图自动执行的各种运行时优化。我们用C++来实现算法,能够保持底层算法的高效性。我们同时在跟业界的密码学家设计高效前沿的MPC技术,来适配机器学习或者深度学习的一些模型。

可扩展性,因为在MPC领域算法和协议非常多,而且涉及不同的场景,可能用不同的算法会有更好的效果。如果有了新的算法过来,Rosetta能够非常快速的集成到整个框架里面去。

原文链接:https://blog.csdn.net/m0_47891641/article/details/107942327

6.Rosetta使用方式

6.1Command Line Interface(命令行交互)
命令行界面是Rosetta的原始形式,仍然是使用Rosetta的最常用方法。由于大分子建模的复杂性和消耗,Rosetta通常在分布式集群超级计算机上通过简单的命令行界面运行。Rosetta提供了许多不同的可执行文件,每个可执行文件都用于解决不同的高分子建模问题。

6.2PyRosetta
Rosetta提供了一组Python接口,这些接口提供了Python编程语言访问,修改和扩展Rosetta C ++对象的能力。PyRosetta非常适合通过组合现有教程或编写新的Movers 和得分项来创建新协议。PyRosetta非常适合在该领域教学入门材料,以及快速制作新思想和新协议的原型。

6.3PyRosetta Toolkit
PyRosetta工具包是一个基于PyRosetta构建的Rosetta软件套件的图形用户界面,用于设置Rosetta文件类型,分析结果,运行方案以及执行许多其他分子建模和设计任务。它与PyRosetta一起分发。该代码使用Tkinter API用Python编写,该API与Python本身一起分发。这样,很容易添加新的菜单,窗口和功能来帮助您进行自己的建模和设计。PyRosetta工具包由Dunbrack实验室的Jared Adolf-Bryfogle开发。

6.4RosettaScripts
RosettaScripts是一个XML脚本接口,允许用户混合和匹配Rosetta协议,以根据自己的确切需求定制功能强大的协议。RosettaScripts并没有涵盖PyRosetta,但是它是Rosetta的标准C ++构建的一部分。因此,直接在大型超级计算机和分布式计算环境(例如BOINC)上使用RosettaScripts即可。确实,许多内部使用Rosetta都是通过RosettaScripts进行的,并且某些协议仅以其收集的对象和XML脚本的形式存在,而不是以独立的可执行文件的形式存在。

6.5GUIs(图形用户界面)
Rosetta没有经典的图形用户界面。但是,许多开发人员都以更具交互性的方式简化了使用Rosetta的过程。

6.6Servers(服务器)

原文链接:https://blog.csdn.net/u012325865/article/details/102751470

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猛男技术控

感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值