mailr11610 - /branches/bieri_gui/gui_bieri/analyses/results_analysis.py


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

Header


Content

Posted by edward on September 29, 2010 - 11:17:
Author: bugman
Date: Wed Sep 29 11:17:46 2010
New Revision: 11610

URL: http://svn.gna.org/viewcvs/relax?rev=11610&view=rev
Log:
Fixes for the color_code_noe() PyMOL macro creating function.

This now is more failure tolerant.


Modified:
    branches/bieri_gui/gui_bieri/analyses/results_analysis.py

Modified: branches/bieri_gui/gui_bieri/analyses/results_analysis.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/analyses/results_analysis.py?rev=11610&r1=11609&r2=11610&view=diff
==============================================================================
--- branches/bieri_gui/gui_bieri/analyses/results_analysis.py (original)
+++ branches/bieri_gui/gui_bieri/analyses/results_analysis.py Wed Sep 29 
11:17:46 2010
@@ -38,39 +38,47 @@
 def color_code_noe(self, target_dir, pdb_file):
     """Create PyMol Macro for NOE colouring."""
 
-    directory = target_dir
-
-    #create file
-    file = open(directory + sep + 'noe.pml', 'w')
+    # Open the macro file.
+    file = open(target_dir + sep + 'noe.pml', 'w')
+
+    # PDB loading.
     if pdb_file:
         file.write("load " + pdb_file + '\n')
+
+    # PyMOL set up commands.
     file.write("bg_color white\n")
     file.write("color gray90\n")
     file.write("hide all\n")
     file.write("show ribbon\n")
 
-    for spin, spin_id in spin_loop(return_id=True):
-        #select residue
-        spin_no = spin_id[spin_id.index(':')+1:spin_id.index('&')]
-
-        #ribbon color
-        if hasattr(spin, 'noe'):
-            noe = str(spin.noe)
-            if spin.noe == None:
-                file.write("")
-            else:
-                width = ((1-spin.noe) * 2)
-                green = 1 - ((spin.noe)**3)
-                green = green * green * green #* green * green
-                green = 1 - green
-                file.write("set_color resicolor" + spin_no + ", [0," + 
str(green) + ",1]\n")
-                file.write("color resicolor" + spin_no + ", resi " + spin_no 
+ "\n")
-                file.write("set_bond stick_radius, " + str(width) + ", resi 
" + spin_no + "\n")
-
+    # Loop over the spins.
+    for spin, mol_name, res_num, res_name in spin_loop(full_info=True):
+        # Skip deselected spins.
+        if not spin.select:
+            continue
+
+        # Skip spins with no data.
+        if not hasattr(spin, 'noe') or spin.noe == None:
+            continue
+
+        # Ribbon colour.
+        width = ((1.0 - spin.noe) * 2.0)
+        colour = 1.0 - ((spin.noe)**3)
+        colour = colour ** 3
+        colour = 1.0 - colour
+
+        # Write out the PyMOL commands.
+        file.write("set_color resicolor%s, [0, %s, 1]\n" % (res_num, colour))
+        file.write("color resicolor%s, resi %s\n" % (res_num, res_num))
+        file.write("set_bond stick_radius, %s, resi %s\n" % (width, res_num))
+
+    # Final PyMOL commands.
     file.write("hide all\n")
     file.write("show sticks, name C+N+CA\n")
     file.write("set stick_quality, 10\n")
     file.write("ray\n")
+
+    # Close the macro.
     file.close()
 
 




Related Messages


Powered by MHonArc, Updated Wed Sep 29 11:40:01 2010