|
本帖最后由 kunkun 于 2019-5-15 13:37 编辑
本文仅提供一种快速修复PDB中缺失loop的教程,可用于修复3~12氨基酸长度的loop。>具体的应用请参考更多文献支持。
> 特点: 适用范围广,但是操作复杂,计算耗时长。但是结果准确。
> 基础知识: Loop修复过程中,影响最大的因素是loop氨基酸的长度,如果修复的loop小于等于8个氨基酸时,结果较为准确。如果loop的长度如果大于12个氨基酸,那么在缺乏限制/实验信息的情况下,你很有可能得不到正确的结构。(这个我是有大量测试经验的)
在Rosetta中,修复缺失Loop结构依赖于remodel模块以及loopmodeling模块。loop建模的方法为cyclic coordinate descent (CCD)。
参考: https://www.rosettacommons.org/d ... eling/loop_modeling
教程资源: 位于$ROSETTA3/demos/tutorials/loop_modeling
1. 准备蓝图文件
使用脚本getBluePrintFromCoords.pl, 生成原始BluePrint文件就是missing_loops.remodel。-pdbfile,代表输入的初始pdb文件。-chain H 代表pdb结构中的哪条链。'>'代表生成的蓝图文件名称。
- cd $ROSETTA3/demos/tutorials/loop_modeling
复制代码
蓝图文件的内容如下图所示,包含了每个氨基酸的pose序号、以及氨基酸类型。'.' 代表不对这个位点的氨基酸做任何的设计处理。
- ...
- 11 V .
- 12 K .
- 13 S .
- 14 S .
- ...
复制代码
然后我们需要对蓝图文件进行适当的修改,将我们需要重构的loop信息填写进去。
比如我们从pose序号12-13之间插入一段Loop(氨基酸序列为KPG)。以第5行为例子。
- 新插入的loop的pose序号需要设定为'0',
- 氨基酸类型为'X'
- 'L'代表氨基酸所在的二级结构信息(H=helix,L=loop,E=Extended)
- PIKAA为resfile的写法,代表将氨基酸X突变成K氨基酸。
- 注意需要包括Loop N端和C端的一个锚定氨基酸也需要重新指定为原来的氨基酸。
- # 修改后的蓝图文件应该是这样的
- ...
- 11 V .
- 12 K L PIKAA K
- 0 X L PIKAA K #<- **以这行为例解释蓝图文件意义**
- 0 X L PIKAA P
- 0 X L PIKAA G
- 13 S L PIKAA S
- 14 S .
- ...
复制代码
注意1: 我们需要将缺失loop两端残基的二级结构偏好性也定义,这将会影响骨架的柔性。
注意2: 蓝图文件的末尾不应该出现无意义的空格,否则会造成remodel app崩溃。
注意3: 在蓝图文件里可以定义多个Loop同时构建,也可以用于延长N端,C端,删除局部Loop, 甚至将两个蛋白用Linker链接起来。用好蓝图文件,极大便利对Loop结构的操作。
2. 重构Loop结构
首先需要编写运行参数文件 'flag_missing_loops'
- -in:file:s input_files/3gbn_missing_loops.pdb #<-输入的初始模型
- -remodel:blueprint input_files/3gbn_missing_loops.remodel # 指定蓝图文件
- # 控制run
- -out:nstruct 8 # 控制数目
- -run:chain H
- -remodel:num_trajectory 1
- -remodel:quick_and_dirty # 设置后,不在进行额外的优化; 会增加耗时。
- -no_optH false
- # 额外考虑rotamer角,使得结构更好
- -ex1
- -ex2
- # 控制输出
- -out:path:all output_files
- -out:file:scorefile 3gbn_missing_loops.sc # 打分输出结果文件设置
- # 控制聚类, 当-remodel:num_trajectory设置大于1时方可启用。
- #-remodel:use_clusters true
- #-remodel:cluster_radius 9.0 # 控制聚类截断。
复制代码
运行
- mpirun -np 4 remodel.mpi.macosclangrelease @flag_missing_loops
复制代码
3. 查看结果
在Pymol中查看结果:打开/output_files/中3gbn_missing_loops_0001.pdb与/input/3gbn_missing_loops.pdb
!!注意事项!!
重构模型策略是十分重要的一个步骤:
- 对于短链(3~5):如果需要得到比较可信的初始结果需要设置`-out:nstruct`为500或则更多,并做聚类分析。
- 对于中短链的Loop(6~12) 最好直接先用CCD生成一个粗略的模型,然后用NGK建模方法进行详细地优化, 然后做聚类分析。
- 对于长loop(>12), 最好直接先用CCD生成一个粗略的模型,然后用NGK建模方法外加限制参数进行详细地优化, 然后做聚类分析。
其他: 利用Chimera修复Loop
> 主要调用Modeller进行loop建模。
前人的博文写得比较详细,这里不做累赘重复,可详细参考:https://kangsgo.com/26.html
|
评分 Rate
-
查看全部评分 View all ratings
|