mailr2865 - /1.3/sample_scripts/full_analysis.py


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

Header


Content

Posted by edward . dauvergne on November 23, 2006 - 05:10:
Author: bugman
Date: Thu Nov 23 05:09:52 2006
New Revision: 2865

URL: http://svn.gna.org/viewcvs/relax?rev=2865&view=rev
Log:
Added a convergence test for the diffusion parameter values to the 
'full_analysis.py' script.


Modified:
    1.3/sample_scripts/full_analysis.py

Modified: 1.3/sample_scripts/full_analysis.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/sample_scripts/full_analysis.py?rev=2865&r1=2864&r2=2865&view=diff
==============================================================================
--- 1.3/sample_scripts/full_analysis.py (original)
+++ 1.3/sample_scripts/full_analysis.py Thu Nov 23 05:09:52 2006
@@ -328,9 +328,9 @@
         print "chi2 (k-1): %s" + self.relax.data.chi2['previous']
         print "chi2 (k):   %s" + self.relax.data.chi2[run]
         if self.relax.data.chi2['previous'] == self.relax.data.chi2[run]:
-            print "The chi-squared value has converged."
-        else:
-            print "The chi-squared value has not converged."
+            print "The chi-squared value has converged.\n"
+        else:
+            print "The chi-squared value has not converged.\n"
             chi2_converged = 0
 
 
@@ -351,9 +351,9 @@
 
         # The test.
         if prev_models == curr_models:
-            print "The model-free models have converged."
-        else:
-            print "The model-free models have not converged."
+            print "The model-free models have converged.\n"
+        else:
+            print "The model-free models have not converged.\n"
             models_converged = 0
 
 
@@ -364,8 +364,38 @@
 
         # Only run the tests if the model-free models have converged.
         if models_converged:
+            # Diffusion parameter array.
+            if self.diff_model == 'sphere':
+                params = ['tm']
+            elif self.diff_model == 'oblate' or self.diff_model == 'prolate':
+                params = ['tm', 'Da', 'theta', 'phi']
+            elif self.diff_model == 'ellipsoid':
+                params = ['tm', 'Da', 'Dr', 'alpha', 'beta', 'gamma']
+
+            # Tests.
+            for param in params:
+                # Get the parameter values.
+                prev_val = getattr(self.relax.data.diff['previous'], param)
+                curr_val = getattr(self.relax.data.diff[run], param)
+
+                # Test if not identical.
+                if prev_val != curr_val:
+                    print "Parameter:   " + param
+                    print "Value (k-1): " + `prev_val`
+                    print "Value (k):   " + `curr_val`
+                    print "The diffusion parameters have not converged.\n"
+                    params_converged = 0
+
+            # Skip the rest if the diffusion tensor parameters have not 
converged.
+            if not param_converged:
+                break
+
             # Loop over the spin systems.
             for i in xrange(len(self.relax.data.res[run])):
+                # Skip if the parameters have not converged.
+                if not params_converged:
+                    break
+
                 # Loop over the parameters.
                 for j in xrange(len(self.relax.data.res[run][i].params)):
                     # Get the parameter values.
@@ -378,8 +408,9 @@
                         print "Parameter:   " + 
self.relax.data.res[run][i].params[j]
                         print "Value (k-1): " + `prev_val`
                         print "Value (k):   " + `curr_val`
-                        print "The model-free parameters have not converged."
+                        print "The model-free parameters have not 
converged.\n"
                         params_converged = 0
+                        break
 
         # The model-free models haven't converged hence the parameter values 
haven't converged.
         else:




Related Messages


Powered by MHonArc, Updated Thu Nov 23 05:40:05 2006