本文主要是介绍用MODELLER构建好模型后对loop区域进行自动的优化过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一:对生成的模型的所有的loop区域进行优化
# Homology modeling by the automodel class from modeller import * from modeller.automodel import * # Load the automodel classlog.verbose() env = environ()# directories for input atom files env.io.atom_files_directory = ['.', '../atom_files']a = loopmodel(env,alnfile = 'alignment.ali', # alignment filenameknowns = '5fd1', # codes of the templatessequence = '1fdx') # code of the target a.starting_model= 1 # index of the first model a.ending_model = 1 # index of the last model# (determines how many models to calculate) a.md_level = None # No refinement of modela.loop.starting_model = 1 # First loop model a.loop.ending_model = 4 # Last loop model a.loop.md_level = refine.fast # Loop model refinement levela.make() # do homology modeling
a.loop.starting_model 和 a.loop.ending_model用于指定产生优化loop后的模型数量。
二:指定要优化的loop区域
from modeller import * from modeller.automodel import *log.verbose() env = environ()env.io.atom_files_directory = ['.', '../atom_files']# Create a new class based on 'loopmodel' so that we can redefine # select_loop_atoms class MyLoop(loopmodel):# This routine picks the residues to be refined by loop modelingdef select_loop_atoms(self):# Two residue ranges (both will be refined simultaneously)return selection(self.residue_range('19:', '28:'),self.residue_range('45:', '50:'))a = MyLoop(env,alnfile = 'alignment.ali', # alignment filenameknowns = '5fd1', # codes of the templatessequence = '1fdx', # code of the targetloop_assess_methods=assess.DOPE) # assess each loop with DOPE a.starting_model= 1 # index of the first model a.ending_model = 1 # index of the last modela.loop.starting_model = 1 # First loop model a.loop.ending_model = 2 # Last loop modela.make() # do modeling and loop refinement
这个过程需要自己定义一个Myloop类,这个类继承了loopmodel类,这个类要重写loopmodel类中的select_loop_atoms()方法。
这篇关于用MODELLER构建好模型后对loop区域进行自动的优化过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!