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使用的更多相关文章

  1. ROSETTA使用技巧随笔--蛋白蛋白对接

    先写简略版,以后再详细写. 1. 对输入结构进行预处理(refine) $> relax.default.linuxgccrelease -in:file:s input_files/from_ ...

  2. ROSETTA使用技巧随笔--PyMOL实时观测ROSETTA模拟过程中的结构变化

    没有梦想的人,就是一只咸鱼,像我,就有一个梦想,就是让蛋白模拟过程变成动画,动起来! 虽然MD中有很多方法可以方模拟过程像动画一样播放出来,但是我一直想在ROSETTA中也找一个这样的功能,这不,我发 ...

  3. ROSETTA使用技巧随笔--控制Log输出等级

    一般运行ROSETTA,屏幕上的Log很多,而且很复杂,让我们看着眼晕,现在我们可以通过控制Log等级来控制屏幕上输出的东西.  Integer Level 0 Fatal 100 Error 200 ...

  4. ROSETTA使用技巧随笔--Full Atom Representation和Centroid Representation

    Full Atom Representation vs Centroid Representation Full Atom Representation即全原子标识,氨基酸残基的所有相关原子,均原封不 ...

  5. ROSETTA使用技巧随笔--RosettaLigand Docking

    时间不充分,简单记录下自己实践过程中的做法: 1. 首先,非标准残基都需要转换成.params文件,使用 <path-to-Rosetta>/main/source/scripts/pyt ...

  6. ROSETTA使用技巧随笔--score.sc处理

    对score.sc的便利操作: $ sort -n -k2 example_score_file.sc 此命令会以score文件的第二列进行排序(sort -n -k2,-n表示对数值型数据排序,可用 ...

  7. RF常用技巧随笔

    合并xml输出文件: pybot --outputdir d:\test --log log1.html --report report1.html --output output1.xml -T d ...

  8. angular小技巧随笔

    1. 重新刷新页面 同页面切换状态: $state.go('tab.index', {inviteId:inviteId}); self.location.reload();

  9. JavaScript小技巧随笔

    1. 在用||做条件判断时,如果情况较多,我们可以考虑是否能够用Array.includes()方法代替 var conditionArray = [ test1, test2, test3 ]; i ...

随机推荐

  1. 精彩看点 | GIAC大会PPT+视频合集全量放送!

    GIAC是中国互联网技术领域的行业盛事,每年从互联网架构最热门的系统架构设计.人工智能.机器学习.工程效率.区块链.分布式架构等领域甄选前沿有典型代表的技术创新及研发实践的架构案例,分享他们在本年度最 ...

  2. java基础解析系列(二)---Integer

    java基础解析系列(二)---Integer 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bug的时候,才能处理更加从容. 目录 java基础解析 ...

  3. [No000010B]Git4/9-时光机穿梭

    我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...

  4. typedef define typedef可以使程序参数化,提高程序的可移植性。

    小结: 1. typedef并没有创建一个新类型,它只是为某个已存在的类型增加了一个新的名称而已: 2. typedef声明也没有证据新的语义:通过这种方式声明的变量与通过普通方式声明的变量具有完全相 ...

  5. 理解HTTP协议(转载)

    一.HTTP协议的演进 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向 ...

  6. 转:Eclipse 各种小图标的含义

    原文地址:https://www.cnblogs.com/widget90/p/7592507.html Eclipse 各种小图标的含义,记录一下. Eclipse的Package Explorer ...

  7. LeetCode 876 Middle of the Linked List 解题报告

    题目要求 Given a non-empty, singly linked list with head node head, return a middle node of linked list. ...

  8. Ubuntu 下Anaconda3出现 conda:command not found(未找到命令)

    问题:anaconda: command not found解决方案:打开Terminal 1.使用命令:sudo apt install vim 安装vim文本编辑器2.使用命令:vim ~/.ba ...

  9. activeMQ的安装和使用

    什么是ActiveMQ? 一款开源的JMS具体实现,是一个易于使用的消息中间件,一个消息容器 安装 下载 官方网站:http://activemq.apache.org/ 解压 linux下的安装,解 ...

  10. 通过pytty工具代理连接数据库mysql(绕开数据库白名单限制)

    1.下载putty在本机,不用安装. 2.数据库地址及端口,输入服务器账户.密码登录. 输入数据库地址.端口及本机映射端口 输入服务器账户.密码登录 然后本地新建数据库连接就可以了