Modeller多模板同源建模教程

1. Modeller简介

Modeller用于蛋白质三维结构的同源或比对建模。用户可根据氨基酸序列自动计算出一个包含所有非氢原子排列的三维结构模型。Modeller通过满足空间约束实现比较蛋白质结构建模,并可以执行许多附加任务:包括蛋白质结构环的从头建模、根据灵活定义的目标函数优化各种蛋白质结构模型、蛋白质序列的多重排列和结构聚类、序列数据库搜索、蛋白质结构比较等。Modeller可适用于大多数Unix/Linux系统、Windows和Mac。

2. Modeller下载安装

Anaconda Python (“conda”)
Windows (32-bit) Installation guide
Windows (64-bit) Installation guide
Mac (32-bit or 64-bit Intel) Installation guide
Linux (32-bit RPM) Installation guide
Linux (64-bit x86_64 RPM) Installation guide
Linux (32-bit Debian/Ubuntu package) Installation guide
Linux (64-bit x86_64) Installation guide
Generic Unix tarball Installation guide

推荐使用Conda安装,安装命令如下:

conda config --add channels salilab
conda install modeller

安装后,系统将提示添加Modeller许可证密钥。密钥可通过教育邮箱.edu注册申请获得。编辑/Library/modeller-9.24/modlib/modeller/config.py 文件,修改密钥。

3. Modeller多模板建模流程

参考自官方教程Advanced example

3.1 下载fasta文件

  1. Uniprot下载(浏览器下载)
例: https://www.uniprot.org/uniprot/P29590.fasta
  1. wget下载(shell下载)
wget https://www.uniprot.org/uniprot/P29590.fasta

3.2 序列比对查找模板

  1. 使用SWISS-MODEL进行模板比对

    填写序列并搜索模板

  2. 使用BlastP进行模板比对

    根据同源性cover位置选择多个模板

3.3 多模板align

由Modeller中的salign.py脚本生成多模板的聚类对齐。

mod9.24 salign.py

salign.py脚本如下:

# Illustrates the SALIGN multiple structure/sequence alignment
from modeller import *
log.verbose()
env = environ()
env.io.atom_files_directory = './'aln = alignment(env)
for (code, chain) in (('2mdh', 'A'), ('1bdm', 'A'), ('1b8p', 'A')):mdl = model(env, file=code, model_segment=('FIRST:'+chain, 'LAST:'+chain))aln.append_model(mdl, atom_files=code, align_codes=code+chain)for (weights, write_fit, whole) in (((1., 0., 0., 0., 1., 0.), False, True),((1., 0.5, 1., 1., 1., 0.), False, True),((1., 1., 1., 1., 1., 0.), True, False)):aln.salign(rms_cutoff=3.5, normalize_pp_scores=False,rr_file='$(LIB)/as1.sim.mat', overhang=30,gap_penalties_1d=(-450, -50),gap_penalties_3d=(0, 3), gap_gap_score=0, gap_residue_score=0,dendrogram_file='fm00495.tree',alignment_type='tree', # If 'progresive', the tree is not# computed and all structues will be# aligned sequentially to the firstfeature_weights=weights, # For a multiple sequence alignment only# the first feature needs to be non-zeroimprove_alignment=True, fit=True, write_fit=write_fit,write_whole_pdb=whole, output='ALIGNMENT QUALITY')aln.write(file='fm00495.pap', alignment_format='PAP')
aln.write(file='fm00495.ali', alignment_format='PIR')aln.salign(rms_cutoff=1.0, normalize_pp_scores=False,rr_file='$(LIB)/as1.sim.mat', overhang=30,gap_penalties_1d=(-450, -50), gap_penalties_3d=(0, 3),gap_gap_score=0, gap_residue_score=0, dendrogram_file='1is3A.tree',alignment_type='progressive', feature_weights=[0]*6,improve_alignment=False, fit=False, write_fit=True,write_whole_pdb=False, output='QUALITY')

只需修改第8行中的PDB IDChain

for (code, chain) in ((’2mdh’, ‘A’), (’1bdm’, ‘A’), (’1b8p’, ‘A’)):

3.4 修改查询序列文件

将下载的P29590.fasta文件修改为P29590.ali文件如下:

>P1;P29590
sequence:P29590:::::::0.00: 0.00
MEPAPARSPRPQQDPARPQEPTMPPPETPSEGRQPSPSPSPTERAPASEEEFQFLRCQQC
QAEAKCPKLLPCLHTLCSGCLEASGMQCPICQAPWPLGADTPALDNVFFESLQRRLSVYR
DAMTQALQEQDSAFGAVHAQMHAAVGQLGRARAETEELIRERVRQVVAHVRAQERELLEA
VDARYQRDYEEMASRLGRLDAVLQRIRTGSALVQRMKCYASDQEVLDMHGFLRQALCRLR
QEEPQSLQAAVRTDGFDEFKVRLQDLSSCITQGKDAAVSKKASPEAASTPRDPIDVDLPE
FNLQALGTYFEGLLEGPALARAEGVSTPLAGRGLAERASQQS*

第一行包含序列码,格式为>P1;code

第二行有10个用冒号分隔的字段,如果适用,通常包含有关结构文件的信息。其中只有两个字段用于序列,sequence表示文件包含没有已知结构的序列,P29590表示序列的文件名。

文件的其余部分包含P29590的序列,并用*标记其结尾。

使用标准的单字母氨基酸代码。注意,它们必须是大写字母;一些小写字母用于非标准残基,请参阅modlib/restyp.lib文件中的有关详细信息。

3.5 查询序列与模板align

由Modeller中的align2d_mult.py脚本生成查询序列与模板序列的对齐。

mod9.24 align2d_mult.py

align2d_mult.py脚本如下:

from modeller import *log.verbose()
env = environ()env.libs.topology.read(file='$(LIB)/top_heav.lib')# Read aligned structure(s):
aln = alignment(env)
aln.append(file='fm00495.ali', align_codes='all')
aln_block = len(aln)# Read aligned sequence(s):
aln.append(file='TvLDH.ali', align_codes='TvLDH')# Structure sensitive variable gap penalty sequence-sequence alignment:
aln.salign(output='', max_gap_length=20,gap_function=True,   # to use structure-dependent gap penaltyalignment_type='PAIRWISE', align_block=aln_block,feature_weights=(1., 0., 0., 0., 0., 0.), overhang=0,gap_penalties_1d=(-450, 0),gap_penalties_2d=(0.35, 1.2, 0.9, 1.2, 0.6, 8.6, 1.2, 0., 0.),similarity_flag=True)aln.write(file='TvLDH-mult.ali', alignment_format='PIR')
aln.write(file='TvLDH-mult.pap', alignment_format='PAP')

修改替换TvLDH为自己的P29590.ali中的名字P29590

sed -i 's\TvLDH\P29590\g' align2d_mult.py

3.6 多模板建模

由Modeller中的model_mult.py脚本生成建模结构。(生成100个结构)

mod9.24 model_mult.py

model_mult.py脚本如下:

from modeller import *
from modeller.automodel import *env = environ()
a = automodel(env, alnfile='TvLDH-mult.ali',knowns=('1bdmA','2mdhA','1b8pA'), sequence='TvLDH',assess_methods=(assess.DOPE,assess.GA341))
a.starting_model = 1
a.ending_model = 100
a.make()

修改TvLDH为自己的P29590.ali中的名字P29590

sed -i 's\TvLDH\P29590\g' model_mult.py

修改第六行中的PDB IDChain

最后根据model_mult.log文件中的DOPE(越小越好)、molpdf(越小越好)、GA341(越小越好)分值确定最终结构。

3.7 DOPE评价

由Modeller中的evaluate_model.py脚本评价建模结构。

mod9.24 evaluate_model.py

evaluate_model.py脚本如下:

from modeller import *
from modeller.scripts import complete_pdblog.verbose()    # request verbose output
env = environ()
env.libs.topology.read(file='$(LIB)/top_heav.lib') # read topology
env.libs.parameters.read(file='$(LIB)/par.lib') # read parameters# read model file
mdl = complete_pdb(env, 'TvLDH.B99990001.pdb')# Assess all atoms with DOPE:
s = selection(mdl)
s.assess_dope(output='ENERGY_PROFILE NO_REPORT', file='TvLDH.profile',normalize_profile=True, smoothing_window=15)

修改TvLDH为序列名字P29590

sed -i 's\TvLDH\P29590\g' evaluate_model.py

可根据可以使用shell自带的gnuplot作图,代码如下:

gnuplot <<EOF
set term pngcairo
set output "TvLDH.png"
set xlabel 'Residue index'
set ylabel 'DOPE Score'
plot "TvLDH.profile" using 1:42 with lines
set output
EOF

Modeller多模板同源建模教程相关推荐

  1. 计算机技术预测蛋白质结构,线上分享 | 同源建模预测蛋白质结构,中科院计算所ProALIGN研究解读...

    在蛋白质结构预测领域,活跃着很多华人学者,机器之心知识站特推出「蛋白质结构预测系列技术直播」,聚焦领域前沿成果的同时,回顾蛋白质结构预测技术发展历程.欢迎关注并加入社区交流讨论! 蛋白质结构预测,即从 ...

  2. ZBrush 3D游戏建模教程:创建女武士模型

    推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 介绍  在本教程中,演示创建实时武士角色的流程,该流程基于 Kati Sarin S 的原始概念.我将使用各种各样的软件 ...

  3. mujoco机器人建模教程和优质资源总结-长期更新

    mujoco机器人建模教程和优质资源总结-长期更新 前言 最近要利用mujoco搭建一个定制化的击球模型,有一些基础的功能我找不到实现的例程.因此想着能不能做一个归纳和总结,在准备向社区"白 ...

  4. 大数据概念思维导图_思维导图|数据化风控(信用评分建模教程)

    本文将按<数据化风控--信用评分建模教程>行文逻辑,并结合相关参考材料,为大家梳理本书涉及的重点知识,也算是自己读书笔记分享.有需要的同学可先收藏.点赞,以便回顾学习和吸收,当然,如果愿意 ...

  5. 3DMAX安装包及近百GB素材资源,以及3D游戏建模教程

    3D Studio Max,常简称为3d Max或3ds MAX,是Discreet公司开发的(后被Autodesk公司合并)基于PC系统的三维动画渲染和制作软件.其前身是基于DOS操作系统的3D S ...

  6. php模板修改教程,商业模板修改高级教程

    [TOC] ##前言 `商业模板详细修改教程会修改模板配置数据文件,涉及到模板配置数据的重置,请谨慎修改,修改前务必备份网站数据和模板文件.` **米拓官方不提供任何模板修改的技术支持和咨询服务,亦不 ...

  7. 3Dmax建模教程详细步骤3D建模速成入门到高级教程

    导语:3dmax是一款由娱乐公司开发的3D计算机图形建模软件,被广泛应用于广告.影视.艺术设计.建筑方面的3d图形建筑,尤其在动漫设计行业应用及其广泛.这款软件虽然应用广泛,也起到不可替代的作用,但是 ...

  8. 3D建模教程讲解!PBR场景制作破损的图书馆

    今天给大家带来3D建模教程分享!PBR场景制作破损的图书馆,一起来看下吧! 它是一个图书馆场景的制作.我会按照我的思路来介绍一下这个场景是怎么完成的,希望大家喜欢! 这个场景使用PBR流程完成,使用3 ...

  9. 苹果cms双端模板安装设置教程

    先来详解下苹果cms模板的分类,模板大体分以下三种:自适应模板,手机模板,pc模板(电脑端模板) 自适应模板:响应式布局,意思是电脑.手机.平板电脑都可访问,自适应任何设备的模板. 手机模板:意思是仅 ...

最新文章

  1. Hybrid Error Correction approach and DeNovo Assembly for MinIon Sequencing Long Reads
  2. Unknown property 'mybatis-plus' yml文件报错
  3. 别人想你请教事情你正确的态度
  4. 主曲率 matlab,基于Matlab的Hertz接触参数和主曲率差函数关系的拟合
  5. linux修改重传次数,聊一聊重传次数
  6. 美科技股崩了,Facebook、亚马逊、谷歌一夜蒸发万亿元
  7. 网络编程之 osi七层协议
  8. 数学建模-10.聚类
  9. HDU.1006 Tick and Tick
  10. 扩展空间_实用!Win10开启SMB共享的方法,给GPD MicroPc扩展更多存储空间
  11. PKUSC2019划水记
  12. [软广]某数据领域在线教育机构
  13. linux磁盘写保护怎么修改_linux 文件、目录写保护
  14. 俞军:百度首席产品架构师
  15. 数据报表开发技巧:自动为数据报表添加【小计】、【总计】行
  16. 分析中国古建筑最大的特点
  17. 安卓使用ContentProvider实现读取手机联系人和短信内容
  18. 怎么在苹果手机计算机上打字,苹果手机怎样设置打字是中文的
  19. U盘安装CentOS 7.0图文详解教程
  20. Intellij IDEA之mybatis-generator自动生成

热门文章

  1. ZooKeeper 未授权访问漏洞利用
  2. redis + lua解决抢红包高并发的问题
  3. 路由器回执路由配置_【必须收藏】终于不求人,详细图文教您设置无线路由器...
  4. YOGA27多维一体电脑,兼具出色外观与高端配置
  5. 锚点与页面滚动事件解决方案(H5、小程序)
  6. react-native 二维码扫描
  7. Hbase限流 -- HBase Quota调研
  8. content-box和border-box区别以及应用场景
  9. 终于干了点正事。。三天用了三个库opencv、emgu、aforge.net[2011.7.30]
  10. python选择框_python - 自定义/删除Django选择框空白选项