Modeller进阶教程

标签:
modeller教程蛋白质同源建模生物信息学 |
分类: 蛋白质同源建模 |
差不多用了整整一天的时间,终于把这篇写完这篇博文了,不过有些地方翻译的不是很好,实在不知道该怎么表达,真的是只可意会不可言传啊,难道我得去补补语文?得好好研究一下原文,才能根据上下文和一些知识来完善翻译,这个例子似乎很高端,得琢磨琢磨。英文原文链接:http://salilab.org/modeller/tutorial/advanced.html
一个进阶的例子:
基于多模板的,环线精致化和使用者指定限制的复杂的蛋白质配体的建模
本示例的所有输入与输出文件都可以在此下载:http://salilab.org/modeller/tutorial/advanced-example.zip (for windows)或者http://salilab.org/modeller/tutorial/advanced-example.tar.gz (for Unix/Linux)(译者注:大家也可以去我的网盘里下载:http://pan.baidu.com/s/1kT1THbh )
在这个例子中,我们不会一步一步地描述建模的各个步骤。请在帮助向导中的基础例子篇中查阅更多相关信息。(译者注:可以看我的前一篇博文:Modeller使用基础)
建模的一个最重要的目的是对蛋白质模型的功能的更深入的理解。对1dbm:A模板的结构(请参加basic modeling tutorial,或者前一篇博文:Modeller使用基础)的观察显示出了93-100氨基酸区是酶最重要的一个功能区域之一,而这在PDB结构中被混乱了,而且没有在该文件中显示出来。最可能的原因是:由于配基的缺失,这个长的活性位点环是可变的,而且不能在不同的图谱中被看出。由于模板坐标图的不真实性和Modeller对长插入位点模型处理能力的低下,TvLDH这个模型建立的不是很理想,正如DOPE图谱所暗示的一样(见下图)
http://s7/mw690/002NzBfUzy6U3KhuQOa16&690因为我们感兴趣的地方是弄清楚两个相似蛋白质之间特殊地方的不同,所以我们需要构建一个精密且精确的模型。因此我们需要找到一些新的方法来提过模型的精确性。在本例中,我们将研究三个不同的方法:
●使用多模板
●使用ab-initio法(量子化学从头算起法)来建模
●使用与结合位点结合的已知配基来进行建模
多模板建模
苹果酸脱氢酶1bdm的结构已经在DBAi数据库的fm00495家族中的4个成员(2mdh:A,2mdh:B,1b8p:A和1bdm:A)中进行了聚集索引(clustered)。在Modeller中用来进行多序列联配的命令——salign()被用在了DBAi中来进行一个家族的多结果联配。这个联配的结果可以从DBAi数据库中被下载或者是使用脚本salign.py(见下面)在你的电脑上进行计算。
http://s13/mw690/002NzBfUzy6U3Ko7bUE2c&690从PDB文件中读取所有的序列(使用append_model命令),然后多次使用salign命令,来进行开始地粗略得联配,然后使用更多的信息来提高联配的结果。随后,联配的结果分别以PIR和PAP格式被写入到文件中,再次调用salign命令来进行更高质量的分数计算。
在观察多结构联配的结果后,可以证实的是,2mdh的B链有着不同寻常的赖氨酸残基数目。PDB文件的数据头暗示着在优化阶段,这个蛋白质的序列是不可知的,并且对这个结构的大多数残余点(residues)进行识别是困难的。因此,2mdh:B的输入从多结构联配结果中移除了。
http://s5/mw690/002NzBfUzy6U3KunAFKd4&690正如在向导中一个基础的例子这篇文章中一样,接下来我们要用我们的未知序列与模板结构进行联配。我们使用salign()命令来完成这个工作(文件:align2d_mult.py)。我们把align_block参数值设定为与要进行联配的模板的结构数相等,len(aln)(例如,3),并且要求了双序列联配,因为我们不想改变模板间已经存在了的联配结果。通过设定gap_function参数的值,我们要求使用依赖于结构的空位罚分,使用的是这三个序列的结构信息。被用于最终TvLDH序列的只有序列信息。
http://s13/mw690/002NzBfUzy6U3KA9r405c&690接下来,我们将使用脚本model_mult.py来为TvLDH目标序列建立一个基于多模板联配结构的新模型。
http://s4/mw690/002NzBfUzy6U3KFCWUH03&690最后,我们使用evaluate_model.py文件来计算新模型的DOPE势能坐标图。
http://s16/mw690/002NzBfUzy6U3KJ3pPVaf&690模型的评估表明,通过多结构模板,有问题的环(90-100残基)已经得到改善了。整个模型的DOPE值也从-38999.7上升到-39164.4(焓值,负号不等同于数值的负号)。Modeller能够利用来自三个模板的环区的可变性来形成一个更正确的环区的构象。但是,与基于单一模板的建模相比,序列C末端的275残基区的构象有着更高的DOPE值。
http://s12/mw690/002NzBfUzy6U3KNA01d3b&690我们将使用Modeller的loopmodel类对残基273与283之间对的环区构象进行优化。我们将使用前一个例子中创建的编号为1的模型作为环区优化的起始模型。你可以在loop_modeling目录中找到这个被重命名为TvDLH_mult.pdb的结构。
环区优化
基于打分函数和优化策略的环区优化工具适合于环区建模。如果你使用loopmodel类而不是automodel的话,它将自动优化比较模型;看下面这个例子。
http://s13/mw690/002NzBfUzy6U3LHe1Kk5c&690File:
loop_modeling/loop_refine.py
在这个例子中,loopmodel类被用来优化已经存在的坐标图文件的区域。要注意的是,这个例子重定义了loopmodel.select_loop_atoms例行程序。在这中情况下,这是必要的,因为在默认的选择机制下,将会为优化选择所有的间隔区,而且在这种情况下,将不会有合适的联配结果。如果你想为优化选择不同区域,你可以重定义例行程序,即使你的确有联配结果。还要注意的是,考虑到时间的原因,我们把loop.ending_model参数的值设为10,仅仅只构建10个各不相同的优化后的环区构象模型。下图显示了10个环区模型构象的重叠。基于DOPE的值,我们把初始的,最好的和最坏的环区构象各自标记成了蓝色,绿色和红色。
http://s4/mw690/002NzBfUzy6U3L00nLlb3&690
脚本文件model_energies.py使用Python的for循环为所有构建出的模型进行了DOPE值的计算。环区能量坐标图最好的是第8个模型,它的全局DOPE值是-39099.1。下面贴出了使用evaluate_model.py脚本文件计算出的能量分布图。
http://s15/mw690/002NzBfUzy6U3L4hx70ce&690通过环区的化学量子从头算起法优化方式,全局DOPE值仅仅只有非常小的提升。但是,环区的DOPE值有了少许的下降。因此我们会使用最优模型(TvLDH.BL00080001.pdb)来进行下一步,它在配体目录中(ligand directory)被重命名为TvLDH-loop.pdb。记住这是很重要的:一个最精确的环区优化需要成百上千个独立的构象模型和用于从他们之中选择出环区最经典结构的聚类分析(clustering)
在结合位点的配体建模
1emd,一个从PDB数据库中鉴定出来的,来自于E.coli的苹果酸脱氢酶。但是1emd与TvLDH的同源性仅仅只有32%,它的活性位点环区和它的构象(译者注:原文为its environment,在这里意译为构象,不在恰当与否)更保守。1emd结构中的残基区90-100被更好的处理。而且,已经解决了当柠檬酸盐底物类似物与NADH辅因子存在时1emd的结构。下面以PAP格式显示出来这个新联配的结果(文件:TvLDH-1emd_bs.pap)
http://s4/mw690/002NzBfUzy6U3L8BDCr23&690这个模型联配引用了一个编辑过的1emd结构(1emd_bs)作为第二个模板。这个联配相当于一个基于活性位点环区的1emd_bs与TvLDH_model的模型,它相当于位于本文后面的,来自于先前几步构造的最适模型。活性位点环区的所有两个侧链的四个区域与所有两个模板的联配确保这个环有一个好的定位,相对于剩下的模型而言。
与model-single.py相比,这个建模脚本有几个改动。第一,被分配给alnfile参数的联配结果文件名被更新了。而后,knowns变量被重定义为包含所有两个模板。另一个改动是添加了env.io.hetatm=True命令来允许对来至于输入的PDB文件中的非标准的丙酮酸盐和NADH残基的读取。下面贴出了这个脚本文件(文件:model-multiple-hetero.py)
http://s15/mw690/002NzBfUzy6U3LcQcge1e&690Modeller将配基加入到模型中的方式有两种。第一种情况对于的是配基不显示在模板结构中,但是被Modeller残基拓扑数据库定义了。这类配基包括水分子,金属离子,核苷酸,血红素和一些其它的配基(见MODELLER FAQ的question 8).在这里,这种情况不做进一步的研究。第二种情况对应的是配基已经在模板结构中显示出来了。我们要么假设配基与靶位点和模板的相互作用相似,在这种情况下,我们能依赖于Modeller自动提取和调整残基的之间的距离的功能,要么假设这个有关系的取向未必是保守的,在这中情况下,我们需要对配基和靶点的相关性取向进行约束(配基的构象被假设是精确的)。这两种情况都各自被NADH辅因子和丙酮酸模型所阐明。在上面的联配结果文件中,每个序列的末尾都被标上了字符点号”.”,表示NADH和辅因子(字符”/”表示链的断裂)。通常,Modeller中的的点号”.”表示一个被称作”块(block)”区的任意通用区域(参考Modeller manual中的section on block residues获取更多的信息)。要注意的是,字符点号”.”在模板结构和模型序列中都出现了。前者告诉Modeller从模板中读取配体信息,后者告诉Modeller在模型中包含配体。1emd结构文件中包含了一个柠檬酸底物类似物。为了获得一个含有TvLDH生理代谢底物——丙酮酸的模型,我们将1emd中柠檬酸底物中的CH(COOH)2删除达到将它转变为丙酮酸的目的,由此,得到了1emd_bs的模板文件。使用字符点号”.”的一个主要优势是不必确定残基区域的拓扑结构。
为了获得用在丙酮酸(建模)上的约束条件,我们首先假设几种用配体解决了的LDH和MDH酶。一方面,这种比较能使我们完全地识别出催化结构域中161位精氨酸和186位组氨酸保守的静电相互作用,另一方面,能识别出乳酸和苹果酸配体的含氧域。现在,通过创建一个新的类’MyModel’,我们用来建模的脚本的到了扩展,’MyModel’是从automodel中分离而来但是又在这个方面与它不同:添加了重定义的special_restraints例行程序,至于默认的约束条件,一些使用者重定义了活性位点域和它们的底物的保守原子之间的距离这个约束条件。在这中情况下,3.5±0.1Å这个平衡的且较高的范围约束被加入到了三个特殊的原子配对的距离中。这是一个被用来防止Modeller自动地计算丙酮酸—TvLDH复合体中的距离约束条件的小窍门。由于超出了配体-蛋白质距离的约束条件,1emd_bs中的配体被移除了。
最终选择出来的模型(见下图)的DOPE全局值为-37640.9。由于在计算DOPE值时,没有考虑到蛋白质与配体之间的相互作用,DOPE值降低了。
http://s9/mw690/002NzBfUzy6U3Liib3258&690