mailr12060 - /1.3/sample_scripts/final_data_extraction.py


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

Header


Content

Posted by edward on December 31, 2010 - 09:36:
Author: bugman
Date: Fri Dec 31 09:36:09 2010
New Revision: 12060

URL: http://svn.gna.org/viewcvs/relax?rev=12060&view=rev
Log:
Added Michael Bieri's model-free data extraction script.

This script was attached to Michael's post from back in November 2009 
(Message-id:
<4B00A015.30400@xxxxxx> 
https://mail.gna.org/public/relax-devel/2009-11/msg00022.html).


Added:
    1.3/sample_scripts/final_data_extraction.py

Added: 1.3/sample_scripts/final_data_extraction.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/sample_scripts/final_data_extraction.py?rev=12060&view=auto
==============================================================================
--- 1.3/sample_scripts/final_data_extraction.py (added)
+++ 1.3/sample_scripts/final_data_extraction.py Fri Dec 31 09:36:09 2010
@@ -1,0 +1,239 @@
+#####################################################################################
+#          Script for Final Data Extraction after Model-free Analysis        
       #
+#                                Michael Bieri                               
       #
+#                                  16.9.2009                                 
       #
+#####################################################################################
+
+
+# Extract Data to Table
+
+#create a table file
+
+# Python module imports.
+from string import replace
+
+# relax module imports.
+from generic_fns.mol_res_spin import spin_loop
+from generic_fns import pipes
+
+
+pipe.create('Data_extraction', 'mf')
+results.read()
+
+#create file
+
+self.file = open('Model-free_Results.txt', 'w')
+
+self.file.write('Data Extraction by Michael Bieri')
+self.file.write("\n")
+self.file.write("\n")
+self.file.write("Residue               Model   S2                      
Rex\n")
+self.file.write("\n")
+
+
+for spin, spin_id in spin_loop(return_id=True):
+            # The spin ID string.
+            spin_no = spin_id[spin_id.index(':')+1:spin_id.index('&')]
+            spin_res = spin_id[spin_id.index('&')+2:spin_id.index('@')]
+            self.file.write((spin_res) + " " + (spin_no))
+            # The spin is not selected.
+            if not spin.select:
+                self.file.write("\n")
+                continue
+
+
+# The model-free model.
+            if hasattr(spin, 'model'):
+                spin.model = spin.model[1:2]
+                self.file.write("              " + spin.model)
+
+
+# S2.
+            if  hasattr(spin, 's2'):
+                s2 = str(spin.s2)
+                s2_err = str(spin.s2_err)
+                if spin.s2 == None:
+                        self.file.write("")
+                else:
+                        self.file.write("      " + s2[0:5]+ " +/- " + 
s2_err[0:4])
+
+
+# Rex.
+            if hasattr(spin, 'rex'):
+                rex = str(spin.rex)
+                rex_err = str(spin.rex_err)
+                if spin.rex == None:
+                        self.file.write("")
+                else:
+                        self.file.write("              " + rex[0:5]+ " +/- " 
+ rex_err[0:4])
+
+
+
+# Start a new line.
+            self.file.write("\n")
+
+
+##################################################################################################
+
+#Create Single Data Files
+
+
+value.write(param='rex', file='rex.txt', dir='final_results', force=True)
+value.write(param='s2', file='s2.txt', dir='final_results', force=True)
+value.write(param='s2f', file='s2f.txt', dir='final_results', force=True)
+value.write(param='s2s', file='s2s.txt', dir='final_results', force=True)
+value.write(param='te', file='te.txt', dir='final_results', force=True)
+value.write(param='tf', file='tf.txt', dir='final_results',  force=True)
+value.write(param='ts', file='ts.txt', dir='final_results', force=True)
+value.write(param='rex', file='rex.txt', dir='final_results', force=True)
+value.write(param='r', file='r.txt', dir='final_results', force=True)
+value.write(param='rex', file='rex.txt', dir='final_results', force=True)
+value.write(param='csa', file='csa.txt', dir='final_results', force=True)
+value.write(param='rex', file='rex.txt', dir='final_results', force=True)
+value.write(param='local_tm', file='local_tm.txt', dir='final_results', 
force=True)
+
+##################################################################################################
+
+#Create Grace Plots
+
+grace.write(x_data_type='spin', y_data_type='s2', file='s2.agr', force=True)
+grace.write(x_data_type='spin', y_data_type='te', file='te.agr', force=True)
+grace.write(x_data_type='spin', y_data_type='s2f', file='s2f.agr', 
force=True)
+grace.write(x_data_type='spin', y_data_type='s2s', file='s2s.agr', 
force=True)
+grace.write(x_data_type='spin', y_data_type='ts', file='ts.agr', force=True)
+grace.write(x_data_type='spin', y_data_type='tf', file='tf.agr', force=True)
+grace.write(x_data_type='spin', y_data_type='csa', file='csa.agr', 
force=True)
+grace.write(x_data_type='te', y_data_type='s2', file='s2-te.agr', force=True)
+
+##################################################################################################
+
+#Create Diffusion Tensor
+
+# Display the diffusion tensor.
+diffusion_tensor.display()
+
+# Create the tensor PDB file.
+tensor_file = 'tensor.pdb'
+structure.create_diff_tensor_pdb(file=tensor_file, force=True)
+
+##################################################################################################
+
+# Create S2 Macro for PyMol 
+
+# Python module imports.
+from string import replace
+
+# relax module imports.
+from generic_fns.mol_res_spin import spin_loop
+from generic_fns import pipes
+
+#create file
+
+self.file = open('s2.pml', 'w')
+
+self.file.write("bg_color white\n")
+self.file.write("color gray90\n")
+self.file.write("hide all\n")
+self.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, 's2'):
+                s2 = str(spin.s2)
+                if spin.s2 == None:
+                        self.file.write("")
+                else:
+                        width = ((1-spin.s2) * 2)
+                        green = 1 - ((spin.s2)**3) 
+                        green = green * green * green #* green * green
+                        green = 1 - green
+                        self.file.write("set_color resicolor" + spin_no + ", 
[0," + str(green) + ",1]\n")
+                        self.file.write("color resicolor" + spin_no + ", 
resi " + spin_no + "\n")
+                        self.file.write("set_bond stick_radius, " + 
str(width) + ", resi " + spin_no + "\n")
+
+
+
+self.file.write("hide all\n")
+self.file.write("show sticks, name C+N+CA\n")
+self.file.write("set stick_quality, 10\n")
+self.file.write("ray\n")
+
+
+##################################################################################################
+
+# Create Rex Macro for PyMol 
+
+#create file
+
+self.file = open('rex.pml', 'w')
+
+self.file.write("bg_color white\n")
+self.file.write("color gray90\n")
+self.file.write("hide all\n")
+self.file.write("show ribbon\n")
+
+max_rex = 0
+
+#find max Rex
+for spin, spin_id in spin_loop(return_id=True):
+
+            if  hasattr(spin, 'rex'):
+
+                  if not spin.rex == None:
+                       if spin.rex > max_rex:
+                             max_rex = spin.rex 
+
+
+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, 'rex'):
+                rex = str(spin.rex)
+                if spin.rex == None:
+                        self.file.write("")
+                else:
+                        rel_rex = spin.rex / max_rex
+                        width = ((rel_rex) * 2)
+                        green = ((rel_rex)) 
+                        green = green * green * green #* green * green
+                        green = 1 - green
+                        self.file.write("set_color resicolor" + spin_no + ", 
[0," + str(green) + ",1]\n")
+                        self.file.write("color resicolor" + spin_no + ", 
resi " + spin_no + "\n")
+                        self.file.write("set_bond stick_radius, " + 
str(width) + ", resi " + spin_no + "\n")
+
+
+
+self.file.write("hide all\n")
+self.file.write("show sticks, name C+N+CA\n")
+self.file.write("set stick_quality, 10\n")
+self.file.write("ray\n")
+
+
+
+##################################################################################################
+
+
+print ""
+print ""
+print " ---------- done ----------------"
+print ""
+print ""
+print "Grace Plots are in Folder /grace/"
+print ""
+print "Signle Text Files for Relaxation Parameters are in Folder 
/final_results/"
+print ""
+print "Diffusion Tensor is in current Folder"
+print ""
+print "PyMol Macros are in current Folder - execute in PyMol with Command:"
+print "@rex.pml and @s2.pml"
+
+
+
+




Related Messages


Powered by MHonArc, Updated Sat Jan 01 00:00:04 2011