autodataming的个人博客分享 http://blog.sciencenet.cn/u/autodataming

博文

Modeller官方教程---修补蛋白的loop

已有 11929 次阅读 2013-9-17 10:13 |个人分类:DrugDesign|系统分类:科研笔记| loop, 修补

Author: Zhaoqiang Chen @DDDC

Email: 744891290@qq.com



背景:解析蛋白晶体结构的时候,有时候会有一段loop区域解析不出来,

这时候可以借助于modeller来修补这段序列。

基于序列产生多个构象(10+);


然后根据已经知道的一些知识,来选择符合你要求的loop,或者选择不同摆向的loop.


‘’‘

对于我的课题(虚拟筛选),我的口袋离loop的距离大约9A,利用maestro自动修补的loop,摆向和其同源蛋白的摆向相反。

所以我产生50个构象,目的是从中选出具有不同摆向的蛋白。

1和同源蛋白的摆向 相近

2和同源蛋白的摆向 相反

3中间

当然我潜意识是亲向第一种情况的。

’‘’

======================================================================

具体操作:

1首先下载modeller,然后安装(推荐linux系统)

其中在使用软件之前,建议阅读FAQs

2下载蛋白结构 xxx.pdb

3观察蛋白的结构:

方法1.

缺失了几段loop区域。这里推荐chimera软件。

不推荐pymol,molecular模式并不准确比如1qg8.pdb

方法2

在pdb文本中查找missing的信息。

4提取pdb中的氨基酸信息


              get_seq.py

===============================

#get_seq.py

# Get the sequence of the 1qg8 PDB file, and write to an alignment file
code = '1qg8'    #要修补的蛋白的名字不需要后缀,

#该文件和脚本放在同一目录

e = environ()
m = model(e, file=code)
aln = alignment(e)
aln.append_model(m, align_codes=code)
aln.write(file=code+'.seq')#生成的文件是code加seq的后缀,其中存放氨基酸序列是不包含loop缺失的序列

===================================

input:1qg8.pdb(ent)

output:1qg8.seq

by the script:get_seq.py

==============================================================

5修改1qg8.seq文件

step1:在缺少氨基酸的地方添加‘-’

step2:复制到文本的下方,并把‘-’换成对应的氨基酸。

第一行起名字

第二行因为是不知道结构的所以要把关键词改成sequence

step3:另存为1qg8.ali

===============================

>P1;1qg8
structureX:1qg8:   2 :A: 256 :A:undefined:undefined:-1.00:-1.00
PKVSVIMTSYNKSDYVAKSISSILSQTFSDFELFIMDDNSNEETLNVIRPFLNDNRVRFYQSDISGVKERTEKTR
YAALINQAIEMAEGEYITYATDDNIYMPDRLLKMVRELDTHPEKAVIYSASKTYHLN---DIVKETVRPAAQVTW
NAPCAIDHCSVMHRYSVLEKVKEKFGSYWDESPAFYRIGDARFFWRVNHFYPFYPLDEELDLNYIT---------
-----EFVRNLPPQRNCRELRESLKKLGMG*
>P1;1qg8_fill
sequence:::::::::
PKVSVIMTSYNKSDYVAKSISSILSQTFSDFELFIMDDNSNEETLNVIRPFLNDNRVRFYQSDISGVKERTEKTR
YAALINQAIEMAEGEYITYATDDNIYMPDRLLKMVRELDTHPEKAVIYSASKTYHLNENRDIVKETVRPAAQVTW
NAPCAIDHCSVMHRYSVLEKVKEKFGSYWDESPAFYRIGDARFFWRVNHFYPFYPLDEELDLNYITDQSIHFQLF
ELEKNEFVRNLPPQRNCRELRESLKKLGMG*


================================

6fill_loop.py

====================================

from modeller import *
from modeller.automodel import *    # Load the automodel class

log.verbose()
env = environ()

# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']#这里暂时不知道是干嘛的???

class MyModel(automodel):
   def select_atoms(self):
       return selection(self.residue_range('133', '135'),
                        self.residue_range('216', '230'))      #缺失的氨基酸的范围

a = MyModel(env, alnfile = 'alignment.ali',
           knowns = '1qg8', sequence = '1qg8_fill') #一个是比对一个是已经知道结构,一个是序列
a.starting_model= 1                    #设置产生第一个mode的编号
a.ending_model  = 1                  #设置产生最后一个mode的编号,如果需要产生10个就改为10

a.make()

====================================


====================================

这里很明显是基于序列修补的loop,

如果有谁知道如何基于模板修补loop,请与我分享,谢谢。

如果操作有疑惑的也可以和我联系。

======================================

感谢

1http://bbs.sciencenet.cn/home.php?mod=space&uid=355217 

让我有了写博客的想法,

感谢对每个学生细心耐心的回答。

这种热心,需要每个人传承下去。


=====================

参考

1http://salilab.org/modeller/wiki/Missing%20residues





https://blog.sciencenet.cn/blog-950202-725573.html


下一篇:MODELLER基础教程---基于单模板的同源模建
收藏 IP: 202.127.19.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 13:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部