Hi: My target protein is GPCR, I use bovin rhodopsin as template.And, I alignment the transmenbrane regions between template and target protein.I build model using the fllowing scripts: from modeller import * from modeller.automodel import * log.verbose() class mymodel(automodel): def select_atoms(self): return selection(self.residue_range('37:A','63:A'), self.residue_range('74:A','96:A'), self.residue_range('111:A','133:A'), self.residue_range('153:A','173:A'), self.residue_range('203:A','224:A'), self.residue_range('250:A','274:A'), self.residue_range('287:A','308:A')) env=environ() env.io.atoms_files_directory='./:../atom_files' env.edat.nonbonded_sel_atoms=2
a=mymodel(env, alnfile='1u19-tm.ali', knowns='1u19', sequence='mrg-tm') a.starting_model=1 a.ending_model=1 a.make()
But there are some errors: Traceback (most recent call last): File "selection.py", line 23, in ? a.make() File "/usr/lib/modeller9v1/modlib/modeller/automodel/automodel.py", line 118, in make atmsel = self._check_select_atoms() File "/usr/lib/modeller9v1/modlib/modeller/automodel/automodel.py", line 483, in _check_select_atoms atmsel = self.select_atoms() File "selection.py", line 6, in select_atoms return selection(self.residue_range('37:A','63:A'), 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: 37:A' How to repair the script? The following is alignment file: >P1;1u19 structureX:1u19: 1 :A:+348 :A:undefined:undefined:-1.00:-1.00 MNGTEGPNFYVPFSNKTGVVRSPFEAPQYYLAEPWQ--- FSMLAAYMFLLIMLGFPINFLTLYVTV QHKKLRTPLN --YILLNLAVADLFMVFGGFTTTLY TSLHGYFVFGPTGC-- NLEG--FFATLGGEIALWSLVVLAI ---ERYVVVCKPMSNFRFGENH --AIMGVAFTWVMALACAAPPLV GWSRYIPEGMQCSCGIDYYTPHEETNNES FVIYMFVVHFIIPLI---VIFFCYG QLVFTVKEAAAQQQESATTQKAEKE VTRMVIIMVIAFLICWLPYAGVAFY ----IFTHQGSDFGPI- FMTIPAFFAKTSAVYNPVIYIM- -------MNKQFRNCMVTTLCCGKNP-LGDDEASTTVSKTETSQVAPA* >P1;mrg-tm sequence:mrg-tm: : : : ::: 0.00: 0.00 --------------------------------------- LS-LTVLTCIVSLVGLTGNAVVLWLLG ---------- FSIYILNLAAADFLFLSGRLIYSL- ---------------- ILYPVMMFSYFAG-LSFLSAV---- --------------------- HLSAVVCVLLWALSLLRS---IL ----------------------------- FITVAWLIFLCVVLCGSSLVLLI-- ------------------------- -YVTILLTVLVFLLCGLPF-GIQFF ----------------- LVSI--FLSALNSSANPIIYFFV ------------------------------------------------*
thank you very much!
jinlian05@lzu.cn wrote: > KeyError: 'No such residue: 37:A' > How to repair the script?
See http://salilab.org/modeller/9v1/manual/node22.html or http://salilab.org/archives/modeller_usage/2007/msg00154.html
Like the error message says, your model doesn't have a residue called '37:A'. Note that residue numbers in the model are not generally the same as residue numbers in the template(s), since these are often not consistent. Modeller always numbers residues in the model starting from 1, and only assigns chain IDs when building multi-chain models. If in doubt, first build a model using the regular automodel script at http://salilab.org/modeller/9v1/manual/node16.html and then look at the .ini or .pdb file produced to see the residue numbering.
Ben Webb, Modeller Caretaker
participants (2)
-
jinlian05@lzu.cn
-
Modeller Caretaker