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 ...
随机推荐
- bootstrapValidator多字段联合验证(如开始日期和结束日期中,开始日期不可晚于结束日期)
接触bootstrapvalidator时间不久,最近需要多个字段共同验证,网上查了一下未找到,查阅api文档,发现确实可以实现. 先看dom <div class="form-gro ...
- ASP.NET 前端Ajax获取数据并刷新
控制器中↓ /// <summary> /// 根据ID来进行展示数据 /// </summary> /// <param name="instru_id&qu ...
- ML.NET速览
什么是ML.NET? ML.NET是由微软创建,为.NET开发者准备的开源机器学习框架.它是跨平台的,可以在macOS,Linux及Windows上运行. 机器学习管道 ML.NET通过管道(pipe ...
- [network] netfilter
netfilter 是什么? netfilter.org is home to the software of the packet filtering framework inside the Li ...
- [skill][c][ld][gcc] 明确指定gcc在链接时明确使用静态库
通常,我们这样链接: gcc -o a.out -L/usr/lib/ -ltest a.o 这样它会链接动态库 libtest.so, 可是有时候我们想在静态库与动态库同时存在时,优先使用静态库. ...
- elasticsearch解决控制台中文乱码问题
找到conf目录下的jvm.options文件,找到如下的配置行: 我将之前的UTF-8 改成GBK,ok.
- 重读《深入理解Java虚拟机》三、Java虚拟机执行的数据入口(类文件结构)
1.Java如何实现平台无关系 Java要实现平台无关系就需要在Java代码和本地机器之间引入一个中间层,实现Java代码和本地机器的解耦,而这个中间层就是字节码.字节码独立于本地机器,以实现代码的可 ...
- CAS 原理
基础模式 1. 访问服务: 客户端发送请求访问应用系统提供的服务资源. 2. 定向认证: 客户端会重定向用户请求到 服务器. 3. 用户认证:用户身份认证. 4. 发放票据: 服务器会产生一个随机 ...
- python的队列和栈
(一)队列和栈的区别 1.队列: 队列是一种特殊的线性表.其两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插入的一端 ...
- Java设计模式(一)普通工场模式 抽象工场模式
设计模式 设计模式是前人总结的,为了解决一类问题而总结的代码设计经验. 最初可能为了使用而使用,后面就会发现.非常多没想到的问题由于使用了正确的设计模式已经为你考虑到了.<design patt ...