[modeller_usage] how to make models with sulfide connection information ?
To:
Subject: [modeller_usage] how to make models with sulfide connection information ?
From: "Mahesh Velusamy" <>
Date: Fri, 10 Jul 2015 22:01:53 +0530 (IST)
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