[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] RMSD



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

-- 

G.043
Faculty of Life Sciences
Manchester Interdisciplinary Biocentre
131 Princess Street
Manchester
M1 7DN