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

