ROSETTA使用技巧随笔--relax使用
2017-11-21 17:22 丨o聽乄雨o丨 阅读(2891) 评论(0) 编辑 收藏 举报Purpose:
主要说目的,relax的作用就是对一个给定的蛋白进行构象搜索,寻找与WT相似并能量低于WT的结构,既包含packer又包含minimizer。主要的应用在对一个结构构象进行取样,获得一个构象assembly,同时还能应用于相似结构的比较,结构优化等,它主要能对空间结构中的clash进行释放,使整个结构的能量更优。
Demos:
关于relax的教程及相关文件可见 <path_to_Rosetta_directory>/demos/tutorials/Relax_Tutorial ,主要讲述了一些对结构进行优化的参数,方法等。
Run:
1. relax最简单的运行方式为 relax.linuxgccrelease -s 1ubq.pdb -out:suffix _crystal @crystal_score_flags ,其中crystal_score_flags为空文件,这一步命令的主要作用是产生score_crystal.sc文件并让大家熟悉relax最简单的运行方式,注意score中的total_score。
2. 然后,运行 relax.linuxgccrelease -s 1ubq.pdb -out:suffix _relaxed @general_relax_flags ,general_relax_flags的详细参数如下:
-nstruct 2 -relax:default_repeats 5 -out:path:pdb ./tutorial_output -out:path:score ./expected_output
其中第一行的参数表示rosetta将进行两次独立的relax进程并产生两个relax后的结构( -nstruct 2 ),每个独立的进程进行5此循环侧链repack和minimization( -relax:default_repeats 5 ), -out:path:xx 参数控制结果输出路径,pdb文件输出到./tutorial_output路径中( -out:path:pdb ./tutorial_output ),score文件输出到./expect_output文件中( -out:path:score ./expected_output )。
比较1和2的结果,你会发现score文件中total_score有显著的差别,因为1中参数规定根据晶体能量函数对结构进行优化,2中根据其内部评分函数对结构进行优化,并将蛋白质优化到一个local minimum。
参数 -relax:default_repeats N 规定可以对结构循环几次,由1到10,但是经过尝试发现,随着N值增加,优化的效果会逐渐递减,N=5作为默认值,即可达到一个速度时间与效果的最优值,所以N值可以不变,N=5不变的话,这个选项也可以忽略。
Modifying the scope of Relax
Restricting the conformations that Relax can sample
使用下面的参数可以为relax提供一个movemap文件,
1 -in:file:movemap
执行下面命令:
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -out:suffix _lever_arm -in:file:movemap lever_arm_movemap @general_relax_flags
下面参数可以分别控制蛋白侧链,主链和domain间的move,
1 -relax:chi_move false 2 -relax:bb_move false 3 -relax:jump_move false
使用下面的命令可以对上述三项参数进行测试:
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -relax:chi_move false -out:suffix _no_sidechain_motion @general_relax_flags
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -relax:bb_move false -out:suffix _no_sidechain_motion @general_relax_flags
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -relax:jump_move false -out:suffix _no_sidechain_motion @general_relax_flags
rosetta还允许使用下面三个选项对relax进行控制,以避免蛋白出现较大不友好的构象变化,
-relax:constrain_relax_to_start_coords -relax:coord_constrain_sidechains -relax:constrain_relax_to_native_coords -in:file:native <filename.pdb> -relax:coord_cst_width <width>
第一个选项会控制relax生成与程序输入pdb( -s 1ubq.pdb )相差不大的构象,第二个参数生成与提供的 <filename.pdb> 构象相差不大的结果,第三个参数直接通过控制width距离的方法,对relax进行影响。
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -out:suffix _constrained_relax -relax:constrain_relax_to_start_coords @general_relax_flags
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -out:suffix _constrained_relax -relax:constrain_relax_to_native_coords -in:file:native <filename.pdb> @general_relax_flags
$>../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -out:suffix _constrained_relax -relax:coord_cst_width <width> @general_relax_flags
Changing the behavior of constraints
下面的参数可以解除relax过程中,伴随着程序运行时间变长,限制的权重逐渐降低的现象,简而言之,使用了此选项后,整个程序运行过程中,relax的过程将被绝对限制。
1 -relax:ramp_constraints false
运行下面的命令,可以证明上述参数的作用:
$> ../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -out:suffix _relaxed_with_resfile -relax:respect_resfile -packing:resfile 1ubq.resfile @general_relax_flags
Restricting the sequence it can sample
通常情况下,relax不会改变需要relax的序列范围,但是我们可以通过使用resfile,来控制relax的序列范围,当然这个选项只能控制repack,不能控制minimization,这个与enzymedesign过程中的resfile方法类似,
1 -relax:respect_resfile -packing:resfile *resfile*
允许下面的命令证明如何限制sequence:
$> ../../../main/source/bin/relax.default.linuxclangrelease -s 1ubq.pdb -out:suffix _relaxed_with_resfile -relax:respect_resfile -packing:resfile 1ubq.resfile @general_relax_flags
Conclusion
通常在不考虑 -ignore_unrecognized_res 和 -ignore_zero_occupancy false 的情况下,我们只需下面的options,即可完成relax,有时pdb中存在底物时,就需要用-extra_res_fa ligand.params文件作为输入了,general_relax_flags:
1 -s xxx.pdb 2 -nstruct 2 # big nstruct recommended 3 -relax:default_repeats 5 4 -out:suffix _relaxed 5 -out:path:pdb <path for pdb> 6 -out:path:score <path for score file>
然后可以根据需求,添加以下参数:
-relax:constrain_relax_to_start_coords -relax:coord_constrain_sidechains -ex1 -ex2 -use_input_sc -flip_HNQ -no_optH false
命令为:
relax.linuxgccrelease @general_relax_flags