Niels Johan Christensen wrote: > I am a MODELLER newbie, modelling a synthetic peptide (3 chains * 30 AAs) from > the 1COI.PDB entry. > > The results produced by the 'automodel' class are in many ways satisfactory, > however I cannot figure out how to acetylate the amino terminus of the peptide. > I acknowledge that this problem is adressed in the MODELLER FAQ, however the > solution provided there does not seem to be designed for use with a simple 'automodel' > script such as: > > from modeller.automodel import * > > env = environ() > a = automodel(env, alnfile='vald-tril16c-hand.pir', > knowns='merged.pdb', sequence='TRIL16C') > a.starting_model = 1 > a.ending_model = 5 > a.make()
You need to 1: Create a new class 'mymodel' with a redefined special_patches routine, in which you apply your patches. 2. Disable default patching of the terminii. 3. Don't forget to manually apply the C terminal patch (since you disabled automatic patching). 4. Use the new mymodel class rather than automodel.
Here's one way of doing it (change the 54 to the residue number of your C terminus; refer to the .ini file produced from a previous run if in doubt):
from modeller.automodel import *
class mymodel(automodel): def special_patches(self, aln): # Acetylate the N terminus self.patch(residue_type='ACE', residue_ids='1:') # Standard C terminal patch self.patch(residue_type='CTER', residue_ids='54:')
env = environ() # Disable default NTER and CTER patches env.patch_default = False
a = mymodel(env, alnfile='vald-tril16c-hand.pir', knowns='merged.pdb', sequence='TRIL16C') a.starting_model = 1 a.ending_model = 5 a.make()
Ben Webb, Modeller Caretaker