A problem for using loop models: the metal ions came together too close
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
wayj86 wayj86 wrote: > 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.
Loop modeling will only move the atoms in the loop itself, and loops by default are defined as insertions in your alignment of standard amino acid residues. (You cannot do loop modeling of metal ions, because there are no statistics collected for non-standard residues.) So what you should see if you look at the output models is that metal ion coordinates in each loop model (MPD.BL00010001.pdb, MPD.BL00020001.pdb etc.) are exactly the same as in the corresponding input model (MPD.B99990001.pdb). (If this is not the case, something very odd is happening.) So your problem is not with the loop modeling, but with the homology modeling.
Without seeing your input files, I will have to guess, but there are two possibilities. Either the initial coordinates of the metal ions are wrong (check the MPD.ini file) in which case it's most likely a problem with your input file (usually using the wrong atom names - Modeller uses PDB v3 atom naming and so the atom names in your input and MPD.ini file will be different if this is the problem) or the initial coordinates are fine but they are incorrect in the optimized models (MPD.B99990001.pdb etc.). In the latter case, there must be a problem with your set of restraints. Modeller generates restraints automatically to keep ligands, ions etc. in the correct location, but it may be getting confused, particularly if you have the ions in different positions in each of your templates (you should probably only use the ions from one template). Alternatively, you may have conflicts with other user-specified restraints, which you can check by looking at the violations in the log file.
Finally, I recommend that you use Modeller 9v6.
Ben Webb, Modeller Caretaker
participants (2)
-
Modeller Caretaker
-
wayj86 wayj86