mailr27107 - /trunk/lib/structure/internal/object.py


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

Header


Content

Posted by edward on December 12, 2014 - 12:22:
Author: bugman
Date: Fri Dec 12 12:22:03 2014
New Revision: 27107

URL: http://svn.gna.org/viewcvs/relax?rev=27107&view=rev
Log:
Improvement for the merge argument of the structure.read_pdb user function.

This argument is now overridden if the molecule to merge to does not exist.  
This allows the merge
flag to be used together with read_mol and set_mol_name set to lists.


Modified:
    trunk/lib/structure/internal/object.py

Modified: trunk/lib/structure/internal/object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/structure/internal/object.py?rev=27107&r1=27106&r2=27107&view=diff
==============================================================================
--- trunk/lib/structure/internal/object.py      (original)
+++ trunk/lib/structure/internal/object.py      Fri Dec 12 12:22:03 2014
@@ -2334,16 +2334,25 @@
 
             # Loop over the molecules.
             for j in range(len(set_mol_name)):
+                # Override the merge argument if the molecule does not exist.
+                found = False
+                merge_new = True
+                for k in range(len(model.mol)):
+                    if model.mol[k].mol_name == set_mol_name[j]:
+                        found = True
+                if not found:
+                    merge_new = False
+
                 # Printout.
                 if verbosity:
-                    if merge:
+                    if merge_new:
                         print("Merging with model %s of molecule '%s' (from 
the original molecule number %s of model %s)" % (set_model_num[i], 
set_mol_name[j], orig_mol_num[j], orig_model_num[i]))
                     else:
                         print("Adding molecule '%s' to model %s (from the 
original molecule number %s of model %s)" % (set_mol_name[j], 
set_model_num[i], orig_mol_num[j], orig_model_num[i]))
 
                 # The index of the new molecule to add or merge.
                 index = len(model.mol)
-                if merge:
+                if merge_new:
                     index -= 1
 
                 # Consistency check.
@@ -2351,7 +2360,7 @@
                     raise RelaxError("The new molecule name of '%s' in model 
%s does not match the corresponding molecule's name of '%s' in model %s." % 
(set_mol_name[j], set_model_num[i], 
self.structural_data[0].mol[index].mol_name, self.structural_data[0].num))
 
                 # Pack the structures.
-                if merge:
+                if merge_new:
                     mol = model.mol.merge_item(mol_name=set_mol_name[j], 
mol_cont=data_matrix[i][j])
                 else:
                     mol = model.mol.add_item(mol_name=set_mol_name[j], 
mol_cont=data_matrix[i][j])




Related Messages


Powered by MHonArc, Updated Fri Dec 12 12:40:02 2014