计算化学公社

标题: 【教程】Rosetta Remodel: 快速修复PDB中缺失的Loop [打印本页]

作者
Author:
kunkun    时间: 2019-5-9 15:42
标题: 【教程】Rosetta Remodel: 快速修复PDB中缺失的Loop
本帖最后由 kunkun 于 2019-5-15 13:37 编辑
本文仅提供一种快速修复PDB中缺失loop的教程,可用于修复3~12氨基酸长度的loop。>具体的应用请参考更多文献支持。
> 特点: 适用范围广,但是操作复杂,计算耗时长。但是结果准确。
> 基础知识: Loop修复过程中,影响最大的因素是loop氨基酸的长度,如果修复的loop小于等于8个氨基酸时,结果较为准确。如果loop的长度如果大于12个氨基酸,那么在缺乏限制/实验信息的情况下,你很有可能得不到正确的结构。(这个我是有大量测试经验的)

在Rosetta中,修复缺失Loop结构依赖于remodel模块以及loopmodeling模块。loop建模的方法为cyclic coordinate descent (CCD)。

参考: https://www.rosettacommons.org/d ... eling/loop_modeling

教程资源: 位于$ROSETTA3/demos/tutorials/loop_modeling

1. 准备蓝图文件

使用脚本getBluePrintFromCoords.pl, 生成原始BluePrint文件就是missing_loops.remodel。-pdbfile,代表输入的初始pdb文件。-chain H 代表pdb结构中的哪条链。'>'代表生成的蓝图文件名称。

  1. cd $ROSETTA3/demos/tutorials/loop_modeling
复制代码


蓝图文件的内容如下图所示,包含了每个氨基酸的pose序号、以及氨基酸类型。'.' 代表不对这个位点的氨基酸做任何的设计处理。

  1. ...
  2. 11 V .
  3. 12 K .
  4. 13 S .
  5. 14 S .
  6. ...
复制代码



然后我们需要对蓝图文件进行适当的修改,将我们需要重构的loop信息填写进去。

比如我们从pose序号12-13之间插入一段Loop(氨基酸序列为KPG)。以第5行为例子。

- 新插入的loop的pose序号需要设定为'0',
- 氨基酸类型为'X'
- 'L'代表氨基酸所在的二级结构信息(H=helix,L=loop,E=Extended)
- PIKAA为resfile的写法,代表将氨基酸X突变成K氨基酸。
- 注意需要包括Loop N端和C端的一个锚定氨基酸也需要重新指定为原来的氨基酸。

  1. # 修改后的蓝图文件应该是这样的
  2. ...
  3. 11 V .
  4. 12 K L PIKAA K  
  5. 0 X L PIKAA K #<- **以这行为例解释蓝图文件意义**
  6. 0 X L PIKAA P
  7. 0 X L PIKAA G
  8. 13 S L PIKAA S
  9. 14 S .
  10. ...
复制代码


注意1: 我们需要将缺失loop两端残基的二级结构偏好性也定义,这将会影响骨架的柔性。
注意2: 蓝图文件的末尾不应该出现无意义的空格,否则会造成remodel app崩溃。
注意3: 在蓝图文件里可以定义多个Loop同时构建,也可以用于延长N端,C端,删除局部Loop, 甚至将两个蛋白用Linker链接起来。用好蓝图文件,极大便利对Loop结构的操作。


2. 重构Loop结构

首先需要编写运行参数文件 'flag_missing_loops'

  1. -in:file:s input_files/3gbn_missing_loops.pdb   #<-输入的初始模型
  2. -remodel:blueprint input_files/3gbn_missing_loops.remodel  # 指定蓝图文件


  3. # 控制run
  4. -out:nstruct 8 # 控制数目
  5. -run:chain H
  6. -remodel:num_trajectory 1
  7. -remodel:quick_and_dirty  # 设置后,不在进行额外的优化; 会增加耗时。
  8. -no_optH false

  9. # 额外考虑rotamer角,使得结构更好
  10. -ex1
  11. -ex2                                          

  12. # 控制输出
  13. -out:path:all output_files
  14. -out:file:scorefile 3gbn_missing_loops.sc       # 打分输出结果文件设置

  15. # 控制聚类, 当-remodel:num_trajectory设置大于1时方可启用。
  16. #-remodel:use_clusters true
  17. #-remodel:cluster_radius 9.0 # 控制聚类截断。
复制代码



运行
  1. mpirun -np 4 remodel.mpi.macosclangrelease @flag_missing_loops
复制代码

3. 查看结果

在Pymol中查看结果:打开/output_files/中3gbn_missing_loops_0001.pdb与/input/3gbn_missing_loops.pdb
(, 下载次数 Times of downloads: 154)



!!注意事项!!

重构模型策略是十分重要的一个步骤:

- 对于短链(3~5):如果需要得到比较可信的初始结果需要设置`-out:nstruct`为500或则更多,并做聚类分析。
- 对于中短链的Loop(6~12) 最好直接先用CCD生成一个粗略的模型,然后用NGK建模方法进行详细地优化, 然后做聚类分析。
- 对于长loop(>12), 最好直接先用CCD生成一个粗略的模型,然后用NGK建模方法外加限制参数进行详细地优化, 然后做聚类分析。



其他: 利用Chimera修复Loop

> 主要调用Modeller进行loop建模。

前人的博文写得比较详细,这里不做累赘重复,可详细参考:https://kangsgo.com/26.html


作者
Author:
kunkun    时间: 2019-5-9 15:43
感觉从markdown拷贝过来的感觉怪怪的。字体时大时小。。
作者
Author:
tomwong4253    时间: 2019-5-9 21:22
作为结构生物学混出来的摸鱼玩家有个不理解的问题:loop如果在蛋白功能区,那么重要的部位还有缺失,并且缺失到需要用工具去修补,这晶体结构审稿人能让发?
作者
Author:
sobereva    时间: 2019-5-9 21:22
kunkun 发表于 2019-5-9 15:43
感觉从markdown拷贝过来的感觉怪怪的。字体时大时小。。

建议用纯文本方式粘贴,然后在论坛的编辑器里修改格式
文中的图我这里显示不出来,建议以上传图片方式插入帖子

作者
Author:
kunkun    时间: 2019-5-9 22:21
本帖最后由 kunkun 于 2019-5-9 22:33 编辑
tomwong4253 发表于 2019-5-9 21:22
作为结构生物学混出来的摸鱼玩家有个不理解的问题:loop如果在蛋白功能区,那么重要的部位还有缺失,并且缺 ...

抗体cdr loop是抗体的关键结合区域,这部分建模的文章也不在少数呢。NGK对于12长度以内的loop RMSD是可以达到小于1埃的水平,当然这个也分情况。这里只是抛砖引玉,概述一个方法。(非晶体结构发表,只限于模拟)

补充: 有些抗体的CDR1 N端柔性较大,晶体上显示有部分缺失,模拟时总不能让他就这么飘着吧。

作者
Author:
kunkun    时间: 2019-5-9 22:29
sobereva 发表于 2019-5-9 21:22
建议用纯文本方式粘贴,然后在论坛的编辑器里修改格式
文中的图我这里显示不出来,建议以上传图片方式插 ...

好的 老师,我现在修改
作者
Author:
tomwong4253    时间: 2019-5-13 10:35
哦哦,了解你说的问题了。我理解错了,还以为你说的是类似酶促反应,蛋白互作之类的“关键位置”呢。
确实,对于抗体设计来说,飘出去的loop恰恰起到了抗原的作用,对于抗体ab inito设计是必不可少的。
但是你有一条我说的不太理解:你说的RMSD是与晶体结构对比还是说的自身模拟过程中的涨落?loop本身柔性就不小,建模后模拟即使RMSD大的多也不能说建模失败啊,跑跑MD算算RMSF其实大家的柔性也差不到哪去啊。loop与晶体结构接近并不能作为loop建模是否“完美”的一个证据吧。这和刚性结构建模是不一样的。

作者
Author:
tomwong4253    时间: 2019-5-13 10:37
我碰到这种情况,用结构生物学里的Coot软件修一修就足够了,还能顺便调一下Ramanchandran。比Rosetta这种“重型武器”方便多了。
作者
Author:
kunkun    时间: 2019-5-13 11:56
本帖最后由 kunkun 于 2019-5-31 22:09 编辑
tomwong4253 发表于 2019-5-13 10:35
哦哦,了解你说的问题了。我理解错了,还以为你说的是类似酶促反应,蛋白互作之类的“关键位置”呢。
确实 ...

我之前指的RMSD的是通过建模之后loop的CA与晶体中CA的RMSD(测试组)。这个RMSD只是用于比较loop建模方法精度的一个指标(可靠度),修补PDB loop的应用主要是指中短链的Loop结构的建模(柔性相对比较小)。并非我们模拟过程中RMSD,此处PDB修复的目的是为了提供一个比较合理的初始构象做后续的分析和设计处理。


作者
Author:
tomwong4253    时间: 2019-5-17 12:00
做过结构解析的都知道Coot,对于这种loop缺失的修补不要太简单,而且所见即所得,自己想咋调就咋调,你可以了解一下。
作者
Author:
nickkid    时间: 2021-8-17 11:06
tomwong4253 发表于 2019-5-17 12:00
做过结构解析的都知道Coot,对于这种loop缺失的修补不要太简单,而且所见即所得,自己想咋调就咋调,你可以 ...

Coot对loop区缺失氨基酸序列的长度有要求吗?我的蛋白结构里有几段各自长度10-20不等的氨基酸残基序列的缺失,用Coot能解决吗?
作者
Author:
azero    时间: 2022-6-2 15:44
该用哪个工具聚类分析啊

作者
Author:
xiaoche    时间: 2023-2-1 13:06
tomwong4253 发表于 2019-5-17 12:00
做过结构解析的都知道Coot,对于这种loop缺失的修补不要太简单,而且所见即所得,自己想咋调就咋调,你可以 ...

可是如果本身数据质量就不好,loop区看不清楚电子密度,coot就不可以了。这种情况只能建模
作者
Author:
tomwong4253    时间: 2023-2-7 15:34
xiaoche 发表于 2023-2-1 13:06
可是如果本身数据质量就不好,loop区看不清楚电子密度,coot就不可以了。这种情况只能建模

即使没有density,只要不是说长到几十个的缺失,Coot也可以根据Ramachadran限制大概给出一个结构,结合二级结构预测的结果,自己再简单修一下,也不是不能用。
作者
Author:
xiaoche    时间: 2023-2-8 22:03
tomwong4253 发表于 2023-2-7 15:34
即使没有density,只要不是说长到几十个的缺失,Coot也可以根据Ramachadran限制大概给出一个结构,结合二 ...

可以发文章吗

作者
Author:
c00jsw00    时间: 2023-2-9 05:47
tomwong4253 发表于 2019-5-9 21:22
作为结构生物学混出来的摸鱼玩家有个不理解的问题:loop如果在蛋白功能区,那么重要的部位还有缺失,并且缺 ...

因為LOOP flexibility很高..XRAY不容易看到 這不是常識?
作者
Author:
whitemouse    时间: 2023-2-28 19:44
想请教一下楼主,蓝图里怎么写可以做到将两个蛋白用linker连接起来呢
作者
Author:
t11b41    时间: 2023-3-22 16:20
tomwong4253 发表于 2019-5-9 21:22
作为结构生物学混出来的摸鱼玩家有个不理解的问题:loop如果在蛋白功能区,那么重要的部位还有缺失,并且缺 ...

通过计算模拟后机制解析清晰是不是可以发啊?我们做计算模拟的不就是为了解释实验上观测不到的黑箱问题么?
作者
Author:
yph    时间: 2024-9-14 22:44
PDB如果是蛋白质复合物有多条莲好像会fix的很奇怪,蓝图文件里面无法指定氨基酸链,是不是需要重新将氨基酸残基编号呐?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3