URL: <http://gna.org/bugs/?12735> Summary: Multiple failures of structure.load_spins() for different PDB file layouts. Project: relax Submitted by: bugman Submitted on: Thursday 12/11/2008 at 09:07 Category: relax's source code Severity: 3 - Normal Priority: 5 - Normal Status: In Progress Privacy: Public Assigned to: bugman Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Release: Repository: 1.3 line Operating System: All systems _______________________________________________________ Details: The user function structure.load_spins() fails for a number of the PDB files used in the system tests. This was uncovered by executing the user function in all of the PDB reading system tests. The error messages from the system tests are: ====================================================================== ERROR: Load the 'gromacs_phthalic_acid.pdb' PDB file (using the internal structural object PDB reader). ---------------------------------------------------------------------- relax> pipe.create(pipe_name='mf', pipe_type='mf') relax> structure.read_pdb(file='gromacs_phthalic_acid.pdb', dir='/media/disk/relax/relax-1.3/test_suite/shared_data/structures', model=None, parser='internal') Internal relax PDB parser. Loading all structures from the PDB file. Opening the file '/media/disk/relax/relax-1.3/test_suite/shared_data/structures/gromacs_phthalic_acid.pdb' for reading. Loading model: 1 Loading model: 2 relax> structure.load_spins(spin_id='@*H*', ave_pos=True) Adding the following spins to the relax data store. Mol_name Res_num Res_name Spin_num Spin_name None 1 PYR 4 H1 None 1 PYR 6 H2 None 1 PYR 8 H3 None 1 PYR 10 H4 None 1 PYR 33 H5 None 1 PYR 35 H6 None 1 PYR 36 H7 None 1 PYR 37 H8 None 1 PYR 38 H9 None 1 PYR 39 H10 None 1 PYR 40 H11 None 1 PYR 41 H12 None 1 PYR 42 H13 None 1 PYR 43 H14 None 1 PYR 44 H15 None 1 PYR 45 H16 None 1 PYR 46 H17 None 1 PYR 47 H18 None 1 PYR 48 H19 None 1 PYR 49 H20 None 1 PYR 50 H21 None 1 PYR 51 H22 None 1 PYR 52 H23 None 1 PYR 53 H24 None 1 PYR 54 H25 None 1 PYR 55 H26 None 1 PYR 56 H27 None 1 PYR 57 H28 Traceback (most recent call last): File "/media/disk/relax/relax-1.3/test_suite/system_tests/structure.py", line 175, in test_read_pdb_internal3 self.relax.interpreter._Structure.load_spins('@*H*') File "/media/disk/relax/relax-1.3/prompt/structure.py", line 301, in load_spins generic_fns.structure.main.load_spins(spin_id=spin_id, ave_pos=ave_pos) File "/media/disk/relax/relax-1.3/generic_fns/structure/main.py", line 72, in load_spins for mol_name, res_num, res_name, atom_num, atom_name, element, pos in cdp.structure.atom_loop(atom_id=spin_id, str_id=str_id, mol_name_flag=True, res_num_flag=True, res_name_flag=True, atom_num_flag=True, atom_name_flag=True, element_flag=True, pos_flag=True, ave=ave_pos): File "/media/disk/relax/relax-1.3/generic_fns/structure/internal.py", line 686, in atom_loop if struct.atom_num[i] != atom_num: IndexError: list index out of range ====================================================================== ERROR: Load the '1F35_N_H_molmol.pdb' PDB file (using the Scientific python structural object PDB reader). ---------------------------------------------------------------------- relax> pipe.create(pipe_name='mf', pipe_type='mf') relax> structure.read_pdb(file='1F35_N_H_molmol.pdb', dir='/media/disk/relax/relax-1.3/test_suite/shared_data/structures', model=None, parser='scientific') Scientific Python PDB parser. Loading all structures from the PDB file. Structure('/media/disk/relax/relax-1.3/test_suite/shared_data/structures/1F35_N_H_molmol.pdb'): Peptide chain of length 6 Peptide chain of length 17 Peptide chain of length 1 Peptide chain of length 4 Peptide chain of length 1 Peptide chain of length 2 Peptide chain of length 4 Peptide chain of length 2 Peptide chain of length 6 Peptide chain of length 7 Peptide chain of length 4 Peptide chain of length 6 Peptide chain of length 2 Peptide chain of length 19 Peptide chain of length 10 Peptide chain of length 18 Peptide chain of length 5 Peptide chain of length 1 Peptide chain of length 17 Peptide chain of length 8 12 LYS+ molecules 1 HIS+ molecule 9 ARG+ molecules relax> structure.load_spins(spin_id='@*H*', ave_pos=True) Adding the following spins to the relax data store. Mol_name Res_num Res_name Spin_num Spin_name None 2 ALA 2 H None 3 GLU 4 H None 4 ASP 6 H None 5 GLY 8 H None 7 GLN 11 H None 9 GLN 15 H None 10 GLN 17 H None 11 LEU 19 H None 12 GLU 21 H None 13 MET 23 H None 15 LEU 26 H None 16 VAL 28 H None 17 LEU 30 H None 18 ASP 32 H None 19 GLN 34 H None 20 ASP 36 H None 21 LEU 38 H None 22 THR 40 H None 23 GLN 42 H None 24 GLN 44 H None 25 MET 46 H None 27 LEU 50 H None 29 VAL 54 H None 30 GLU 56 H None 31 SER 58 H None 32 LEU 60 H None 34 GLN 64 H None 36 GLY 68 H None 37 GLU 70 H None 40 GLN 76 H None 41 ASP 78 H None 42 GLY 80 H None 43 GLU 82 H None 45 LEU 86 H None 46 ILE 88 H None 49 ALA 93 H None 50 GLU 95 H None 51 SER 97 H None 52 VAL 99 H None 53 TYR 101 H None 55 LEU 105 H None 56 ASP 107 H None 57 PHE 109 H None 58 ILE 111 H None 59 GLN 113 H None 60 GLN 115 H None 61 GLN 117 H None 63 LEU 121 H None 64 GLN 123 H None 65 PHE 125 H None 66 ASP 127 H None 68 TRP 131 H None 69 ASN 133 H None 70 VAL 135 H None 71 VAL 137 H None 72 LEU 139 H None 73 ASP 141 H None 76 GLY 146 H None 78 VAL 150 H None 79 THR 152 H None 80 ILE 154 H None 81 THR 156 H None 82 GLY 158 H None 83 THR 160 H None 84 SER 162 H None 85 GLN 164 H None 86 ASN 166 H None 87 TRP 168 H None 88 THR 170 H None 90 ASP 173 H None 91 LEU 175 H None 92 THR 177 H None 93 ASN 179 H None 94 LEU 181 H None 95 MET 183 H None 96 THR 185 H None 98 GLN 189 H None 99 LEU 191 H None 100 LEU 193 H None 101 ASP 195 H None 103 ALA 198 H None 104 ALA 200 H None 105 ILE 202 H None 106 PHE 204 H None 107 TRP 206 H None 110 GLU 212 H None 111 ASP 214 H None 112 SER 216 H None 113 ASP 218 H None 114 ALA 220 H None 115 MET 222 H None 116 ASP 224 H None 117 TRP 226 H None 118 ASN 228 H None 119 GLU 230 H None 120 ALA 232 H None 121 ASP 234 H None 122 ALA 236 H None 123 LEU 238 H None 124 GLU 240 H None 125 PHE 242 H None 126 GLY 244 H None 127 GLU 246 H None 129 LEU 250 H None 130 SER 252 H None 131 ASP 254 H None 132 LEU 256 H None 133 ALA 258 H None 135 ILE 262 H None 138 VAL 268 H None 139 MET 270 H None 140 TYR 272 H None 141 PHE 274 H None 142 LEU 276 H None 143 ILE 278 H None 144 THR 280 H None 145 PHE 282 H None 146 GLY 284 H None 147 GLU 286 H None 148 GLY 288 H None 149 VAL 290 H None 150 GLU 292 H None 152 ALA 295 H None 153 ASN 297 H None 154 LEU 299 H None 156 ALA 303 H None 157 SER 305 H None 158 VAL 307 H None 159 VAL 309 H None 160 PHE 311 H None 161 ASN 313 H None 162 GLN 315 H None 163 LEU 317 H LYS+ 8 LYS+ 13 H Traceback (most recent call last): File "/media/disk/relax/relax-1.3/test_suite/system_tests/structure.py", line 223, in test_read_pdb_scientific1 self.relax.interpreter._Structure.load_spins('@*H*') File "/media/disk/relax/relax-1.3/prompt/structure.py", line 301, in load_spins generic_fns.structure.main.load_spins(spin_id=spin_id, ave_pos=ave_pos) File "/media/disk/relax/relax-1.3/generic_fns/structure/main.py", line 91, in load_spins cdp.mol.add_item(mol_name=mol_name) File "/media/disk/relax/relax-1.3/data/mol_res_spin.py", line 619, in add_item raise RelaxError, "The molecule '" + `mol_name` + "' already exists in the sequence." RelaxError: RelaxError: The molecule ''LYS+'' already exists in the sequence. ====================================================================== ERROR: Load the 'lactose_MCMM4_S1_1.pdb' PDB file (using the Scientific python structural object PDB reader). ---------------------------------------------------------------------- relax> pipe.create(pipe_name='mf', pipe_type='mf') relax> structure.read_pdb(file='lactose_MCMM4_S1_1.pdb', dir='/media/disk/relax/relax-1.3/test_suite/shared_data/structures', model=None, parser='scientific') Scientific Python PDB parser. Loading all structures from the PDB file. Structure('/media/disk/relax/relax-1.3/test_suite/shared_data/structures/lactose_MCMM4_S1_1.pdb', model=1): 2 molecules 1 UNK molecule relax> structure.load_spins(spin_id='@*H*', ave_pos=True) Adding the following spins to the relax data store. Mol_name Res_num Res_name Spin_num Spin_name None 2 None 82 H1 None 2 None 83 H2 None 2 None 84 H3 None 2 None 85 H4 None 2 None 86 H5 None 2 None 87 H6 None 2 None 88 H7 None 2 None 89 H8 None 2 None 90 H9 None 2 None 91 H10 None 2 None 92 H11 None 2 None 93 H12 None 2 None 94 H13 None 2 None 95 H14 None 2 None 96 H15 None 2 None 97 H16 None 2 None 98 H17 None 2 None 99 H18 None 2 None 100 H19 None 2 None 101 H20 UNK 900 UNK 24 H1 UNK 900 UNK 25 H2 UNK 900 UNK 26 H3 UNK 900 UNK 27 H4 UNK 900 UNK 28 H5 UNK 900 UNK 29 H6 UNK 900 UNK 30 H7 UNK 900 UNK 31 H8 UNK 900 UNK 32 H9 UNK 900 UNK 33 H10 UNK 900 UNK 34 H11 UNK 900 UNK 35 H12 UNK 900 UNK 36 H13 UNK 900 UNK 37 H14 UNK 900 UNK 38 H15 UNK 900 UNK 39 H16 UNK 900 UNK 40 H17 UNK 900 UNK 41 H18 UNK 900 UNK 42 H19 UNK 900 UNK 43 H20 UNK 900 UNK 44 H21 UNK 900 UNK 45 H22 relax> structure.load_spins(spin_id=None, ave_pos=True) Adding the following spins to the relax data store. Mol_name Res_num Res_name Spin_num Spin_name Traceback (most recent call last): File "/media/disk/relax/relax-1.3/test_suite/system_tests/structure.py", line 290, in test_read_pdb_scientific5 self.relax.interpreter._Structure.load_spins() File "/media/disk/relax/relax-1.3/prompt/structure.py", line 301, in load_spins generic_fns.structure.main.load_spins(spin_id=spin_id, ave_pos=ave_pos) File "/media/disk/relax/relax-1.3/generic_fns/structure/main.py", line 89, in load_spins if mol_cont == None: UnboundLocalError: local variable 'mol_cont' referenced before assignment ---------------------------------------------------------------------- _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?12735> _______________________________________________ Message sent via/by Gna! http://gna.org/