Uf...
There was the error:
# Set the relaxation times (in s).
self.interpreter.relax_fit.relax_time(time=time_sl,
spectrum_id=sp_id)
was used instead of:
# Set the relaxation times (in s).
self.interpreter.relax_disp.relax_time(spectrum_id=sp_id,
time=time_sl)
2013/12/10 Edward d'Auvergne <[email protected]>
> Hi,
>
> That's exactly the point of failure. Maybe it would be useful to
> create one or two simple unit tests for the get_curve_type() function,
> using some of the data in the current data pipe where your script is
> failing. The problem is that for the experiment ID being sent into
> it, it can only find one matching relaxation time. Are you sure that
> all data is loaded correctly?
>
> Regards,
>
> Edward
>
>
>
> On 10 December 2013 09:19, Troels Emtekær Linnet <[email protected]>
> wrote:
> > Hi Edward.
> >
> > The function: has_exponential_exp_type() is returning
> > False, as the get_curve_type(id) is returning: fixed time
> >
> > So that test look good enough for me?
> >
> > Is it the: fixed time which is a problem?
> >
> > Best
> > Troels
> >
> >
> >
> > 2013/12/10 Troels Emtekær Linnet <[email protected]>
> >>
> >> Hi Edward.
> >>
> >> I will try to look into it today.
> >>
> >> Best
> >> Troels
> >>
> >>
> >> 2013/12/9 Edward d'Auvergne <[email protected]>
> >>>
> >>> Hi Troels,
> >>>
> >>> Note that I will soon release relax 3.1.1 with all of the recent fixes
> >>> (possibly tomorrow). This includes the 'NS MMQ 3-site', 'NS MMQ
> >>> 3-site linear', 'NS R1rho 3-site', and 'NS R1rho 3-site linear'
> >>> dispersion models which are now implemented, tested, and find similar
> >>> results to Dmitry Korzhnev's cpmg_fit software. If the test is not
> >>> functional by then, I will disable it for the release. It would be
> >>> very useful to have fixed though as it looks like variable relaxation
> >>> time data (SQ CPMG, MMQ CPMG, or R1rho) will all currently fail in the
> >>> auto-analysis. I've had a look and have another hint for you - the
> >>> problem is that has_exponential_exp_type() function is not returning
> >>> the correct answer ;)
> >>>
> >>> Regards,
> >>>
> >>> Edward
> >>>
> >>>
> >>>
> >>> On 9 December 2013 18:12, Edward d'Auvergne <[email protected]>
> wrote:
> >>> > Hi,
> >>> >
> >>> > This is a strange failure! The auto-analysis should not be running
> >>> > the calc user function for this. That is the problem, you cannot run
> >>> > the calc user function for non-constant relaxation time experiments.
> >>> > The error message is the standard one to tell the user that. The
> >>> > grid_search and minimise user functions should be used instead (maybe
> >>> > the error message can be modified to clarify this and include this
> >>> > info). But it is the auto-analysis that is running this. So the
> >>> > problem is there. relax can of course handle variable relaxation
> >>> > times for any dispersion data type.
> >>> >
> >>> > Regards,
> >>> >
> >>> > Edward
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > On 9 December 2013 18:02, Troels Emtekær Linnet <
> [email protected]>
> >>> > wrote:
> >>> >> Hi Edward.
> >>> >>
> >>> >> The R1rho data is not constant time.
> >>> >>
> >>> >> I have only included the models:
> >>> >> MODELS = ['R2eff', 'No Rex', 'DPL94']
> >>> >>
> >>> >> I have set it up, to find a solution for analysing R1rho data, where
> >>> >> R1 data
> >>> >> has not been acquired, but for
> >>> >> different
> >>> >>
> >>> >> It actually also fails at the moment, and will probably do for some
> >>> >> time.
> >>> >>
> >>> >> --------
> >>> >> relax -s Relax_disp.test_r1rho_kjaergaar
> >>> >>
> >>> >> relax> calc(verbosity=1)
> >>> >> Traceback (most recent call last):
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/test_suite/system_tests/relax_disp.py",
> >>> >> line 2581, in test_r1rho_kjaergaard
> >>> >> relax_disp.Relax_disp(pipe_name=pipe_name,
> >>> >> pipe_bundle=pipe_bundle,
> >>> >> results_dir=ds.tmpdir, models=MODELS, grid_inc=GRID_INC,
> >>> >> mc_sim_num=MC_NUM,
> >>> >> modsel=MODSEL)
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/auto_analyses/relax_disp.py",
> >>> >> line 116, in __init__
> >>> >> self.run()
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/auto_analyses/relax_disp.py",
> >>> >> line 447, in run
> >>> >> self.interpreter.calc()
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/prompt/uf_objects.py",
> >>> >> line 221, in __call__
> >>> >> self._backend(*new_args, **uf_kargs)
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/pipe_control/minimise.py",
> >>> >> line 86, in calc
> >>> >> calculate(verbosity=verbosity)
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/specific_analyses/relax_disp/api.py",
> >>> >> line 717, in calculate
> >>> >> self._calculate_r2eff()
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/specific_analyses/relax_disp/api.py",
> >>> >> line 182, in _calculate_r2eff
> >>> >> check_exp_type_fixed_time()
> >>> >> File
> >>> >>
> >>> >>
> "/sbinlab2/tlinnet/software/NMR-relax/relax_trunk/specific_analyses/relax_disp/checks.py",
> >>> >> line 112, in check_exp_type_fixed_time
> >>> >> raise RelaxError("The experiment '%s' is not of the fixed
> >>> >> relaxation
> >>> >> time period data type." % exp_type)
> >>> >> RelaxError: RelaxError: The experiment 'R1rho' is not of the fixed
> >>> >> relaxation time period data type.
> >>> >>
> >>> >> --------------
> >>> >>
> >>> >> Is the R1rho analysis only implemented for fixed time periods?
> >>> >>
> >>> >> Best
> >>> >> Troels
> >>> >>
> >>> >>
> >>> >>
> >>> >> 2013/12/9 Edward d'Auvergne <[email protected]>
> >>> >>>
> >>> >>> Hi Troels,
> >>> >>>
> >>> >>> When looking at this data and analysis, remember that I have not
> >>> >>> implemented Dmitry Korzhnev's "correction" for constant time R1rho
> >>> >>> data. I don't know if that was used in the original publication
> for
> >>> >>> your data. More details are given in the 'To do' section of the
> >>> >>> manual (I only recently added this info). I also don't know what
> the
> >>> >>> rest of the field think of his correction and how it applies to
> later
> >>> >>> models from the Palmer group.
> >>> >>>
> >>> >>> Regards,
> >>> >>>
> >>> >>> Edward
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>> On 9 December 2013 17:49, <[email protected]> wrote:
> >>> >>> > Author: tlinnet
> >>> >>> > Date: Mon Dec 9 17:49:49 2013
> >>> >>> > New Revision: 21920
> >>> >>> >
> >>> >>> > URL: http://svn.gna.org/viewcvs/relax?rev=21920&view=rev
> >>> >>> > Log:
> >>> >>> > Added system test for the analysis of optimisation of the
> >>> >>> > Kjaergaard et
> >>> >>> > al., 2013 Off-resonance R1rho relaxation dispersion experiments
> >>> >>> > using the
> >>> >>> > 'DPL' model.
> >>> >>> >
> >>> >>> > Work in progress for Support Request #3083,
> >>> >>> > (https://gna.org/support/index.php?3083) - Addition of Data-set
> >>> >>> > for R1rho
> >>> >>> > analysis.
> >>> >>> >
> >>> >>> > Modified:
> >>> >>> > trunk/test_suite/system_tests/relax_disp.py
> >>> >>> >
> >>> >>> > Modified: trunk/test_suite/system_tests/relax_disp.py
> >>> >>> > URL:
> >>> >>> >
> >>> >>> >
> http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/relax_disp.py?rev=21920&r1=21919&r2=21920&view=diff
> >>> >>> >
> >>> >>> >
> >>> >>> >
> ==============================================================================
> >>> >>> > --- trunk/test_suite/system_tests/relax_disp.py (original)
> >>> >>> > +++ trunk/test_suite/system_tests/relax_disp.py Mon Dec 9
> 17:49:49
> >>> >>> > 2013
> >>> >>> > @@ -2450,6 +2450,137 @@
> >>> >>> > self.assertAlmostEqual(cdp.mol[0].res[0].spin[0].chi2,
> >>> >>> > 0.030959849811015544, 3)
> >>> >>> >
> >>> >>> >
> >>> >>> > + def test_r1rho_kjaergaard(self):
> >>> >>> > + """Optimisation of the Kjaergaard et al., 2013
> >>> >>> > Off-resonance
> >>> >>> > R1rho relaxation dispersion experiments using the 'DPL' model.
> >>> >>> > +
> >>> >>> > + This uses the data from Kjaergaard's paper at U{DOI:
> >>> >>> > 10.1021/bi4001062<http://dx.doi.org/10.1021/bi4001062>}.
> >>> >>> > +
> >>> >>> > + """
> >>> >>> > +
> >>> >>> > + # The path to the data files.
> >>> >>> > + data_path = status.install_path +
> >>> >>> >
> >>> >>> >
> sep+'test_suite'+sep+'shared_data'+sep+'dispersion'+sep+'Kjaergaard_et_al_2013'
> >>> >>> > +
> >>> >>> > + # Set pipe name, bundle and type.
> >>> >>> > + pipe_name = 'base pipe'
> >>> >>> > + pipe_bundle = 'relax_disp'
> >>> >>> > + pipe_type= 'relax_disp'
> >>> >>> > +
> >>> >>> > + # Create the data pipe.
> >>> >>> > + self.interpreter.pipe.create(pipe_name=pipe_name,
> >>> >>> > bundle=pipe_bundle, pipe_type=pipe_type)
> >>> >>> > +
> >>> >>> > + # Read the spins.
> >>> >>> > +
> >>> >>> >
> >>> >>> >
> self.interpreter.spectrum.read_spins(file='1_0_46_0_max_standard.ser',
> >>> >>> > dir=data_path+sep+'peak_lists')
> >>> >>> > +
> >>> >>> > + # Test some of the sequence.
> >>> >>> > + self.assertEqual(len(cdp.mol), 1)
> >>> >>> > + self.assertEqual(cdp.mol[0].name, None)
> >>> >>> > + self.assertEqual(len(cdp.mol[0].res), 48)
> >>> >>> > +
> >>> >>> > + # Name the isotope for field strength scaling.
> >>> >>> > + self.interpreter.spin.isotope(isotope='15N')
> >>> >>> > +
> >>> >>> > + # Set number of experiments to be used.
> >>> >>> > + NR_exp = -1
> >>> >>> > +
> >>> >>> > + # Load the experiments settings file.
> >>> >>> > + expfile =
> >>> >>> > open(data_path+sep+'exp_parameters_sort.txt','r')
> >>> >>> > + expfileslines = expfile.readlines()[:NR_exp]
> >>> >>> > + expfile.close()
> >>> >>> > +
> >>> >>> > + # In MHz
> >>> >>> > + yOBS = 81.050
> >>> >>> > + # In ppm
> >>> >>> > + yCAR = 118.078
> >>> >>> > + centerPPM_N15 = yCAR
> >>> >>> > +
> >>> >>> > + ## Read the chemical shift data.
> >>> >>> > +
> >>> >>> >
> >>> >>> >
> self.interpreter.chemical_shift.read(file='1_0_46_0_max_standard.ser',
> >>> >>> > dir=data_path+sep+'peak_lists')
> >>> >>> > +
> >>> >>> > + # Test the chemical shift data.
> >>> >>> > + cs = [122.223, 122.162, 114.250, 125.852, 118.626,
> >>> >>> > 117.449,
> >>> >>> > 119.999, 122.610, 118.602, 118.291, 115.393,
> >>> >>> > + 121.288, 117.448, 116.378, 116.316, 117.263, 122.211,
> >>> >>> > 118.748,
> >>> >>> > 118.103, 119.421, 119.317, 119.386, 117.279,
> >>> >>> > + 122.103, 120.038, 116.698, 111.811, 118.639, 118.285,
> >>> >>> > 121.318,
> >>> >>> > 117.770, 119.948, 119.759, 118.314, 118.160,
> >>> >>> > + 121.442, 118.714, 113.080, 125.706, 119.183, 120.966,
> >>> >>> > 122.361,
> >>> >>> > 126.675, 117.069, 120.875, 109.372, 119.811, 126.048]
> >>> >>> > +
> >>> >>> > + i = 0
> >>> >>> > + for spin, spin_id in spin_loop(return_id=True):
> >>> >>> > + print spin.name, spin.num, spin_id,
> >>> >>> > spin.chemical_shift,
> >>> >>> > cs[i]
> >>> >>> > + # Check the chemical shift.
> >>> >>> > + self.assertEqual(spin.chemical_shift, cs[i])
> >>> >>> > +
> >>> >>> > + # Increment the index.
> >>> >>> > + i += 1
> >>> >>> > +
> >>> >>> > + # The lock power to field, has been found in an
> >>> >>> > calibration
> >>> >>> > experiment.
> >>> >>> > + spin_lock_field_strengths_Hz = {'35': 431.0, '39':
> 651.2,
> >>> >>> > '41':
> >>> >>> > 800.5, '43': 984.0, '46': 1341.11, '48': 1648.5}
> >>> >>> > +
> >>> >>> > + # Apply spectra settings.
> >>> >>> > + for i in range(len(expfileslines)):
> >>> >>> > + line=expfileslines[i]
> >>> >>> > + if line[0] == "#":
> >>> >>> > + continue
> >>> >>> > + else:
> >>> >>> > + # DIRN I deltadof2 dpwr2slock ncyc trim ss sfrq
> >>> >>> > + DIRN = line.split()[0]
> >>> >>> > + I = int(line.split()[1])
> >>> >>> > + deltadof2 = line.split()[2]
> >>> >>> > + dpwr2slock = line.split()[3]
> >>> >>> > + ncyc = int(line.split()[4])
> >>> >>> > + trim = float(line.split()[5])
> >>> >>> > + ss = int(line.split()[6])
> >>> >>> > + set_sfrq = float(line.split()[7])
> >>> >>> > + apod_rmsd = float(line.split()[8])
> >>> >>> > + spin_lock_field_strength =
> >>> >>> > spin_lock_field_strengths_Hz[dpwr2slock]
> >>> >>> > +
> >>> >>> > + # Calculate spin_lock time
> >>> >>> > + time_sl = 2*ncyc*trim
> >>> >>> > +
> >>> >>> > + # Define file name for peak list.
> >>> >>> > + FNAME = "%s_%s_%s_%s_max_standard.ser"%(I,
> >>> >>> > deltadof2,
> >>> >>> > dpwr2slock, ncyc)
> >>> >>> > + sp_id = "%s_%s_%s_%s"%(I, deltadof2, dpwr2slock,
> >>> >>> > ncyc)
> >>> >>> > +
> >>> >>> > + # Load the peak intensities.
> >>> >>> > +
> >>> >>> > self.interpreter.spectrum.read_intensities(file=FNAME,
> >>> >>> > dir=data_path+sep+'peak_lists', spectrum_id=sp_id,
> >>> >>> > int_method='height')
> >>> >>> > +
> >>> >>> > + # Set the peak intensity errors, as defined as
> the
> >>> >>> > baseplane RMSD.
> >>> >>> > +
> >>> >>> > self.interpreter.spectrum.baseplane_rmsd(error=apod_rmsd,
> >>> >>> > spectrum_id=sp_id)
> >>> >>> > +
> >>> >>> > + # Set the relaxation dispersion experiment type.
> >>> >>> > +
> >>> >>> > self.interpreter.relax_disp.exp_type(spectrum_id=sp_id,
> >>> >>> > exp_type='R1rho')
> >>> >>> > +
> >>> >>> > + # Set The spin-lock field strength, nu1, in Hz
> >>> >>> > +
> >>> >>> > self.interpreter.relax_disp.spin_lock_field(spectrum_id=sp_id,
> >>> >>> > field=spin_lock_field_strength)
> >>> >>> > +
> >>> >>> > + # Calculating the spin-lock offset in ppm, from
> >>> >>> > offsets
> >>> >>> > values provided in Hz.
> >>> >>> > + frq_N15_Hz = yOBS * 1E6
> >>> >>> > + offset_ppm_N15 = float(deltadof2) / frq_N15_Hz *
> >>> >>> > 1E6
> >>> >>> > + omega_rf_ppm = centerPPM_N15 + offset_ppm_N15
> >>> >>> > +
> >>> >>> > + # Set The spin-lock offset, omega_rf, in ppm.
> >>> >>> > +
> >>> >>> > self.interpreter.relax_disp.spin_lock_offset(spectrum_id=sp_id,
> >>> >>> > offset=omega_rf_ppm)
> >>> >>> > +
> >>> >>> > + # Set the relaxation times (in s).
> >>> >>> > +
> >>> >>> > self.interpreter.relax_fit.relax_time(time=time_sl,
> >>> >>> > spectrum_id=sp_id)
> >>> >>> > +
> >>> >>> > + # Set the spectrometer frequency.
> >>> >>> > +
> self.interpreter.spectrometer.frequency(id=sp_id,
> >>> >>> > frq=set_sfrq, units='MHz')
> >>> >>> > +
> >>> >>> > + # The dispersion models.
> >>> >>> > + MODELS = ['R2eff', 'No Rex', 'DPL94']
> >>> >>> > +
> >>> >>> > + # The grid search size (the number of increments per
> >>> >>> > dimension).
> >>> >>> > + GRID_INC = 4
> >>> >>> > +
> >>> >>> > + # The number of Monte Carlo simulations to be used for
> >>> >>> > error
> >>> >>> > analysis at the end of the analysis.
> >>> >>> > + MC_NUM = 3
> >>> >>> > +
> >>> >>> > + # Model selection technique.
> >>> >>> > + MODSEL = 'AIC'
> >>> >>> > +
> >>> >>> > + # Run the analysis.
> >>> >>> > + relax_disp.Relax_disp(pipe_name=pipe_name,
> >>> >>> > pipe_bundle=pipe_bundle, results_dir=ds.tmpdir, models=MODELS,
> >>> >>> > grid_inc=GRID_INC, mc_sim_num=MC_NUM, modsel=MODSEL)
> >>> >>> > +
> >>> >>> > +
> >>> >>> > def test_r2eff_read(self):
> >>> >>> > """Test the operation of the relax_disp.r2eff_read user
> >>> >>> > function."""
> >>> >>> >
> >>> >>> >
> >>> >>> >
> >>> >>> > _______________________________________________
> >>> >>> > relax (http://www.nmr-relax.com)
> >>> >>> >
> >>> >>> > This is the relax-commits mailing list
> >>> >>> > [email protected]
> >>> >>> >
> >>> >>> > To unsubscribe from this list, get a password
> >>> >>> > reminder, or change your subscription options,
> >>> >>> > visit the list information page at
> >>> >>> > https://mail.gna.org/listinfo/relax-commits
> >>> >>>
> >>> >>> _______________________________________________
> >>> >>> relax (http://www.nmr-relax.com)
> >>> >>>
> >>> >>> This is the relax-devel mailing list
> >>> >>> [email protected]
> >>> >>>
> >>> >>>
> >>> >>> To unsubscribe from this list, get a password
> >>> >>> reminder, or change your subscription options,
> >>> >>> visit the list information page at
> >>> >>> https://mail.gna.org/listinfo/relax-devel
> >>> >>
> >>> >>
> >>
> >>
> >
>
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-devel mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel