基础知识: Loop修复过程中,影响最大的因素是loop氨基酸的长度,如果修复的loop小于等于8个氨基酸时,结果较为准确。如果loop的长度如果大于12个氨基酸,那么在缺乏限制/实验信息的情况下,你很有可能得不到正确的结构。(这个我是有大量测试经验的)
1. 在Rosetta中修复和优化missing Loop(推荐使用)
特点: 适用范围广,但是操作复杂,计算耗时长。但是结果准确。
在Rosetta中,修复缺失Loop结构依赖于remodel模块以及loopmodeling模块。loop建模的方法为cyclic coordinate descent (CCD)。
参考: https://www.rosettacommons.org/demos/latest/tutorials/loop_modeling/loop_modeling
教程资源: 位于$ROSETTA3/demos/tutorials/loop_modeling
1.1 准备蓝图文件
使用脚本getBluePrintFromCoords.pl, 生成原始BluePrint文件就是missing_loops.remodel。-pdbfile,代表输入的初始pdb文件。-chain H 代表pdb结构中的哪条链。'>'代表生成的蓝图文件名称。
cd $ROSETTA3/demos/tutorials/loop_modeling
$ROSETTA/tools/remodel/getBluePrintFromCoords.pl -pdbfile input_files/3gbn_missing_loops.pdb -chain H > input_files/3gbn_missing_loops.remodel
蓝图文件的内容如下图所示,包含了每个氨基酸的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.2 重构Loop结构
首先需要编写运行参数文件 'flag_missing_loops'
-in:file:s input_files/3gbn_missing_loops.pdb #<-输入的初始模型
-remodel:blueprint input_files/3gbn_missing_loops.remodel # 指定蓝图文件
# 控制run
-run:chain H
-remodel:num_trajectory 8
-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
1.3 查看结果
在Pymol中查看结果:打开/output_files/中3gbn_missing_loops_0001.pdb与/input/3gbn_missing_loops.pdb的
修复结果.png注意事项
重构模型策略是十分重要的一个步骤:
- 对于短链(3~5):如果需要得到比较可信的初始结果需要设置
-remodel:num_trajectory
为500或则更多,并做聚类分析。 - 对于中短链的Loop(6~12) 最好直接先用CCD生成一个粗略的模型,然后用NGK建模方法进行详细地优化, 然后做聚类分析。
- 对于长loop(>12), 最好直接先用CCD生成一个粗略的模型,然后用NGK建模方法外加限制参数进行详细地优化, 然后做聚类分析。
2. 利用Chimera修复短Loop
主要调用Modeller进行loop建模。
前人的博文写得比较详细,这里不做累赘重复,可详细参考:https://kangsgo.com/26.html
网友评论