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

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. {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询

    Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...

  2. 查询自己的apple购买历史

    https://secure1.store.apple.com/cn/order/list

  3. 【基本功】Java动态追踪技术探究 不重启JVM,替换掉已经加载的类?不重启JVM,获知运行时对象的属性

    https://mp.weixin.qq.com/s/_hSaI5yMvPTWxvFgl-UItA 小结: 1.根据Java的类加载机制,在同一个ClassLoader中,类是不允许重复的: 2.单例 ...

  4. PHP之PSR

    PHP的PSR (PSR 称为PHP Standard Recommendations) PSR参考网址:http://www.php-fig.org/psr 在PHP中,有5个编码标准分类: ①.P ...

  5. kafka相关命令

    查看kafka消费组对应的信息:./kafka-consumer-groups.sh --bootstrap-server 172.17.6.10:9092 --describe --group fr ...

  6. vue打包后出现"Failed to load resource: net::ERR_FILE_NOT_FOUND"错误

    创建vue脚手架搭建项目之后,用npm run build经行打包,运行index.html后出现异常: 打开dist/index.html, 诸如这些的,引入是有问题的, 这边的全部是绝对路径,而本 ...

  7. 用promise和async/await分别实现红绿灯

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. TZOJ 3198: 区间和

    描述 给定n个数据,有两个操作,加减其中的一个数据,当然还可查询在某段数据的和. 输入 输入数据有多组,每组数据的第一行输入n,1=<n<=500000,代表数据的个数.第二行输入具体数据 ...

  9. Erlang调度器

    1. Erlang 抢占式调度 Erlang实现公平调度基于Reduction Budget(运行次数限制).每一个进程创建时初始reduction budget值为2000,任何Erlang系统中的 ...

  10. 前端用Json传输数据给后台,用postman测试

    postman发送json格式的post请求   在地址栏里输入请求url:http://127.0.0.1:8081/getmoney 选择“POST”方式, 在“headers”添加key:Con ...