I would like to measure the rmsd between the secondary structure elements of my
models and the templates.
I have been trying to do this using the selection.superpose method, as shown in
the example file examples/commands/pick_atoms.py, to select a range of
residues. But it keeps giving the following error:
File "superimpose.py", line 13, in ?
s = selection(mdl.residue_range('4','10'))
File "/usr/lib/modeller9v1/modlib/modeller/coordinates.py", line 64, in
residue_range
start = self.residues[start]._num
File "/usr/lib/modeller9v1/modlib/modeller/coordinates.py", line 165, in
__getitem__
(self.offset, self.length, self.suffix))
File "/usr/lib/modeller9v1/modlib/modeller/util/modutil.py", line 76, in
handle_seq_indx
int_indx = lookup_func(*args)
File "/usr/lib/modeller9v1/modlib/modeller/coordinates.py", line 50, in
_indxres
raise KeyError, ("No such residue: %s" % indx)
KeyError: 'No such residue: 4'
I have only been programming for a few months and can't see why it is giving
this KeyError?
I am I using the correct script and commands for the job?
Here is a copy of my script:
from modeller import *
log.verbose()
env = environ()
env.io.atom_files_directory = '/scratch/mobsfms2/protest/rmsd/'
env.libs.topology.read(file='/usr/lib/modeller9v1/modlib/top_heav.lib')
env.libs.parameters.read(file='/usr/lib/modeller9v1/modlib/par.lib')
mdl = model(env, file='renumb_1BV4_a')
mdl2 = model(env, file='mbpc_21muscle')
aln = alignment(env, file='models.ali',
align_codes=('renumb_1BV4_a','mbpc_21muscle'))
s = selection(mdl.residue_range('4','10'))
r = s.superpose(mdl2, aln)
# We can now use the calculated RMS, DRMS, etc. from the returned 'r' object:
rms = r.rms
drms = r.drms
print "%d equivalent positions" % r.num_equiv_pos
mdl2.write(file='mbpc_21muscle.fit')
Mat
--
Mathew.Smith(a)postgrad.manchester.ac.uk
G.043
Faculty of Life Sciences
Manchester Interdisciplinary Biocentre
131 Princess Street
Manchester
M1 7DN