Author: bugman Date: Fri Jan 31 11:26:59 2014 New Revision: 22094 URL: http://svn.gna.org/viewcvs/relax?rev=22094&view=rev Log: Merged revisions 22091-22092 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r22091 | bugman | 2014-01-31 11:26:09 +0100 (Fri, 31 Jan 2014) | 7 lines Another fix for the NOE analysis for when replicated spectra have been collected. Variance averaging rather than error averaging is now used for the peak intensity errors. This is important if the errors for each replicated spectra are different - a case which is rarely encountered as the replicates are almost always used to determine one error for all the replicates. ........ r22092 | bugman | 2014-01-31 11:26:25 +0100 (Fri, 31 Jan 2014) | 3 lines Copyright notice update. ........ Modified: branches/double_rotor/ (props changed) branches/double_rotor/specific_analyses/noe/main.py Propchange: branches/double_rotor/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Fri Jan 31 11:26:59 2014 @@ -1,1 +1,1 @@ -/trunk:1-22090 +/trunk:1-22093 Modified: branches/double_rotor/specific_analyses/noe/main.py URL: http://svn.gna.org/viewcvs/relax/branches/double_rotor/specific_analyses/noe/main.py?rev=22094&r1=22093&r2=22094&view=diff ============================================================================== --- branches/double_rotor/specific_analyses/noe/main.py (original) +++ branches/double_rotor/specific_analyses/noe/main.py Fri Jan 31 11:26:59 2014 @@ -1,6 +1,6 @@ ############################################################################### # # -# Copyright (C) 2004-2013 Edward d'Auvergne # +# Copyright (C) 2004-2014 Edward d'Auvergne # # # # This file is part of the program relax (http://www.nmr-relax.com). # # # @@ -118,37 +118,37 @@ if not spin.select: continue - # Average intensities (if required). + # Average intensities and squared errors (if required). sat = 0.0 - sat_err = 0.0 + sat_err2 = 0.0 sat_count = 0 ref = 0.0 - ref_err = 0.0 + ref_err2 = 0.0 ref_count = 0 for id in cdp.spectrum_ids: # Sat spectra. if cdp.spectrum_type[id] == 'sat': sat += spin.intensities[id] - sat_err += spin.intensity_err[id] + sat_err2 += spin.intensity_err[id]**2 sat_count += 1 # Ref spectra. if cdp.spectrum_type[id] == 'ref': ref += spin.intensities[id] - ref_err += spin.intensity_err[id] + ref_err2 += spin.intensity_err[id]**2 ref_count += 1 - # Average the values. + # Average the values and errors (variance averaging). sat = sat / sat_count - sat_err = sat_err / sat_count + sat_err2 = sat_err2 / sat_count ref = ref / ref_count - ref_err = ref_err / ref_count + ref_err2 = ref_err2 / ref_count # Calculate the NOE. spin.noe = sat / ref # Calculate the error. - spin.noe_err = sqrt((sat_err * ref)**2 + (ref_err * sat)**2) / ref**2 + spin.noe_err = sqrt(sat_err2 * ref**2 + ref_err2 * sat**2) / ref**2 def overfit_deselect(self, data_check=True, verbose=True):