mailr18232 - /trunk/generic_fns/mol_res_spin.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on January 18, 2013 - 17:58:
Author: bugman
Date: Fri Jan 18 17:58:27 2013
New Revision: 18232

URL: http://svn.gna.org/viewcvs/relax?rev=18232&view=rev
Log:
Bug fix for generic_fns.mol_res_spin.metadata_prune().

Non-unique molecules and residues are now removed from the spin ID lookup 
table.


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=18232&r1=18231&r2=18232&view=diff
==============================================================================
--- trunk/generic_fns/mol_res_spin.py (original)
+++ trunk/generic_fns/mol_res_spin.py Fri Jan 18 17:58:27 2013
@@ -1964,6 +1964,7 @@
     dp = pipes.get_pipe(pipe)
 
     # Loop over the molecules.
+    to_remove = []
     for i in range(len(dp.mol)):
         # Molecule skipping.
         if mol_index != None and mol_index != i:
@@ -1971,6 +1972,10 @@
 
         # 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)):
@@ -1981,6 +1986,11 @@
             # 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.
@@ -1991,10 +2001,10 @@
                 spin = res.spin[k]
 
                 # The list of IDs to remove.
-                spin_ids = 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 spin_ids:
+                for spin_id in to_remove:
                     # Blank IDs.
                     if spin_id == '':
                         continue




Related Messages


Powered by MHonArc, Updated Fri Jan 18 18:20:02 2013