Author: bugman Date: Fri Jan 18 18:19:03 2013 New Revision: 18234 URL: http://svn.gna.org/viewcvs/relax?rev=18234&view=rev Log: Proper bug fix for the spin ID metadata lookup table pruning. The Mol_res_spin.test_prune_metadata system test now passes. The previous fix of r18232 was not complete, and it should have been in the spin_id_variants_elim() function rather than metadata_prune(). Modified: trunk/generic_fns/mol_res_spin.py Modified: trunk/generic_fns/mol_res_spin.py URL: http://svn.gna.org/viewcvs/relax/trunk/generic_fns/mol_res_spin.py?rev=18234&r1=18233&r2=18234&view=diff ============================================================================== --- trunk/generic_fns/mol_res_spin.py (original) +++ trunk/generic_fns/mol_res_spin.py Fri Jan 18 18:19:03 2013 @@ -1973,10 +1973,6 @@ # Alias. mol = dp.mol[i] - # The molecule ID is no longer unique, so add it to the list to remove. - if len(mol.res) or len(mol.res[0].spin): - to_remove.append(generate_spin_id(mol_name=mol.name)) - # Loop over the residues. for j in range(len(mol.res)): # Residue skipping. @@ -1986,11 +1982,6 @@ # Alias. res = mol.res[j] - # The residue ID is no longer unique, so add it to the list to remove. - if len(res.spin): - to_remove.append(generate_spin_id(mol_name=mol.name, res_num=res.num, res_name=res.name)) - to_remove.append(generate_spin_id(res_num=res.num, res_name=res.name)) - # Loop over the spins. for k in range(len(res.spin)): # Spin skipping. @@ -2001,7 +1992,7 @@ spin = res.spin[k] # The list of IDs to remove. - to_remove += spin_id_variants_elim(dp=dp, mol_index=i, res_index=j, spin_index=k) + to_remove = spin_id_variants_elim(dp=dp, mol_index=i, res_index=j, spin_index=k) # ID removal. for spin_id in to_remove: @@ -3281,13 +3272,18 @@ # The spin IDs without spin info. if spin_count > 1: spin_ids.append(generate_spin_id(mol_name=mol.name, res_num=res.num, res_name=res.name)) + spin_ids.append(generate_spin_id(res_num=res.num, res_name=res.name)) + spin_ids.append(generate_spin_id(mol_name=mol.name)) # The spin IDs without residue info. if res_count > 1: spin_ids.append(generate_spin_id(mol_name=mol.name, spin_num=spin.num, spin_name=spin.name)) + spin_ids.append(generate_spin_id(spin_num=spin.num, spin_name=spin.name)) + spin_ids.append(generate_spin_id(mol_name=mol.name)) # The spin IDs without molecule info. if mol_count > 1: + spin_ids.append(generate_spin_id(res_num=res.num, res_name=res.name)) spin_ids.append(generate_spin_id(res_num=res.num, res_name=res.name, spin_num=spin.num, spin_name=spin.name)) # The spin IDs without spin or residue info.