Dear all,
I am trying to create distance restraints in a model based on an
example script from the modeller manual named model-addrsr.py . I am
following the exact same syntax of this script, yet I need to change
the numbering of my residues (since my restraints are for a model that
starts at residue 2 and not 1) so I add another restraint to renumber
it (self.rename_segments), however, when I try to use my new script
(listed at the bottom of this mail), I get an error message that the
atom I listed OG1:132A:A does not exist: 'No such atom: OG1:132A:A',
does anyone know what am I doing wrong here?
Thank you,
Doran
My script:
# Homology modeling by the automodel class
from modeller import * # Load standard Modeller classes
from modeller.automodel import * # Load the automodel class
log.verbose() # request verbose output
env = environ(rand_seed = -500) # create a new
MODELLER environment to build this model in
env.io.atom_files_directory = './:' # directories for input atom files
env.io.hetatm = True # read HETATM records (for Na ions)
################################
# define the modeling parameters
class mymodel(automodel):
def special_restraints(self, aln):
self.rename_segments (segment_ids=('A'),renumber_residues=(2))
rsr = self.restraints
at = self.atoms
rsr.add(forms.gaussian(group=physical.xy_distance,feature=features.distance(at['OG1:132A:A'],at['NA:310A:A']),mean=2.4,
stdev=0.1))
def user_after_single_model(self):
self.rename_segments (segment_ids=('A'),renumber_residues=(2))
a = mymodel(env,
alnfile = 'file.pir', # alignment filename
knowns = ('No_anis'), # codes of the templates
sequence = ('target')) # code of the target in
the pir file
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.deviation = 2.0 # Deviation in models
#a.md_level = refine.very_slow
a.make() # do the actual homology modeling