Dear Sir,
I am working on modeller where I have doubt regarding sulfide patch that:
How to add disulfide connections in models based on homologue templates sulfide bonds ?
I have a template structure called 3O26 which has two sulfide connections:
SSBOND 1 CYS A 263 CYS A 305 1555 1555 2.04
CONECT 1934 2256 CONECT 2256 1934
By using this structure as a template I made one model but the model doesn't have disulfide connections. So could you tell me how to make models with sulfide connection information.
WHAT I TRIED:
CASE 1: To add a disulfide bond
If the target sequence has a pair of cysteine residues aligned to a pair of cysteine residues that form a disulfide bridge in any of the homologous structures, then a disulfide bond will be expected in the model structure and the necessary constraints will be defined automatically. Anticipated disulfide bonds are reported in the log file.
However, if you expect a disulfide bond in the model structure without an analogous bond in the homologous structures, then you must specify this bond in the control file for the necessary constraints to be set up.
MODELER control scripts include a dummy routine called special_patches that contains nothing. You redefine this routine to contain the information needed by MODELER to generate a disulfide bond.
To redefine the routine, edit the control file to include the following lines after the first INCLUDE statement:
SUBROUTINE ROUTINE = `special_patches' PATCH RESIDUE_TYPE = `DISU', RESIDUE_IDS = n1 n2 # Here I have a doubt that SHOULD I mention the n1 n2 from the template or MODELS ? (for ex in my case 3O26: n1=263 and n2=305). RETURN END_SUBROUTINE
# Comparative modeling by the automodel class from modeller import * # Load standard Modeller classes from modeller.automodel import * # Load the automodel class
# Redefine the special_patches routine to include the additional disulfides # (this routine is empty by default): class MyModel(automodel): def special_patches(self, aln): # A disulfide between residues 8 and 45: self.patch(residue_type='DISU', residues=(self.residues['263'], self.residues['305']))
log.verbose() # request verbose output env = environ() # create a new MODELLER environment to build this model in
# directories for input atom files env.io.atom_files_directory = ['.', '../atom_files']
a = MyModel(env, alnfile = 'alignment.ali', # alignment filename knowns = '5fd1', # codes of the templates sequence = '1fdx') # code of the target a.starting_model= 1 # index of the first model a.ending_model = 1 # index of the last model # (determines how many models to calculate) a.make() # do the actual comparative modeling
where n1 and n2 are the index number of the disulfide bonded residues. Note that the index number is not necessarily the same as the residue ID unless the residues are numbered consecutively from 1 for the first residue.
Here When I mentioned the residues from template like above I got a following ERROR KeyError: 'No such residue: 44:D'
SO could you tell me , Is it a correct way to model with sulfide connect details ? If yes, then should I place n1,n2 residues from template sulfide residues?
Thanking you in advance
With Regards Mahesh VELUSAMY