24小时热门版块排行榜    

查看: 3614  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

sijifengsd

银虫 (小有名气)

[交流] 【经验】用Modeller补全残基学习心得已有8人参与

最近专注于分子动力学的模拟研究。发现好多的蛋白质晶体结构或多或少的有一部分残基丢失了,要做动力学模拟,就需要把丢失的残基给补上。看文献发现比较公认的、又是免费的软件当属Modeller了。所以本人花了两个周的时间研究了这个软件的使用方法。现把个人的心得体会奉献出来,希望给需要的同学们提供点帮助:
首先大家可以到这个网站 申请个序列号,下载个免费的软件:
http://salilab.org/modeller/registration.html
安装成功就可用了。
这个软件要用到一些脚本文件,补全残基可以带着配体,水,也可以不带。
一 没有配体、水分子:
第一步 处理大分子pdb 文件,删除杂原子 和水分子等。
第二步 建立一个get_ali.py 脚本文件

# get sequece of the 2FMX PDB file, and write to an alignment file.

log.verbose()
env = environ()

env.io.atom_files_directories = ['.', '../atom_file']

code = '2FMX'
m = model(env, file=code)
aln = alignment(env)

aln.append_model(m, align_codes=code)
aln.write(code+'.seq')

第三步 :运行 modpv7 get_ali.py 产生一个sequence 文件:2FMX.seq

>P1;2FMX
structureX:2FMX:  13 :A:+556 :B:MOL_ID  1; MOLECULE  GTP-BINDING PROTEIN SAR1B; CHAIN  A, B; FRAGMENT  RESIDUES 10-198; SYNONYM  SAR1, GTBPB; ENGINEERED  YES:MOL_ID  1; ORGANISM_SCIENTIFIC  CRICETULUS GRISEUS; ORGANISM_COMMON  CHINESE HAMSTER; ORGANISM_TAXID  10029; EXPRESSION_SYSTEM  ESCHERICHIA COLI; EXPRESSION_SYSTEM_TAXID  562; EXPRESSION_SYSTEM_VECTOR_TYPE  PLASMID; EXPRESSION_SYSTEM_PLASMID  PET11D: 1.82:-1.00
SSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID
第四步:用产生的序列文件产生一个alignment.ali脚本文件:把上面的序列复制到脚本中

>P1;2FMX
structureX:2FMX.pdb:   13 :A:4872 :A:undefined:undefined:-1.00:-1.00
SSVL---QFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID---

>P1;2FMX_fill
sequence:2FMX_fill:     :A  :     :A ::: 0.00: 0.00
SSVLHJKQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYIDLPO
注意:上面的一个序列是pdb源文件的残基,而下面是加上缺失残基的全序列。13 :A:4872 A:表示在源文件中开始和结束的残基序号。
第五步 建立一个select.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_directories = ['.', '../atom_file']
class MyModel(loopmodel):
    def select_atoms(self):
        return selection(self.residue_range('1:A', '9:A'),
                         self.residue_range('68:A', '73:A'),
               
a = MyModel(env,
            alnfile = 'alignment.ali',
            knowns = '2FMX',
            sequence = '2FMX_fill')

a.starting_model = 1
a.ending_model = 2

a.make()

注释: 上面的'1:A', '9:A','68:A', '73:A' 是加入的那部分残基在从1开始中的序列编号;下面的红字表示可以改动的地方。class MyModel(automodel) 中的automodel也可以换成loopmodel,这样对已loop区的优化更好。
第六步 运行 mod9v7 select.py 结果提取pdb文件即可。
二 包含配体和水分子
第一步 大分子就不要处理了。
第二步 建立一个get_ali.py 脚本文件

# get sequece of the 2FMX PDB file, and write to an alignment file.

log.verbose()
env = environ()

env.io.atom_files_directories = ['.', '../atom_file']

code = '2FMX'
m = model(env, file=code)
aln = alignment(env)

aln.append_model(m, align_codes=code)
aln.write(code+'.seq')

第三步 :运行 modpv7 get_ali.py 产生一个sequence 文件:2FMX.seq

>P1;2FMX
structureX:2FMX:  13 :A:+556 :B:MOL_ID  1; MOLECULE  GTP-BINDING PROTEIN SAR1B; CHAIN  A, B; FRAGMENT  RESIDUES 10-198; SYNONYM  SAR1, GTBPB; ENGINEERED  YES:MOL_ID  1; ORGANISM_SCIENTIFIC  CRICETULUS GRISEUS; ORGANISM_COMMON  CHINESE HAMSTER; ORGANISM_TAXID  10029; EXPRESSION_SYSTEM  ESCHERICHIA COLI; EXPRESSION_SYSTEM_TAXID  562; EXPRESSION_SYSTEM_VECTOR_TYPE  PLASMID; EXPRESSION_SYSTEM_PLASMID  PET11D: 1.82:-1.00
SSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID
第四步:用产生的序列文件产生一个alignment.ali脚本文件:把上面的序列复制到脚本中

>P1;2FMX
structureX:2FMX.pdb:   13 :A:4890 :A:undefined:undefined:-1.00:-1.00
SSVL---QFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID---.wwwwwwwwwwww

>P1;2FMX_fill
sequence:2FMX_fill:     :A  :     :A ::: 0.00: 0.00
SSVLHJKQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYIDLPO. wwwwwwwwwwww
注意:到这一步和上面有区别了,因为有配体和水分子就要在序列的后面加上”.(表示配体,有几个配体杂原子加几个点)” 和”w(表示水分子,有几个加几个w)”。如果水分子和配体时单独成链的要加/例如:/. Wwwwwwwwwwww,或者 . /wwwwwwwwwwww
第五步 建立一个select.py文件 ,在这个文件中我们只优化补全的那部分残基。

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

log.verbose()
env = environ()
env.io.water = True
env.io.hetatm = True

# directories for input atom files
env.io.atom_files_directories = ['.', '../atom_file']
class MyModel(loopmodel):
    def select_atoms(self):
        return selection(self.residue_range('1:A', '9:A'),
                         self.residue_range('68:A', '73:A'),
               
a = MyModel(env,
            alnfile = 'alignment.ali',
            knowns = '2FMX',
            sequence = '2FMX_fill')

a.starting_model = 1
a.ending_model = 2

a.make()

注释:这里加入了env.io.water = True  env.io.hetatm = True还识别水分子和配体。
第六步 运行 mod9v7 select.py 结果提取pdb文件即可
三 复杂点的 比如两条链的

第一步 下载pdb
第二步 建立一个get_ali.py 脚本文件

# get sequece of the 2FMX PDB file, and write to an alignment file.

log.verbose()
env = environ()
env.io.water = True
env.io.hetatm = True

env.io.atom_files_directories = ['.', '../atom_file']

code = '2FMX'
m = model(env, file=code)
aln = alignment(env)

aln.append_model(m, align_codes=code)
aln.write(code+'.seq')
注:这里直接用env.io.water = True  nv.io.hetatm = True 会直接把配体、水给你表示出来

第三步 :运行 modpv7 get_ali.py 产生一个sequence 文件:2FMX.seq
>P1;2FMX
structureX:2FMX:  13 :A:+556 :B:MOL_ID  1; MOLECULE  GTP-BINDING PROTEIN SAR1B; CHAIN  A, B; FRAGMENT  RESIDUES 10-198; SYNONYM  SAR1, GTBPB; ENGINEERED  YES:MOL_ID  1; ORGANISM_SCIENTIFIC  CRICETULUS GRISEUS; ORGANISM_COMMON  CHINESE HAMSTER; ORGANISM_TAXID  10029; EXPRESSION_SYSTEM  ESCHERICHIA COLI; EXPRESSION_SYSTEM_TAXID  562; EXPRESSION_SYSTEM_VECTOR_TYPE  PLASMID; EXPRESSION_SYSTEM_PLASMID  PET11D: 1.82:-1.00
SSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID/SSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDPTLHPTSEE
LTIAGMTFTTFDLGVWKNYLPAINGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEE
RLREMFGLYGQTTGKGSVSLKELNARPLEVFMCSVLKRQGYGEGFRWMAQYID/.x/.$x/wwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwww/wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww*

第四步:用产生的序列文件产生一个alignment.ali脚本文件:把上面的序列复制到脚本中

>P1;2FMX
structureX:2FMX.pdb:   13 :A:4872 :B:undefined:undefined:-1.00:-1.00
---------SSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLG------RVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID/---------SSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKD-------PTLHPTSEE
LTIAGMTFTTFDLG-------VWKNYLPAINGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEE
RLREMFGLYGQTTGKGSVSLKELNARPLEVFMCSVLKRQGYGEGFRWMAQYID/.x/.$x/wwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwww/wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww*

>P1;2FMX_fill
sequence:2FMX_fill:     :A  :     :B ::: 0.00: 0.00
HHHHHHSGFSSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEELTIAGMTFTTFDLGGHIQARRVWKNYLPAI
NGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEERLREMFGLYGQTTGKGSVSLKEL
NARPLEVFMCSVLKRQGYGEGFRWMAQYID/HHHHHHSGFSSVLQFLGLYKKTGKLVFLGLDNAGKTTLLHMLKDDRLGQHVPTLHPTSEE
LTIAGMTFTTFDLGGHIQARRVWKNYLPAINGIVFLVDCADHERLLESKEELDSLMTDETIANVPILILGNKIDRPEAISEE
RLREMFGLYGQTTGKGSVSLKELNARPLEVFMCSVLKRQGYGEGFRWMAQYID/.x/.$x/wwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwww/wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww*
第五步 建立一个select.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_directories = ['.', '../atom_file']
env.io.water = True
env.io.hetatm = True


class MyModel(loopmodel):
    def select_atoms(self):
        return selection(self.residue_range('1:A', '9:A'),
                         self.residue_range('68:A', '73:A'),
                         self.residue_range('196:B', '204:B'),
                         self.residue_range('240:B', '246:B'),
                         self.residue_range('270:B', '276:B'))
                        
                                      
a = MyModel(env,
            alnfile = 'ali-ligand.ali',
            knowns = '2FMX',
            sequence = '2FMX_fill')

a.starting_model = 1
a.ending_model = 2

a.make()
注释:这里因为有两条链所以编号时B链的是在A链的基础上编的
第六步 运行 mod9v7 select.py 结果提取pdb文件即可上面说的只是一些基本的东西,要想深入的学好Modeller 还要花点时间看看在线的tutorial
http://salilab.org/modeller/tutorial/

[ Last edited by lei0736 on 2009-11-24 at 22:03 ]
回复此楼

» 收录本帖的淘贴专辑推荐

分子模拟 值得借鉴的经验 分子模拟 高通量虚拟筛选

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

似水年华
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuwei4410

金虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送鲜花一朵
楼主 你太有才了 以后就跟你混了阿 有问题还请您多多指教
一切都是浮云,开心最重要!
14楼2012-05-04 19:11:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuwei4410

金虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请教一下我在做select.py 这一步时总是出现错误:
    a.starting_model = 1
    ^
SyntaxError: invalid syntax
能给解答下马?谢谢!
一切都是浮云,开心最重要!
15楼2012-05-05 10:13:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sijifengsd 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 编辑是什么意思 15+3 s090604054 2024-06-15 3/150 2024-06-16 10:29 by bobvan
[考博] 2025考博 +5 自强不息a?a 2024-06-15 7/350 2024-06-16 10:07 by wang333666
[基金申请] 博士后创新人才支持计划公示 +9 aishida144 2024-06-14 15/750 2024-06-16 09:52 by msjy
[有机交流] 车间生产,真空度很高,温度很高,但减压蒸馏速度很慢。 10+12 召唤鬼泣lL 2024-06-13 36/1800 2024-06-16 09:20 by ddc805
[考博] 34岁读博士晚吗 +26 emitdne 2024-06-13 26/1300 2024-06-16 07:16 by liyeqik
[文学芳草园] 累并快乐着 +13 MYHLD521 2024-06-14 13/650 2024-06-15 22:59 by zeolitess
[基金申请] 博后面上今天有bug可以看到是否资助? +20 lyfbangong 2024-06-12 31/1550 2024-06-15 21:18 by since—2010
[考博] 上海交大招收材料化学方向科研助理/“申请考核”博士(请勿回复帖子或站内投条) +3 灵梦and紫 2024-06-12 4/200 2024-06-15 20:58 by 1822836277
[教师之家] 请问事业编制和年薪制冲突吗? +6 ZHONGWU_U 2024-06-14 6/300 2024-06-15 20:16 by Ermito
[基金申请] BO4的YQ答辩通知发布了吗? +6 博学笃行 2024-06-11 6/300 2024-06-15 16:04 by 悲催科研狗
[论文投稿] 投稿时忘记修改一作 +7 gll123456 2024-06-13 11/550 2024-06-15 11:49 by gll123456
[食品] 食品博士导师 +6 小李醒yy 2024-06-11 9/450 2024-06-14 23:37 by 小李醒yy
[基金申请] 面上基金有一个(两个)C是不是就没戏了.... 5+3 zzzm116 2024-06-13 17/850 2024-06-14 22:26 by lzt8076
[基金申请] E12面上申请 +4 汉风之遗 2024-06-13 4/200 2024-06-14 15:28 by 天外飞去来
[考博] 申博找导师 +4 疏影横斜水清浅3 2024-06-13 6/300 2024-06-14 14:31 by zxl_1105
[基金申请] 国自然基金公布的时候基金号有吗 +8 潇洒怡惜 2024-06-13 11/550 2024-06-14 11:24 by JRfei
[论文投稿] ACS Nano投稿后分配到副编辑手里12天了,能确定送审了吗? +5 潇洒怡惜 2024-06-12 10/500 2024-06-14 09:56 by 潇洒怡惜
[论文投稿] 最近写了一篇控制优化领域的文章,可以投哪里啊?有没有水一些的期刊推荐 +7 香瓜木香 2024-06-12 13/650 2024-06-14 07:05 by 香瓜木香
[基金申请] 博后特助这周出结果吗?往年都是啥时候啊? +13 jsqy 2024-06-12 17/850 2024-06-12 19:55 by Lynn212
[论文投稿] water research状态咨询 5+3 Flyyawa 2024-06-10 6/300 2024-06-11 09:45 by bobvan
信息提示
请填处理意见