plmallip@mail.uh.edu wrote: > I appreciate for taking time and explaining in detail. Its not that I > don't want to use automodel. But I have two questions > > 1. Is modeller going to accept the .ini file (I converted it to .pdb > manually) with undefined coordinates (999 numbers) in a script described at > > http://salilab.org/modeller/manual/node26.html > # Modeling using a provided initial structure file (inifile)
Sure - Modeller will accept any model provided it has the same sequence as your target sequence.
> 2. If I use automodel, I will again end up with an automated model where > I loose the bacbone Calpha conformation. i.e. my goal to retain backbone > conformation (for which I used transfer_xyz) will not be achieved.
You can keep some of the atoms fixed during the refinement; see http://salilab.org/modeller/9v5/manual/node23.html
In your case I guess you'd want to select everything but mainchain (or just C alphas) in aligned regions. You could do that with something like the following as your select_atoms() method:
def select_atoms(self): aligned_regions = selection(self.residue_range('1:', '10:'), self.residue_range('20:', '30:')) aligned_backbone = aligned_regions.only_mainchain() # or # aligned_backbone = aligned_regions.only_atom_types('CA') return selection(self) - aligned_backbone
Alternatively, you could have Modeller determine your insertions automatically with model.get_insertions() - see http://salilab.org/modeller/9v5/manual/node162.html
Since this returns a list of all residue ranges that are aligned with gaps in your template, it is essentially the inverse of aligned_regions above, so you could say something like
aln = self.read_alignment() aligned_regions = selection(self) - \ selection(self.get_insertions(aln, 0, 100, 0))
Ben Webb, Modeller Caretaker