Thijs Beuming wrote: > I am trying to optimize a loop in close proximity to a ligand. For > some reason, the intial models have the ligand present, while the > loop optimized models do not. Hence, there are major clashes between > some of the calculated loops and the ligand. Is it possible to > optimize loops in the presence of the ligand?
It's hard to say for sure what your problem is without seeing all of your input files, but it looks like you haven't turned on env.io.hetatm, so I don't think you should be seeing ligands in either your regular models or your loop models.
You can see the restraints that loopmodel builds by looking at the loop_restraints() method in the modlib/modeller/automodel/loopmodel.py file. By default it builds stereochemical, phi/psi, and dihedral restraints, but not the ligand-protein restraints that automodel does. You could easily fix this to restrain ligands by overriding the special_restraints() method and calling automodel.nonstd_restraints() from there. Note however that the ligand-protein restraints may be too strong to allow your loop to explore much conformational space, so it may make sense to use weaker or fewer restraints here.
> def special_restraints(self, aln): > rsr = self.restraints > rsr.add(atom_ids=('CA:189', 'CA:372'), > restraint_parameters=(3, 1, 1, 27, 2, 2, 0, 10.0, 0.1)) > rsr.add(atom_ids=('CA:189', 'CA:393'), > restraint_parameters=(3, 1, 1, 27, 2, 2, 0, 10.0, 0.1)) > rsr.add(atom_ids=('CA:372', 'CA:393'), > restraint_parameters=(3, 1, 1, 27, 2, 2, 0, 10.0, 0.1))
Note that this way of specifying restraints is error prone and deprecated. You can see examples of the more robust method at http://salilab.org/modeller/9v2/manual/node209.html or http://salilab.org/modeller/tutorial/advanced.html
Ben Webb, Modeller Caretaker