mailr26965 - /trunk/pipe_control/spectrum.py


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

Header


Content

Posted by tlinnet on December 05, 2014 - 17:38:
Author: tlinnet
Date: Fri Dec  5 17:38:51 2014
New Revision: 26965

URL: http://svn.gna.org/viewcvs/relax?rev=26965&view=rev
Log:
Added the function pipe_control.error_analysis_per_field(), as an automatic 
way of submitting subset ids per field for error analysis.

Modified:
    trunk/pipe_control/spectrum.py

Modified: trunk/pipe_control/spectrum.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/spectrum.py?rev=26965&r1=26964&r2=26965&view=diff
==============================================================================
--- trunk/pipe_control/spectrum.py      (original)
+++ trunk/pipe_control/spectrum.py      Fri Dec  5 17:38:51 2014
@@ -33,6 +33,7 @@
 # relax module imports.
 from lib.errors import RelaxError, RelaxImplementError, RelaxNoSpectraError
 from lib.io import write_data
+from lib.text.sectioning import section
 from lib.spectrum.peak_list import read_peak_list
 from lib.statistics import std
 from lib.warnings import RelaxWarning, RelaxNoSpinWarning
@@ -435,6 +436,54 @@
 
             # Set the errors.
             __errors_vol_no_repl()
+
+
+def error_analysis_per_field():
+    """Perform an error analysis of the peak intensities for each field 
strength separately."""
+
+    # Printout.
+    section(file=sys.stdout, text="Automatic Error analysis per field 
strength", prespace=2)
+
+    # Check if intensity errors have already been calculated by the user.
+    precalc = True
+    for spin in spin_loop(skip_desel=True):
+        # No structure.
+        if not hasattr(spin, 'peak_intensity_err'):
+            precalc = False
+            break
+
+        # Determine if a spectrum ID is missing from the list.
+        for id in cdp.spectrum_ids:
+            if id not in spin.peak_intensity_err:
+                precalc = False
+                break
+
+    # Skip.
+    if precalc:
+        print("Skipping the error analysis as it has already been 
performed.")
+        return
+
+    # Handle missing frequency data.
+    frqs = [None]
+    if hasattr(cdp, 'spectrometer_frq_list'):
+        frqs = cdp.spectrometer_frq_list
+
+    # Loop over the spectrometer frequencies.
+    for frq in frqs:
+        # Generate a list of spectrum IDs matching the frequency.
+        ids = []
+        for id in cdp.spectrum_ids:
+            # Check that the spectrometer frequency matches.
+            match_frq = True
+            if frq != None and cdp.spectrometer_frq[id] != frq:
+                match_frq = False
+
+            # Add the ID.
+            if match_frq:
+                ids.append(id)
+
+        # Run the error analysis on the subset.
+        error_analysis(subset=ids)
 
 
 def get_ids():




Related Messages


Powered by MHonArc, Updated Fri Dec 05 18:20:02 2014