ROSETTA使用技巧随笔--蛋白蛋白对接
先写简略版,以后再详细写。
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使用技巧随笔--蛋白蛋白对接的更多相关文章
- ROSETTA使用技巧随笔--RosettaLigand Docking
时间不充分,简单记录下自己实践过程中的做法: 1. 首先,非标准残基都需要转换成.params文件,使用 <path-to-Rosetta>/main/source/scripts/pyt ...
- ROSETTA使用技巧随笔--relax使用
Purpose: 主要说目的,relax的作用就是对一个给定的蛋白进行构象搜索,寻找与WT相似并能量低于WT的结构,既包含packer又包含minimizer.主要的应用在对一个结构构象进行取样,获得 ...
- 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使用技巧随笔--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 ...
随机推荐
- Js高设笔记1-2章 defer and async
1,js是由ECMAscript ,dom ,bom组成的专为网页交互而设计的脚本语言.js是脚本语言之一. 2,MIME,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的 ...
- 【数据库】Invalid default value for 'create_date' timestamp field
问题 最近遇到一个这样的问题,新建数据库表的时候 提示 错误如下 Invalid default value for 'created_time' timestamp field 语句如下 `crea ...
- SQL DATE_FORMAT() 函数
参照原文:https://blog.csdn.net/moakun/article/details/82290387 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据 MySQL 使 ...
- Vue的双向数据绑定原理是什么?
vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调. ...
- 生成器-代码举例:()和yield
怎么自定义一个生成器:两个方法: 1.小括号包裹表达式 2.函数中用yield返回 方法一:①小括号包裹表达式 G=(x*2 for x in range(5)) print(G)输出:<gen ...
- MySQL安装失败解决的方法
一..msi版的MySQL安装包在最后执行的时候到第三步就死掉了,直接未响应 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd19iYXNrZXRib3ky ...
- jenkins的pipeline的使用
1.安装Pipeline Maven Integration Plugin 2.新建任务 3.编写pipeline代码 node { stage('get clone') { checkout([$c ...
- 20170728 Celery项目 后台处理SQL SERVER的一个异常
-- 1. 感觉是访问DB 失败了,失败原因不明确 -- 2. 考虑解决问题的解决办法,后台记录异常,并重新发送任务. 具体如何来实现
- 各版本系统安装tesseract-ocr
Mac版本 1.tesseract-ocr安装 brew install tesseract-ocr 注意:如果未安装brew命令,可以输入命令: brew官网:http://brew.sh /us ...
- 显示日历的指令:cal
1.显示日历的指令:cal (1)参数: (2)实例: