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 访问页面访问统计实现 for iis7
上一篇博文中< asp.net 访问页面访问统计实现 > 中在win10 (iis8+)上运行没有问题, 但客户机子是windows server 2008 的 iis7弄死不对,最好 ...
- [No0000CB]如何在命令行(cmd)通过TCP/IP端口(port)查询所在的进程号(pid)或进程名称,并终止该进程
1)首先查找占用某个端口的进程PID netstat -ano | findstr [port] 2)根据该进程pid查询进程名称或标题,确认那个程序在占用该端口 tasklist /v | fi ...
- Docker、kubernetes、微服务、SpringBoot/Cloud...好乱!到底要不要学?
Docker.微服务日益火热的今天,相信标题上这些名词大家都不陌生.但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东 ...
- mysql与redis在各种情况下性能对比
数据表结构 CREATE TABLE `jx_goods_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `goods_name` varchar(100) ...
- [X][xrandr][archlinux] 手动调整显示器分辨率
有一些时候,电脑并不能正确的识别出显示器的最大分辨率,这有可能是软件的原因,硬件的原因,显示器的原因,VGA线的原因等其他原因. 我遇到的情况,是开机时候连着VGA的话,就可以正确识别.如果使用中间进 ...
- 转:jquery的$(function(){})和$(document).ready(function(){}) 的区别
原文链接:https://www.cnblogs.com/slyzly/articles/7809935.html [转载]jquery的$(function(){})和$(document).rea ...
- 图->连通性->有向图的强连通分量
文字描述 有向图强连通分量的定义:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly co ...
- Guava cache 示例
pom.xml <!-- guava --> <dependency> <groupId>com.google.guava</groupId> < ...
- Interceptor的基本介绍和使用
简介 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Act ...
- 【Python爬虫】selenium基础用法
selenium 基础用法 阅读目录 初识selenium 基本使用 查找元素 元素互交操作 执行JavaScript 获取元素信息 等待 前进后退 Cookies 选项卡管理 异常处理 初识sele ...