secondary structure assignment and patching
The template for one of my models has a large region in the middle of its sequence that shares no homology to my target sequence. Fortunately this region does not interact with the catalytic region in which I am interested, so I am able to remove this segment from the model. This means than my final model is composed of two chains.
The problem I am having is with the secondary structure assignment to the second chain of the model. Without any explicit special secondary structure assignment the first chain of my model faithfully replicates the secondary structures of the template, while the second chain is lacking most if not all secondary structure. I know I could fix this problem by adding special restraints, but would rather have the model pick up secondary structure from the template.
I am doing this modelling with default patching off. After a lot of testing, it seems that the N and C terminal patches are the cause of this loss in secondary structure to only the second chain of my model. If I comment out the patches to the protein termini but keep the patches I'm making to the DNA in my model, then I get the results I am looking for. Anyone have an idea why this is happening?
Here is my input file:
from modeller import * from modeller.automodel import *
log.verbose() env = environ() env.patch_default = False env.io.hydrogen = env.io.hetatm = True
env.io.atom_files_directory = './:~/homology'
class mymodel(automodel): def special_patches(self, aln): self.patch(residue_type='5MC2', residues=(self.residues['253:C'])) self.patch(residue_type='DEO1', residues=(self.residues['248:C'])) ... self.patch(residue_type='5PHO', residues=(self.residues['248:C'])) self.patch(residue_type='5PHO', residues=(self.residues['260:D'])) # adjust 3' hydroxyl terminals of DNA strands self.patch(residue_type='3TER', residues=(self.residues['259:C'])) self.patch(residue_type='3TER', residues=(self.residues['271:D'])) # manually patch N termini self.patch(residue_type='NTER', residues=(self.residues['1:A'])) self.patch(residue_type='ACE ', residues=(self.residues['166:B'])) # manually patch C termini self.patch(residue_type='CTER', residues=(self.residues['165:A'])) self.patch(residue_type='CTER', residues=(self.residues['247:B']))
a = mymodel(env, alnfile = 'alignment.ali', knowns = ('template1','template2'), sequence = 'model3') a.starting_model= 1 a.ending_model = 1
a.make()
I'd appreciate any help. Thanks!
ryan
Ryan wrote: > The template for one of my models has a large region in the middle of > its sequence that shares no homology to my target sequence. > Fortunately this region does not interact with the catalytic region > in which I am interested, so I am able to remove this segment from > the model. This means than my final model is composed of two chains. > > > The problem I am having is with the secondary structure assignment to > the second chain of the model. Without any explicit special > secondary structure assignment the first chain of my model faithfully > replicates the secondary structures of the template, while the second > chain is lacking most if not all secondary structure. I know I could > fix this problem by adding special restraints, but would rather have > the model pick up secondary structure from the template. > > I am doing this modelling with default patching off. After a lot of > testing, it seems that the N and C terminal patches are the cause of > this loss in secondary structure to only the second chain of my > model. If I comment out the patches to the protein termini but keep > the patches I'm making to the DNA in my model, then I get the results > I am looking for. Anyone have an idea why this is happening?
This has been confirmed as a Modeller bug, which will be fixed in the next release. The internal dihedral tables were not correctly updated after manual patching, so the dihedral restraints were acting on the wrong atoms. As Ryan notes, an effective workaround is to accept the default N and C terminal patches.
Ben Webb, Modeller Caretaker
participants (2)
-
Modeller Caretaker
-
Ryan