| 查看: 4314 | 回复: 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朵)
» 猜你喜欢
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有4人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
ACS Applied Polymer Materials投稿
已经有10人回复
RSC ADV状态问题
已经有4人回复
» 本主题相关商家推荐: (我也要在这里推广)
» 本主题相关价值贴推荐,对您同样有帮助:
如何提高水基VAE胶粘剂的初粘性
已经有10人回复
液相色谱分析对氨基苯酚
已经有5人回复
蛋白质原液里那些氨基酸残基容易被氧化?
已经有7人回复
青基提交,些许遗憾
已经有13人回复
求助:机器学习和模式识别领域的一个基本问题
已经有5人回复
如何补全蛋白上的缺失残基
已经有13人回复
在美国福特汽车研发中心实验室学习中的一点心得-1
已经有8人回复

奋斗1s
金虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 1258.1
- 散金: 109
- 红花: 1
- 帖子: 415
- 在线: 106.7小时
- 虫号: 980571
- 注册: 2010-03-24
- 专业: 有机合成
10楼2011-04-05 10:00:55
2楼2009-10-12 15:02:40
sijifengsd
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 273.7
- 散金: 50
- 红花: 2
- 帖子: 94
- 在线: 12.1小时
- 虫号: 794988
- 注册: 2009-06-15
- 性别: GG
- 专业: 物理化学

3楼2009-10-12 16:03:56
mophyworld
金虫 (正式写手)
- 应助: 3 (幼儿园)
- 金币: 1282.1
- 散金: 10
- 红花: 4
- 帖子: 459
- 在线: 88.2小时
- 虫号: 631894
- 注册: 2008-10-20
- 性别: MM
- 专业: 理论和计算化学

4楼2009-10-14 15:55:45













回复此楼
liuwei4410