Hi Isabel thank you for your email:), I superficially looked at your messages, did you follow all of the steps sequentially from the link or did you skip steps? Thanks:) On Mon, Oct 16, 2023 at 5:36 PM Isabel Elliott <> wrote: > Hi, > > > > Thank you very much for your quick response. > > > > I have used the select_loop_atoms function within my LoopModel class to > define the specific residues that are allowed to move (see script in > initial email). I assumed based on this tutorial > https://salilab.org/modeller/wiki/Missing_residues that only the defined > residues would be allowed to move, whilst any residues not defined would be > restrained in their original positions. Is there something else I need to > add to my script to ensure all the residues which have not been modelled in > are restrained? I’ve checked my script several times and the numbering of > my starting structure compared to the final models and they all match up so > I’m unsure what’s going wrong. > > > > Thanks, > > Isabel > > > > *From: *Joel Subach <> > *Date: *Monday, October 16, 2023 at 4:23 PM > *To: *Isabel Elliott <> > *Cc: *Isabel Elliott via modeller_usage <> > *Subject: *Re: [modeller_usage] Missing residues - restrain crystal > coordinates > > *CAUTION:* This e-mail originated outside the University of Southampton. > > Hi Isabel thank you for your inquiry, if you restrain certain residues > they should not move, maybe double-check to be sure > > that you properly coded these residues to be restrained, thanks > > > > On Mon, Oct 16, 2023 at 5:15 PM Isabel Elliott via modeller_usage < > > wrote: > > Good afternoon, > > > > I am trying to model missing residues into my crystal structure following > the method on the website: > https://salilab.org/modeller/wiki/Missing_residues. I am also trying to > restrain the crystal coordinates so that only missing residues move (and > the rest of the original crystal coordinates remain the same) during > refinement using the select_atoms method. However when I compare my final > models produced by my script to my original crystal structure, I find that > the side chains of several amino acids three of four amino acids away from > the missing residues have been flipped. How can I ensure that only the > missing residues are refined and the crystal coordinates remain the same? I > am wondering if I’ve missed something important out of my script. See my > script below. > > > > Many thanks. > > > > from modeller import * # Load standard Modeller > classes > > from modeller.automodel import * # Load the AutoModel class > > > > log.verbose() # Create log file > > env = Environ() > > > > # directories for input atom files > > env.io.atom_files_directory = ['.', '../atom_files'] > > > > env.io.water = *True* > > > > # Only refine/move missing residues - restrain crystal coordinates > > class *MyModel*(LoopModel): > > #picks residues to be refined by loop modelling > > def *select_loop_atoms*(self): > > #refines residue ranges defined simultaneously > > return Selection(self.residue_range('5:A', '13:A'), > > self.residue_range('99:B', '105:B'), > > self.residue_range('251:D', '256:D')) > > # redefine the special_patches routine to include additional disulfides > > def *special_patches*(self,aln): > > self.patch(residue_type='DISU',residues=(self.residues['26:A' > ],self.residues['199:C'])) > > self.patch(residue_type='DISU',residues=(self.residues['29:A' > ],self.residues['201:C'])) > > > > a = MyModel(env, alnfile = 'alignment.ali', # alignment file > > knowns = 'xxx', # aa sequence of > original template - crystal coordinates > > sequence = 'xxx_fill', # aa sequence of > original template with missing residues filled in > > loop_assess_methods = (assess.DOPE, > > assess.DOPEHR, > > assess.GA341)) > > > > a.starting_model= 1 # Index of the first model > > a.ending_model = 1 # Index of the last model > > > > a.loop.starting_model = 1 # First loop refined model > > a.loop.ending_model = 10 # Last loop refined model > > a.loop.md_level = refine.fast # Loop model refinement level > > > > a.make() # Do modelling > > > > > > _______________________________________________ > modeller_usage mailing list > > https://salilab.org/mm/postorius/lists/modeller_usage.salilab.org/ > >
Hi,
Â
Thank you very much for your quick response.
Â
I have used the select_loop_atoms function within my LoopModel class to define the specific residues that are allowed to move (see script in initial email). I assumed based on this tutorial  https://salilab.org/modeller/wiki/Missing_residues that only the defined residues would be allowed to move, whilst any residues not defined would be restrained in their original positions. Is there something else I need to add to my script to ensure all the residues which have not been modelled in are restrained? Iâ??ve checked my script several times and the numbering of my starting structure compared to the final models and they all match up so Iâ??m unsure whatâ??s going wrong. Â
Â
Thanks,
Isabel
Â