andreyvoronkov wrote: > Dear MADELLER administration and MODELLER users, my MODELLER job, > using modeller for "initial model" procedure failed. I wanted to > replace a part of protein by the data of X-ray analysis and used > initial model procedure. I've got the error: > > "nselat__596E> Atom index is out of range (iatm,natm): 5009 > 5008" > > What might be the problem? I've browsed archives and found same > question, but there the problem was in mismatch of number of atoms. I > don't have such mismatch.
The initial model is assumed to be produced by a previous Modeller run, which is not the case for your example. It has the wrong number of atoms, in the incorrect order. You can fix this problem by first reading your model into Modeller, 'correcting' it, and then writing it out again, with a script similar to that below (similar to examples/commands/energy.py):
env = environ() env.libs.topology.read(file='$(LIB)/top_heav.lib') env.libs.parameters.read(file='$(LIB)/par.lib')
aln = alignment(env) code = "FZD1" mdl = model(env, file=code) aln.append_model(mdl, atom_files=code, align_codes=code) aln.append_model(mdl, atom_files=code+'.ini', align_codes=code+'-ini')
mdl.generate_topology(aln, sequence=code+'-ini') mdl.transfer_xyz(aln) mdl.build(initialize_xyz=False, build_method='INTERNAL_COORDINATES') mdl.write(file='new%s.pdb' % code)
Ben Webb, Modeller Caretaker