mailr10733 - /1.3/auto_analyses/stereochem_analysis.py


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

Header


Content

Posted by edward on February 18, 2010 - 14:43:
Author: bugman
Date: Thu Feb 18 14:43:04 2010
New Revision: 10733

URL: http://svn.gna.org/viewcvs/relax?rev=10733&view=rev
Log:
The interpreter is now imported and set up.  User function calls are now 
passed through this class.


Modified:
    1.3/auto_analyses/stereochem_analysis.py

Modified: 1.3/auto_analyses/stereochem_analysis.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/auto_analyses/stereochem_analysis.py?rev=10733&r1=10732&r2=10733&view=diff
==============================================================================
--- 1.3/auto_analyses/stereochem_analysis.py (original)
+++ 1.3/auto_analyses/stereochem_analysis.py Thu Feb 18 14:43:04 2010
@@ -56,6 +56,7 @@
 from generic_fns import pipes
 from generic_fns.selection import spin_loop
 from physical_constants import dipolar_constant, g1H, g13C
+from prompt.interpreter import Interpreter
 from relax_io import mkdir_nofail
 
 
@@ -94,6 +95,11 @@
         self.lower_lim_rdc=lower_lim_rdc
         self.upper_lim_rdc=upper_lim_rdc
 
+        # Load the interpreter.
+        self.interpreter = Interpreter(show_script=False, quit=False, 
raise_relax_error=True)
+        self.interpreter.populate_self()
+        self.interpreter.on(verbose=False)
+
         # Create a directory for log files.
         if self.log:
             mkdir_nofail("logs")
@@ -406,24 +412,24 @@
             out_sorted.write("%-20s%20s\n" % ("# Ensemble", "NOE_volation"))
 
             # Create the data pipe.
-            pipe.create("noe_viol_%s" % config, "N-state")
+            self.interpreter.pipe.create("noe_viol_%s" % config, "N-state")
 
             # Read the first structure.
-            structure.read_pdb("ensembles" + sep + config + "0.pdb", 
set_mol_name=config, set_model_num=range(1, self.num_models+1), 
parser="internal")
+            self.interpreter.structure.read_pdb("ensembles" + sep + config + 
"0.pdb", set_mol_name=config, set_model_num=range(1, self.num_models+1), 
parser="internal")
 
             # Load all protons as the sequence.
-            structure.load_spins("@H*", ave_pos=False)
+            self.interpreter.structure.load_spins("@H*", ave_pos=False)
 
             # Create the pseudo-atoms.
             for i in range(len(self.pseudo)):
-                spin.create_pseudo(spin_name=self.pseudo[i][0], 
members=self.pseudo[i][1], averaging="linear")
-            sequence.display()
+                
self.interpreter.spin.create_pseudo(spin_name=self.pseudo[i][0], 
members=self.pseudo[i][1], averaging="linear")
+            self.interpreter.sequence.display()
 
             # Read the NOE list.
-            noe.read_restraints(file=self.noe_file)
+            self.interpreter.noe.read_restraints(file=self.noe_file)
 
             # Set up the N-state model.
-            n_state_model.select_model(model="fixed")
+            self.interpreter.n_state_model.select_model(model="fixed")
 
             # Print out.
             print("\n"*2 + "# Set up complete #" + "\n"*10)
@@ -437,16 +443,16 @@
                 sys.stderr.write(config + repr(ens) + "\n")
 
                 # Delete the old structures and rename the molecule.
-                structure.delete()
+                self.interpreter.structure.delete()
 
                 # Read the ensemble.
-                structure.read_pdb("ensembles" + sep + config + repr(ens) + 
".pdb", set_mol_name=config, set_model_num=range(1, self.num_models+1), 
parser="internal")
+                self.interpreter.structure.read_pdb("ensembles" + sep + 
config + repr(ens) + ".pdb", set_mol_name=config, set_model_num=range(1, 
self.num_models+1), parser="internal")
 
                 # Get the atomic positions.
-                structure.get_pos(ave_pos=False)
+                self.interpreter.structure.get_pos(ave_pos=False)
 
                 # Calculate the average NOE potential.
-                calc()
+                self.interpreter.calc()
 
                 # Sum the violations.
                 cdp.sum_viol = 0.0
@@ -459,7 +465,7 @@
                 out.write("%-20i%30.15f\n" % (ens, cdp.sum_viol))
 
                 # Save the state.
-                results.write(file="%s_results_%s" % (config, ens), dir=dir, 
force=True)
+                self.interpreter.results.write(file="%s_results_%s" % 
(config, ens), dir=dir, force=True)
 
             # Sort the NOE violations.
             noe_viol.sort()
@@ -473,7 +479,7 @@
         """Perform the RDC part of the analysis."""
 
         # Redirect STDOUT to a log file.
-        if log:
+        if self.log:
             sys.stdout = open("logs" + sep + "RDC_%s_analysis.log" % 
self.rdc_name, 'w')
 
         # The dipolar constant.
@@ -495,32 +501,32 @@
             out_sorted.write("%-20s%20s\n" % ("# Ensemble", 
"RDC_Q_factor(pales)"))
 
             # Create the data pipe.
-            pipe.create("rdc_analysis_%s" % config, "N-state")
+            self.interpreter.pipe.create("rdc_analysis_%s" % config, 
"N-state")
 
             # Read the first structure.
-            structure.read_pdb("ensembles_superimposed" + sep + config + 
"0.pdb", set_mol_name=config, set_model_num=range(1, self.num_models+1), 
parser="internal")
+            self.interpreter.structure.read_pdb("ensembles_superimposed" + 
sep + config + "0.pdb", set_mol_name=config, set_model_num=range(1, 
self.num_models+1), parser="internal")
 
             # Load all protons as the sequence.
-            structure.load_spins("@H*", ave_pos=False)
+            self.interpreter.structure.load_spins("@H*", ave_pos=False)
 
             # Create the pseudo-atoms.
             for i in range(len(self.pseudo)):
-                spin.create_pseudo(spin_name=self.pseudo[i][0], 
members=self.pseudo[i][1], averaging="linear")
-            sequence.display()
+                
self.interpreter.spin.create_pseudo(spin_name=self.pseudo[i][0], 
members=self.pseudo[i][1], averaging="linear")
+            self.interpreter.sequence.display()
 
             # Read the RDC data.
-            rdc.read(align_id=self.rdc_file, file=self.rdc_file, 
spin_id_col=self.rdc_spin_id_col, mol_name_col=self.rdc_mol_name_col, 
res_num_col=self.rdc_res_num_col, res_name_col=self.rdc_res_name_col, 
spin_num_col=self.rdc_spin_num_col, spin_name_col=self.rdc_spin_name_col, 
data_col=self.rdc_data_col, error_col=self.rdc_error_col)
+            self.interpreter.rdc.read(align_id=self.rdc_file, 
file=self.rdc_file, spin_id_col=self.rdc_spin_id_col, 
mol_name_col=self.rdc_mol_name_col, res_num_col=self.rdc_res_num_col, 
res_name_col=self.rdc_res_name_col, spin_num_col=self.rdc_spin_num_col, 
spin_name_col=self.rdc_spin_name_col, data_col=self.rdc_data_col, 
error_col=self.rdc_error_col)
 
             # Set the values needed to calculate the dipolar constant.
-            value.set(self.bond_length, "bond_length", spin_id="@H*")
-            value.set(self.bond_length, "bond_length", spin_id="@Q*")
-            value.set("13C", "heteronucleus", spin_id="@H*")
-            value.set("13C", "heteronucleus", spin_id="@Q*")
-            value.set("1H", "proton", spin_id="@H*")
-            value.set("1H", "proton", spin_id="@Q*")
+            self.interpreter.value.set(self.bond_length, "bond_length", 
spin_id="@H*")
+            self.interpreter.value.set(self.bond_length, "bond_length", 
spin_id="@Q*")
+            self.interpreter.value.set("13C", "heteronucleus", spin_id="@H*")
+            self.interpreter.value.set("13C", "heteronucleus", spin_id="@Q*")
+            self.interpreter.value.set("1H", "proton", spin_id="@H*")
+            self.interpreter.value.set("1H", "proton", spin_id="@Q*")
 
             # Set up the model.
-            n_state_model.select_model(model="fixed")
+            self.interpreter.n_state_model.select_model(model="fixed")
 
             # Print out.
             print("\n"*2 + "# Set up complete #" + "\n"*10)
@@ -534,17 +540,17 @@
                 sys.stderr.write(config + repr(ens) + "\n")
 
                 # Delete the old structures.
-                structure.delete()
+                self.interpreter.structure.delete()
 
                 # Read the ensemble.
-                structure.read_pdb("ensembles_superimposed" + sep + config + 
repr(ens) + ".pdb", set_mol_name=config, set_model_num=range(1, 
self.num_models+1), parser="internal")
+                self.interpreter.structure.read_pdb("ensembles_superimposed" 
+ sep + config + repr(ens) + ".pdb", set_mol_name=config, 
set_model_num=range(1, self.num_models+1), parser="internal")
 
                 # Load the CH vectors for the H atoms.
-                structure.vectors(spin_id="@H*", attached="*C*", ave=False)
+                self.interpreter.structure.vectors(spin_id="@H*", 
attached="*C*", ave=False)
 
                 # Minimisation.
                 #grid_search(inc=4)
-                minimise("simplex", constraints=False)
+                self.interpreter.minimise("simplex", constraints=False)
 
                 # Store and write out the Q-factors.
                 q_factors.append([cdp.q_rdc, ens])
@@ -555,7 +561,7 @@
                 cdp.align_tensor_Hz_5D = d * cdp.align_tensors[0].A_5D
 
                 # Save the state.
-                results.write(file="%s_results_%s" % (config, ens), dir=dir, 
force=True)
+                self.interpreter.results.write(file="%s_results_%s" % 
(config, ens), dir=dir, force=True)
 
             # Sort the NOE violations.
             q_factors.sort()
@@ -661,9 +667,9 @@
                 stderr.close()
 
                 # Open the superimposed file in relax.
-                reset()
-                pipe.create('out', 'N-state')
-                structure.read_pdb(file_out, parser="internal")
+                self.interpreter.reset()
+                self.interpreter.pipe.create('out', 'N-state')
+                self.interpreter.structure.read_pdb(file_out, 
parser="internal")
 
                 # Fix the retarded MOLMOL proton naming.
                 for model in cdp.structure.structural_data:
@@ -677,4 +683,4 @@
                             mol.atom_name[i] = mol.atom_name[i][1:] + 
mol.atom_name[i][0]
 
                 # Replace the superimposed file.
-                structure.write_pdb(config + repr(ens) + ".pdb", 
dir="ensembles_superimposed", force=True)
+                self.interpreter.structure.write_pdb(config + repr(ens) + 
".pdb", dir="ensembles_superimposed", force=True)




Related Messages


Powered by MHonArc, Updated Thu Feb 18 15:00:01 2010