先写简略版,以后再详细写。

1. 对输入结构进行预处理(refine)

$> relax.default.linuxgccrelease -in:file:s input_files/from_rcsb/1qys.pdb @flag_input_relax  

flag_input_relax:

-nstruct 

-relax:constrain_relax_to_start_coords
-relax:ramp_constraints false -ex1
-ex2 -use_input_sc
-flip_HNQ
-no_optH false

2. local dock

执行局部对接之前应手动把受体和配体放到一个pdb文件中,用不同的链标注(例如A,B),相距~10A,并且要有口袋的先验知识,把受体配体按照先验知识对好朝向。

使用以下两个option控制局部对接:

-partners A_B
-dock_pert

当受体链和配体链同时有多条时,例如AB,LH,则相应的改变option:

-partners LH_AB

运行docking_protocol命令:

$> $ROSETTA3/main/source/bin/docking_protocol.linuxgccrelease @flag_local_docking

flag_local_docking (最好-nstruct设置在500及以上):

-in:file:s input_files/col_complex.pdb
-in:file:native input_files/1v74.pdb
-unboundrot input_files/col_complex.pdb -nstruct -partners A_B
-dock_pert -ex1
-ex2aro -out:path:all output_files/local_dock
-out:suffix _local_dock

3. 对得到的对接结果进行local refine

得到结果后,对结果进行relax前,先用docking_protocol的local refine对蛋白界面氨基酸进行优化

相对于local dock 的flag文件,local refine只有下面这两个选项不同:

-docking_local_refine
-use_input_sc

运行local refine命令:

$> $ROSETTA3/main/source/bin/docking_protocol.linuxgccrelease @flag_local_refine

flag_local_refine:

-in:file:s input_files/1v74.pdb

-nstruct 

-docking_local_refine
-use_input_sc -ex1
-ex2aro -out:file:fullatom
-out:path:all output_files
-out:suffix _local_refine

运行完local refine后,就可以使用relax对对接结果进行优化处理了,命令如第一步使用relax预处理。

4. global dock

global dock适用于没有蛋白相互作用的先验知识,不知道结合位点,基本原理是对受体和配体均随即取样,相对于local dock来说,盲目性较大,运行时间也较长。

如下三个参数定义受体与配体的随机取样:

-spin
-randomize1
-randomize2

-randomize1 表示对受体(蛋白1)进行随机取样, -randomize2 表示对配体(蛋白2)进行随机取样.

global dock的运行命令如下:

$> $ROSETTA3/main/source/bin/docking_protocol.linuxgccrelease @flag_global_docking

其中,flag_global_docking:

-in:file:s input_files/col_complex.pdb
-in:file:native input_files/1v74.pdb
-unboundrot input_files/col_complex.pdb -nstruct -partners A_B
-dock_pert
-spin
-randomize1
-randomize2 -ex1
-ex2aro -out:path:all output_files
-out:suffix _global_dock

相对于local dock,主要是上面提到的三个参数的变化,因global dock的随机性较强,为达到收敛的效果,建议设置-nstruct 10000-100000。

5. Docking flexible proteins

之前提到的蛋白对接,蛋白的骨架都是固定的,对于柔性蛋白对接,rosetta采用的是使用centroid模式对受体和配体进行构象采样,以受体或配体的构象集(ensemble)作为对接的输入,至于蛋白的构象集,可以使用非限制性的relax来实现,因为relax本身就是一个对蛋白结构进行采样(sample)程序。

首先,在做柔性对接前,我们要按以下格式分别准备受体及配体的构象列表,名词为xxx_ensemblelist,这个列表类似于蛋白列表输入:

xxx_ensemblelist:

input_files/COL_D_ensemble/COL_D_0001.pdb
input_files/COL_D_ensemble/COL_D_0002.pdb
input_files/COL_D_ensemble/COL_D_0003.pdb

分别准备好两个列表后,使用 -ensemble1 和 -ensemble2 两个参数,将pdb列表导入到程序中:

-ensemble1 COL_D_ensemblelist
-ensemble2 IMM_D_ensemblelist

在运行dock之前,我们首先需要对两蛋白集进行prepacking,此步用于对两蛋白进行处理,方便下一步dock的进行:

$> $ROSETTA3/main/source/bin/docking_prepack_protocol.linuxgccrelease @flag_ensemble_prepack

flag_ensemble_prepack:

-in:file:s input_files/col_complex.pdb
-in:file:native input_files/1v74.pdb
-unboundrot input_files/col_complex.pdb -nstruct -partners A_B -ensemble1 COL_D_ensemblelist
-ensemble2 IMM_D_ensemblelist -ex1
-ex2aro -out:path:all output_files
-out:suffix _ensemble_prepack

prepack运行完毕,xxx_ensemblelist会被重新编辑,更改后的格式如下:

input_files/COL_D_ensemble/COL_D_0001.pdb.ppk
input_files/COL_D_ensemble/COL_D_0002.pdb.ppk
input_files/COL_D_ensemble/COL_D_0003.pdb.ppk
0.77058 1.00377
-93.3588
-94.2715
-93.9065

prepack运行后,就可以执行柔性对接了,对接命令为:

$> $ROSETTA3/main/source/bin/docking_protocol.linuxgccrelease @flag_ensemble_docking

flag_ensemble_docking:

-in:file:s input_files/col_complex.pdb
-in:file:native input_files/1v74.pdb
-unboundrot input_files/col_complex.pdb -nstruct -partners A_B
-dock_pert -ensemble1 COL_D_ensemblelist
-ensemble2 IMM_D_ensemblelist -ex1
-ex2aro -out:path:all output_files
-out:suffix _ensemble_dock

柔性对接的结果好坏取决于构象取样的多少,同时,伴随着构象数增多,程序运行时间也会变长,为保证效果,推荐-nstruct设置大于5000.

6. Symmetric docking

7. 对接结构分析

典型的对接结果的score.sc如下所示:

SEQUENCE:
SCORE: total_score rms Fnat I_sc Irms cen_dock_ens_conf cen_rms conf_num1 conf_num2 conf_score dock_ens_conf1 dock_ens_conf2 dslf_ca_dih dslf_cs_ang dslf_ss_dih dslf_ss_dst fa_atr fa_dun fa_elec fa_pair fa_rep fa_sol hbond_bb_sc hbond_lr_bb hbond_sc hbond_sr_bb interchain_contact interchain_env interchain_pair interchain_vdw st_rmsd description
SCORE: -202.141 13.143 0.061 -3.086 5.015 -1.004 14.583 1.000 1.000 -25.732 -93.359 -83.050 0.000 0.000 0.000 0.000 -326.487 12.899 -3.158 -8.467 8.982 139.078 -3.968 -4.390 -2.692 -13.937 -20.000 -23.791 -2.002 0.357 7.729 col_complex_ensemble_dock_0001

其中,我们在关注total_score的同时,应该更多的关注I_sc,这一项描述的是蛋白界面相互作用得分(interface score,-2~-10),而且I_sc仅限于体系内比较,对于不同体系的蛋白,I_sc没有比较意义。

ROSETTA使用技巧随笔--蛋白蛋白对接的更多相关文章

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

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

  2. ROSETTA使用技巧随笔--relax使用

    Purpose: 主要说目的,relax的作用就是对一个给定的蛋白进行构象搜索,寻找与WT相似并能量低于WT的结构,既包含packer又包含minimizer.主要的应用在对一个结构构象进行取样,获得 ...

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

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

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

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

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

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

  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. eclipse搭建j2ee

    Tomcat环境变量设置,分别添加3个系统变量 CATALINA_BASE E:/tomcat7 CATALINA_HOME E:/tomcat7 CATALINA_TMPDIR Etomcat7/t ...

  2. shell脚本之分析oracle数据库数据泵日志中表的大小

    1.分析日志格式如下 . . imported "xxx_330508"."xxx_T_DATA" 46.17 MB 268 rows . . imported ...

  3. git 将本地仓库提交至github

    -or create a new repository on the command line touch README.md git init git add README.md git commi ...

  4. Oracle 分区表 收集统计信息 参数granularity

    GRANULARITY Determines the granularity of statistics to collect. This value is only relevant for par ...

  5. java Date型时间比较大小

    两个Date类型的变量可以通过compareTo方法来比较.此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0:如果此 Date 在 Date 参数之前,则返回小于 0 的值:如 ...

  6. ES6 --- JS异步编程的几种解决方法及其优缺点

    导言: 我们都知道 JS 是单线程的,这也正是异步编程对于 JS  很重要的原因,因为它无法忍受耗时太长的操作.正因如此有一系列的实现异步的方法. 方法一  setTimeout 常用于:定时器,动画 ...

  7. CentOS 系列安装 Docker

    CentOS6对于 CentOS6,可以使用 EPEL 库安装 Docker,命令如下$ sudo yum install http://mirrors.yun-idc.com/epel/6/i386 ...

  8. mysql数据库数据(字段数过大)太多导入不了的解决方法

    mysql数据库数据(字段数过大)太多导入不了的决方法: 1.打开navicat 工具 2.在数据库上右键,执行右键菜单命令“命令列界面” 3.在打开的窗口中,运行set global max_all ...

  9. 报错解决——linux下执行sh出现异常"syntax error: unexpected end of file"

    有时我们在linux下执行一个sh文件,会报错“SYNTAX ERROR:UNEXPECTED END OF FILE”,这个现象主要是工作的系统环境改变造成的. 若最初脚本中是在windows下,使 ...

  10. cxGrid常用属性设置

    OptionsView部分 是否使用表头分组:cxGrid1DBTableView1.OptionsView.GroupByBox 单元格高度自适应:cxGrid1DBTableView1.Optio ...