Hi,
Yesterday I wanted to build a metalloprotease which had 4 metal ions (my modeller version is 9v4). Due to the low similarity with the templates, some loops emerged in the resulting models. Althought GA341 scores ==1 and DOPE score are ≈-30119,when I checked them with Procheck and Errat, the stereochemical quality and overall quality factor were somewhat poor. So I decided to try the loop modelling and loop optimization to improve the models since no better templates could be found. The script was below:
# Homology modeling by the automodel class from modeller import * # Load standard Modeller classes from modeller.automodel import * # Load the automodel class log.verbose() # request verbose output env = environ() # create a new MODELLER environment to build this model in # directories for input atom files env.io.atom_files_directory = './:../atom_files' # Read in HETATM records from template PDBs env.io.hetatm = True a = loopmodel(env, alnfile = 'MPD.ali', # alignment filename knowns = ('a','b','c','d','e'), # sequence = 'MPD', assess_methods=(assess.DOPE, assess.GA341))
a.starting_model= 1 # index of the first model a.ending_model = 10 # index of the last model
# Very thorough VTFM optimization: a.library_schedule = autosched.slow a.max_var_iterations = 300
# Thorough MD optimization: a.md_level = refine.slow
a.loop.starting_model = 1 # First loop model a.loop.ending_model = 4 # Last loop model a.loop.md_level = refine.fast # Loop model refinement level
# Repeat the whole cycle 2 times and do not stop unless obj.func. > 1E6 a.repeat_optimization = 3 a.max_molpdf = 1e6 a.make()
# Get a list of all successfully built models from a.outputs ok_models = filter(lambda x: x['failure'] is None, a.outputs)
# Rank the models by DOPE score key = 'DOPE score' ok_models.sort(lambda a,b: cmp(a[key], b[key]))
# Get top model m = ok_models[0] print "Top model: %s (DOPE score %.3f)" % (m['name'], m[key])
After running again I found that althought in some models the overall quality factor did increase, in all of them the metal ions were almost merged. Their coordinates were taken too close together. So I was wondering was it because the resid for ions were numbered after the protein residues (in my model the resid for ions were 312, 313, 314 and 315) and loop modelling tended to put them together? If so how should I modify the script and multiple alignment file ( in multiple alignment file for the target the initial and final residues must be designated, like "sequence:MPD:1 : :311 : ::: :", if I hope to redefine the resids for ions, some change may also be required in this file) ? Thank you very much for any help.
Best wishes, Stanley