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 ...
随机推荐
- 在ASP.NET Core中实现自定义验证特性(Custom Validation Attribute)
这是我们在实际ASP.NET Core项目中用到的,验证用户名中是否包含空格. 开始是这么实现的(继承ValidationAttribute,重写IsValid方法): public class No ...
- vins-mono调试教程
https://www.cnblogs.com/Jessica-jie/p/6950604.html
- Ubuntu系统中各种文件颜色的含义
蓝 色:文件夹 ,ls -l或ll时可以看到权限部分的第1个字母是d红色:压缩文件 绿色:可执行文件,包括jar白色:文本文件红色闪烁:错误的符号链接淡蓝色:符号链接黄色:设备文件灰色:其它文件 ...
- [No0000F5]C# 类(Class)
当你定义一个类时,你定义了一个数据类型的蓝图.这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作.对象是类的实例.构成类的方法和变量成 ...
- iOS之分类(category)
1.分类(category)的作用 1.1作用:可以在不修改原来类的基础上,为一个类扩展方法.1.2最主要的用法:给系统自带的类扩展方法. 2.分类中能写点啥? 2.1分类中只能添加“方法”,不能增加 ...
- Copycat - 状态
Member.Status status的变迁是源于heartbeat heartbeat,append空的entries /** * Triggers a heartbeat to a majori ...
- 玩具装箱&土地购买
今天一天8h 写了两道斜率优化的题(别问我效率为什么这么低 代码bug太多了) 关键是思考的不周全 估计是写的题少手生 以后就会熟练起来了吧. 这道题显然有一个n^2的dp方程 设f[i]表示前i件物 ...
- 网易云课堂-spark
==============================Flink比spark优秀,但既生瑜何生亮,所以Flink没火起来 为了使用sortbykey,需要RDD的元素是key-value的形式 ...
- Hash算法解决冲突的方法
https://blog.csdn.net/feinik/article/details/54974293 Hash算法解决冲突的方法一般有以下几种常用的解决方法1, 开放定址法:所谓的开放定址法就是 ...
- Vue双向数据绑定原理分析(转)
add by zhj: 目前组里使用的是前端技术是jQuery + Bootstrap,后端使用的Django,Flask等,模板是在后端渲染的.前后端没有分离,这种做法有几个缺点 1. 模板一般是由 ...