ROSETTA使用技巧随笔--relax使用
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 ),每个独立的进程进行5此循环侧链repack和minimization( -relax:default_repeats ), -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文件,
-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,
-relax:chi_move false
-relax:bb_move false
-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的过程将被绝对限制。
-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方法类似,
-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:
-s xxx.pdb
-nstruct 2 # big nstruct recommended
-relax:default_repeats
-out:suffix _relaxed
-out:path:pdb <path for pdb>
-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
ROSETTA使用技巧随笔--relax使用的更多相关文章
- ROSETTA使用技巧随笔--蛋白蛋白对接
先写简略版,以后再详细写. 1. 对输入结构进行预处理(refine) $> relax.default.linuxgccrelease -in:file:s input_files/from_ ...
- ROSETTA使用技巧随笔--PyMOL实时观测ROSETTA模拟过程中的结构变化
没有梦想的人,就是一只咸鱼,像我,就有一个梦想,就是让蛋白模拟过程变成动画,动起来! 虽然MD中有很多方法可以方模拟过程像动画一样播放出来,但是我一直想在ROSETTA中也找一个这样的功能,这不,我发 ...
- ROSETTA使用技巧随笔--控制Log输出等级
一般运行ROSETTA,屏幕上的Log很多,而且很复杂,让我们看着眼晕,现在我们可以通过控制Log等级来控制屏幕上输出的东西. Integer Level 0 Fatal 100 Error 200 ...
- ROSETTA使用技巧随笔--Full Atom Representation和Centroid Representation
Full Atom Representation vs Centroid Representation Full Atom Representation即全原子标识,氨基酸残基的所有相关原子,均原封不 ...
- ROSETTA使用技巧随笔--RosettaLigand Docking
时间不充分,简单记录下自己实践过程中的做法: 1. 首先,非标准残基都需要转换成.params文件,使用 <path-to-Rosetta>/main/source/scripts/pyt ...
- ROSETTA使用技巧随笔--score.sc处理
对score.sc的便利操作: $ sort -n -k2 example_score_file.sc 此命令会以score文件的第二列进行排序(sort -n -k2,-n表示对数值型数据排序,可用 ...
- RF常用技巧随笔
合并xml输出文件: pybot --outputdir d:\test --log log1.html --report report1.html --output output1.xml -T d ...
- angular小技巧随笔
1. 重新刷新页面 同页面切换状态: $state.go('tab.index', {inviteId:inviteId}); self.location.reload();
- JavaScript小技巧随笔
1. 在用||做条件判断时,如果情况较多,我们可以考虑是否能够用Array.includes()方法代替 var conditionArray = [ test1, test2, test3 ]; i ...
随机推荐
- 基于cdh5.10.x hadoop版本的apache源码编译安装spark
参考文档:http://spark.apache.org/docs/1.6.0/building-spark.html spark安装需要选择源码编译方式进行安装部署,cdh5.10.0提供默认的二进 ...
- Hive中的窗口函数
简介 本文主要介绍hive中的窗口函数.hive中的窗口函数和sql中的窗口函数相类似,都是用来做一些数据分析类的工作,一般用于olap分析 概念 我们都知道在sql中有一类函数叫做聚合函数,例如su ...
- 一个列转行SQL示例(wm_concat函数和replace函数合用)
准备测试数据: create table test01( groupid number, a number, b number, c ...
- RabbitMQ性能优化
修改rabbitmq.config文件 rabbitmq.config文件时rabbitmq的配置文件,他遵守Erlang配置文件定义. rabbitmq.config文件位置: Unix $RABB ...
- In abstract algebra, a congruence relation (or simply congruence) is an equivalence relation on an algebraic structure (such as a group, ring, or vector space) that is compatible with the structure in
https://en.wikipedia.org/wiki/Congruence_relation In abstract algebra, a congruence relation (or sim ...
- AndrewNG Deep learning课程笔记
神经网络基础 Deep learning就是深层神经网络 神经网络的结构如下, 这是两层神经网络,输入层一般不算在内,分别是hidden layer和output layer hidden layer ...
- ipv6的校验格式
ipv6的校验格式: ^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$
- linux中按照指定内容查找文件
grep -rnRi 指定的内容 * | awk -F":" '{print $1}' 解释: grep 查找文件内容 -r 表示递归查找 -n 表示显示行号 -R 表示查找所有文 ...
- LeetCode-37.Sudok Solver
Write a program to solve a Sudoku puzzle by filling the empty cells. A sudoku solution must satisfy ...
- java执行字符串数学表达式【记录】
https://stackoverflow.com/questions/3422673/evaluating-a-math-expression-given-in-string-form 1. goo ...