mailr25486 - /trunk/test_suite/shared_data/curve_fitting/numeric_topology/estimate_errors_analyse.py


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

Header


Content

Posted by tlinnet on August 31, 2014 - 20:56:
Author: tlinnet
Date: Sun Aug 31 20:56:53 2014
New Revision: 25486

URL: http://svn.gna.org/viewcvs/relax?rev=25486&view=rev
Log:
Added functionality to create peak lists, for virtual data.

This is to compare the distribution of R2eff values made by boot strapping 
and Monte-Carlo simulations.

Rest of the analysis will be performed in relax.

task #7822(https://gna.org/task/index.php?7822): Implement user function to 
estimate R2eff and associated errors for exponential curve fitting.

Modified:
    
trunk/test_suite/shared_data/curve_fitting/numeric_topology/estimate_errors_analyse.py

Modified: 
trunk/test_suite/shared_data/curve_fitting/numeric_topology/estimate_errors_analyse.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/shared_data/curve_fitting/numeric_topology/estimate_errors_analyse.py?rev=25486&r1=25485&r2=25486&view=diff
==============================================================================
--- 
trunk/test_suite/shared_data/curve_fitting/numeric_topology/estimate_errors_analyse.py
      (original)
+++ 
trunk/test_suite/shared_data/curve_fitting/numeric_topology/estimate_errors_analyse.py
      Sun Aug 31 20:56:53 2014
@@ -6,6 +6,7 @@
 #import pickle
 import cPickle as pickle
 from numpy import array, asarray, diag, ones, std, sqrt
+from os import getcwd, makedirs, path, sep
 
 # Open data.
 dic_s = pickle.load( open( "estimate_errors_data_settings.cp", "rb" ) )
@@ -24,7 +25,8 @@
 all_errors = dic_s['all_errors']
 
 # Make plots?
-make_plots = True
+make_plots = False
+make_peak_lists = True
 
 if make_plots:
     from pylab import show, plot, legend, figure, title, subplots
@@ -227,3 +229,74 @@
 
 if make_plots:
     show()
+
+if make_peak_lists:
+    # Create dir for peak lists.
+    peak_dir = getcwd() + sep + 'estimate_errors_peak_lists'
+    if not path.exists(peak_dir):
+        makedirs(peak_dir)
+
+    # Set which data to write for.
+    nt_max = 10
+    # Open data.
+    dic = pickle.load( open( "estimate_errors_data_nt%i.cp"%nt_max, "rb" ) )
+
+    # Loop over original intensity, or noise true data.
+    for ref_int in ['I', 'I_err']:
+        #for i in range(np):
+        for i in range(1):
+            if ref_int == 'I':
+                file_path = peak_dir + sep + "ntmax_%i_disp_%i_ref.ser" % 
(nt_max, i)
+            else:
+                file_path = peak_dir + sep + "ntmax_%i_disp_%i.ser" % 
(nt_max, i)
+    
+            wfile = open(file_path, 'w')
+    
+            wfile.write("REMARK SeriesTab Input:" + "\n")
+            wfile.write("REMARK Mode: Maximum Dimensions: 2" + "\n")
+            wfile.write("REMARK Input Region:    X +/- 0 X-ZF: 1" + "\n")
+            wfile.write("REMARK Analysis Region: X +/- 0" + "\n")
+            wfile.write("REMARK Input Region:    Y +/- 0 Y-ZF: 1" + "\n")
+            wfile.write("REMARK Analysis Region: Y +/- 0" + "\n")
+            wfile.write("" + "\n")
+            # Get number of intensities.
+    
+            nt = dic[i]['nt']
+            times = dic[i]['times']
+            errors = dic[i]['errors']
+            I = dic[i]['I']
+            I_err = dic[i]['I_err']
+            if ref_int == 'I':
+                I_val = I
+            else:
+                I_val = I_err
+    
+            Z_A_list = 'Z_A' + ' Z_A'.join(str(x) for x in range(nt))
+            f_list = " ".join(nt*['%7.4f'])
+            wfile.write("VARS   INDEX X_AXIS Y_AXIS X_PPM Y_PPM VOL ASS X1 
X3 Y1 Y3 " + Z_A_list + "\n")
+            wfile.write("FORMAT %5d %9.3f %9.3f %8.3f %8.3f %+e %s %4d %4d 
%4d %4d " + f_list + "\n")
+            wfile.write("" + "\n")
+            wfile.write("NULLVALUE -666" + "\n")
+            wfile.write("NULLSTRING *" + "\n")
+            wfile.write("" + "\n")
+    
+            # Write for all spins.
+            for spin in range(1, 2):
+                INDEX = spin
+                X_AXIS = 450.000 
+                Y_AXIS = 100.000
+                X_PPM = 8.000
+                Y_PPM = 120.000
+                VOL = I_err[0]
+                ASS = "A%iN-HN"%spin
+                X1 = 400
+                X3 = 403
+                Y1 = 75
+                Y3 = 77
+                I_val_mod = I_val / VOL
+                I_val_mod_str = " ".join(format(x, "1.4f") for x in 
I_val_mod)
+    
+                text = "%5s   %3.3f   %3.3f   %2.3f  %3.3f %1.6e %8s  %3i  
%3i  %3i  %3i  %s" % (INDEX, X_AXIS, Y_AXIS, X_PPM, Y_PPM, VOL, ASS, X1, X3, 
Y1, Y3, I_val_mod_str)
+                wfile.write(text + "\n")
+
+            wfile.close()




Related Messages


Powered by MHonArc, Updated Sun Aug 31 21:00:02 2014