* Improvements for the GUI representation of the relax_disp user functions.
* More import fixes for the new package layout.
* Fix for the [http://www.nmr-relax.com/manual/relax_data.read.html relax_data.read user function ] call in the Relax_disp.test_read_r2eff system test. The column numbers must be supplied.
* Some more fixes to make the Relax_disp.test_read_r2eff system test pass. These are again changes needed due to the trunk now being very different.
* The cpmg_frq argument of the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] can now be None.* The cpmg_frq argument of the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] can now be an integer as well as a float.
* Updates for the relaxation dispersion system test scripts for the newer design of relax. A number of changes were required as the code was quite old.
* Created the lib.dispersion.equations module. This is a translation of Sebastien Morin's C code in the old relax_disp branch.
* Updated the target_functions package __all__ list for the relax_disp module.
* Another fix for the prompt argument unit tests of the relax_disp user functions.
* Big changes to the front end of the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function]. The model strings have been changed and are now programmatically added to the user function documentation. The main text has also been redesigned. And the new model 'exp_fit' has been added which allows just the exponential curves to be fit.
* Python 3 import fix for the specific_analyses.relax_disp module.
* Updated the documentation in specific_analyses.relax_disp to use the user_functions package design. The user_functions.objects.Desc_container and user_functions.data.Uf_tables objects are now used to construct the relaxation dispersion documentation.
* Import cleanup in the specific_analyses.relax_disp module.
* The relaxation dispersion specific analysis module is now using the base _data_init_spin() method. This is aliased to data_init() and replaces the old non-functional method.
* Created the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field user function]. This is used to set the spin-lock field strength of a given R<sub>1ρ</sub> spectrum.* Created the [http://www.nmr-relax.com/manual/relax_disp.relax_time.html relax_disp.relax_time user function]. This is almost a direct copy of the [http://www.nmr-relax.com/manual/relax_fit.relax_time.html relax_fit.relax_time user function], but has been modernised.* Fix for the printout from the [http://www.nmr-relax.com/manual/relax_disp.relax_time.html relax_disp.relax_time user function ] - the time is no longer divided by 1k.
* Expanded the dispersion model parameters to include the exponential curve parameters.
* Clean up of some of the old relax_disp user functions - many argument types are now numbers rather than floats.
* Big cleanup of the relaxation dispersion code to match the analysis specific API. All methods not belonging to the API have been made private. The arguments and keyword arguments for the API methods now match the API.
* Completely redesigned the minimisation parts of the specific_analyses.relax_disp module. Instead of dealing with the optimisation of individual spins, groups of spins are now optimised together. This allows for the clustering analysis of relaxation dispersion. The method _block_loop() has been created to loop over spin blocks, but it currently only returns individual spins. However with the rest of the code designed to handle this loop, only this function needs to be modified to enable clustering. The method _param_num() has also been added to determine the total parameter number per spin block. The data structures sent into the Dispersion target function class have also been redesigned to handle spin blocks instead of individual spins.
* Modified the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] to match relax_disp.spin_lock_field. Both the front and back ends now use the same logic as the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field user function ] and will allow some sanity to the analysis specific code.* The [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq ] and [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field ] user functions now create cdp.curve_count. This is an integer which indicates the number of exponential curves which are to be optimised per spin block.
* The relaxation dispersion analysis specific _param_num() method now takes the number of curves into account.
* Better setup checking for the relaxation dispersion specific analysis minimise() method.
* Fixes for the dispersion specific analysis separating R<sub>2eff</sub> from R<sub>2</sub>. There is one R<sub>2eff</sub> parameter per exponential curve, but only one R<sub>2</sub> per model. The code now better handles this.
* The dispersion specific methods now handle one R<sub>2eff</sub> and I<sub>0</sub> parameter per exponential curve.
* Better management of the global relaxation dispersion data. The user functions [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq], [http://www.nmr-relax.com/manual/relax_disp.spin_lock_nu1.html relax_disp.spin_lock_nu1], and [http://www.nmr-relax.com/manual/relax_disp.relax_time.html relax_disp.relax_time ] now maintain data structures in the current data pipe of the unique frequencies, fields, and times (sorted) as well as the number of frequencies, fields, and times. This data is used by the minimise user function back end to set up the target function, and will be required by many other parts of the analysis.
* The dispersion specific _assemble_param_vector() method now handles multiple R<sub>2eff</sub> and I<sub>0</sub> values. These spin structures are dictionaries holding multiple values.
* Created the dispersion specific _exp_curve_loop() method for looping over each exponential curve. This yields the index and key for each curve, simplifying the handling of this data.
* Expanded the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function documentation ] to cover R<sub>2eff</sub> and I<sub>0</sub>. These parameters and how they are optimised are now better described.
* Updated the relaxation dispersion target function class to handle the recent changes.
* First attempt at a target function for fitting exponential curves for relaxation dispersion.
* Fix for the func_exp_fit() relaxation dispersion target function. The parameter index was not correctly calculated.
* The 'exp_fit' relaxation dispersion model now uses the minfx.grid sparseness argument. This is used to skip all parts of the grid search belonging to a different exponential curve or different spin. If the number of curves is N and the number of spins M, the grid size decreases from inc<sup>(2*N*M)</sup> to (inc<sup>2</sup>)*N*M. For lots of spins and curves, this is a huge decrease.
* The relaxation dispersion specific _disassemble_param_vector() method is now functional. This should allow the [http://www.nmr-relax.com/manual/minimise.html minimise user function ] to complete.
* Fixes for the dispersion specific _assemble_param_vector() method. The R<sub>2eff</sub> and I<sub>0</sub> spin dictionary structures are now checked for their keys before pulling the value out.
* Fix for the relaxation dispersion grid search. The lower and upper bounds are no longer continually scaled with each optimisation.
* Expanded the checking in the Relax_disp.test_exp_fit system test.
* Converted all relaxation dispersion parameters to lowercase. This is so the variable names match the parameter names identically, avoiding problems with some of the shared methods of the specific analysis API.
* The spin parameters are now set up last by the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end.
* Added 'spin_lock_nu1' as a dictionary type parameter of the relaxation dispersion specific analysis.
* Rearrangements of the 2 system tests of Fleming Hansen's CPMG data. The system tests are now called Relax_disp.test_hansen_cpmg_data_fast_2site and Relax_disp.test_hansen_cpmg_data_slow_2site, and the system test scripts are now all in test_suite/system_tests/scripts/relax_disp/.
* The Relax_disp.test_exp_fit system test now uses the auto_analyses.relax_disp analysis.
* Fix for the relaxation dispersion auto-analysis. The exponential fit model is now selected prior to optimisation.
* Removed the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] call from the exp_fit dispersion system test script. This is performed by the auto-analysis and not during setup.* Added testing for spin clustering to the Relax_disp.test_exp_fit system test. This includes calls to the new [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function ] and the checking of pipe variables holding the clustering information.* Fix for the spin ID string for the [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function]. This is for the exp_fit.py relaxation dispersion system test script.* Implemented the [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function]. This is for clustering spins together for a dispersion analysis.
* Clustering is now enabled for relaxation dispersion. The model_loop() analysis specific API method now loops over the spin clusterings, allowing a cluster of spins to be optimised simultaneously to one set of model parameters.
* Fixes for the spin clustering for relaxation dispersion. Both optimisation and Monte Carlo simulations were affected by these bugs.
* Speed up of the Relax_disp.test_exp_fit system test by cutting the grid size down to 3 increments.
* Expanded the write_results() method of the relaxation dispersion auto-analysis. More Grace graphs are now being produced, and the Rex file creation is now model dependent.
* Fix for the [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function]. The 'free spins' category is now not deleted when empty.
* Created an icon set for relaxation dispersion.
* Renamed the relaxation dispersion test suite data directory to 'dispersion'.
* Changed the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] id argument to spectrum_id. All the relax_disp user functions now operate with the spectrum IDs instead of experiment IDs.* The [http://www.nmr-relax.com/manual/relax_disp.cpmg_delayT.html relax_disp.cpmg_delayT user function ] backend now uses the spectrum ID rather than experiment ID.* Expanded the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] to include the fixed period CPMG experiments.* The [http://www.nmr-relax.com/manual/relax_disp.cpmg_delayT .html relax_disp.cpmg_delayT] backend can now handle the 'cpmg fixed' experiment type.* The [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] can now handle values of None. The float function is no longer used if the value of None is encountered.
* Updated the dispersion system test script for Flemming Hansen's data. This script should now be close to the final form for a relaxation dispersion analysis of CPMG data with a fixed relaxation time period.
* Combined all the system test scripts of Flemming Hansen's fixed time period CPMG data. For details of this data, see http://thread.gmane.org/gmane.science.nmr.relax.devel/3790/focus=3827.
* Fixes for the renaming of the relaxation dispersion test suite shared data directory.
* Started to redesign how R<sub>2eff</sub> is handled in the relaxation dispersion analysis. Instead of being part of the optimisation of the dispersion model, it will itself be the model named [[R2eff]] (converted from the 'exp_fit' model). This model will either use the [http://www.nmr-relax.com/manual/calc.html calc user function ] to determine R<sub>2eff</sub> when the fixed relaxation period experiment is selected, or fit exponential curves using the relax_fit C module for the variable relaxation period experiments. The R<sub>2eff</sub> values will then be copied over for each dispersion model in the auto-analysis using the [http://www.nmr-relax.com/manual/value.copy.html value.copy user function].* Created the [http://www.nmr-relax.com/manual/relax_disp.plot_exp_curves.html relax_disp.plot_exp_curves user function]. This is to be used to create 2D graphs of the exponential curves (relaxation time verses peak intensity) as the [http://www.nmr-relax.com/manual/grace.write.html grace.write user function ] plots are not very nice - the curves from each spectrometer field strength and dispersion point are mixed into one curve.
* The relaxation dispersion auto-analysis is now created plots of the exponential curves.
* The [[R2eff]] model now works for the variable time relaxation period and exponential curve-fitting.
* The [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] now checks for the compiled C module when required.
* Expanded the new analysis wizard in the GUI to accommodate the relaxation dispersion auto-analysis. Now the buttons are a matrix of 4x2 with the NOE, R<sub>1</sub>, R<sub>2</sub>, and model-free analyses at the top and two new blank buttons have been added to the bottom. One will be used for the dispersion analysis.
* Created some basic graphics for the relaxation dispersion analysis fur use in the GUI.
* Created the initial version of the relaxation dispersion auto-analysis GUI frame. This is built from copying lots of code from the NOE, R<sub>1</sub>, and R<sub>2</sub> analyses. The dispersion specific parts will be added later.
* The relaxation dispersion GUI analysis now has an element for selecting the models to be optimised.
* Removed some unneeded checks in the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function].
* Added a GUI element to the relaxation dispersion auto-analysis for selecting the experiment type.
* The [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] has been shifted to the new analysis wizard. Instead of being one of the elements on the relaxation dispersion analysis frame, it is now placed between the analysis selection page and the data pipe page of the new analysis wizard. The user function execution is delayed until the set up of the frame, just after the execution of the [http://www.nmr-relax.com/manual/pipe.create.html pipe.create user function]. This will allow the frame to be set up differently for each experiment type.
* Extended the tooltip for the experiment type GUI element in the relaxation dispersion frame.
* Improvements to the tooltips in the relaxation dispersion analysis frame of the GUI.
* Missing import in the gui.analyses.auto_relax_disp module.
* Added support for all the relaxation dispersion user functions in the Peak_intensity_wizard object.
* Modified how the fixed time period is specified in the Flemming Hansen data system test. Instead of using [http://www.nmr-relax.com/manual/relax_disp.cpmg_delayT.html relax_disp.cpmg_delayT user function], the [http://www.nmr-relax.com/manual/relax_disp.relax_time.html relax_disp.relax_time user function ] will be used. The functionality is duplicated and relax_disp.cpmg_delayT is not needed.
* Modified the Spectra_list GUI element to handle relaxation dispersion data.
* The relaxation dispersion GUI analysis now uses the dispersion parts of the peak intensity elements. This includes activating the dispersion parts of the Spectra_list GUI element for displaying the spectrum ID with associated metadata and the dispersion parts of the Peak_intensity_wizard for loading the data.
* The relaxation dispersion auto-analysis now performs the peak intensity error analysis. This is essential for when the GUI is used.
* More Unicode characters are now used in the relaxation dispersion GUI analysis frame. The model parameter lists have also been improved.
* Removed the [http://www.nmr-relax.com/manual/spectrum.error_analysis.html spectrum.error_analysis user function ] call in the exp_fit.py dispersion system test script. This is now performed by the auto-analysis.
* Fixed for the error_analysis() method of the relaxation dispersion auto-analysis. The method can now handle missing spectrometer field strength data.
* More fixed for the peak intensity error analysis method of the relaxation dispersion auto-analysis. The fixed relaxation time period type experiments can now be handled.
* Elimination of the [http://www.nmr-relax.com/manual/relax_disp.cpmg_delayT.html relax_disp.cpmg_delayT user function]. This user function is not necessary as the [http://www.nmr-relax.com/manual/relax_disp.relax_time.html relax_disp.relax_time user function ] serves the same purpose. The use of relax_disp.relax_time instead allows for code sharing between the fixed and variable time period relaxation dispersion experiment types.* Elimination of the [http://www.nmr-relax.com/manual/relax_disp.calc_r2eff.html relax_disp.calc_r2eff user function]. This user function, which is non-functional anyway, is not needed. The calculation of the R<sub>2eff</sub> values will occur with the optimisation of the [[R2eff]] model (with a call to the [http://www.nmr-relax.com/manual/calc.html calc user function ] for the fixed time period experiment types) so direct calculation through a specific user function is not needed.
* Improvements to the GUI text subscripting in the relaxation dispersion analysis frame.
* Removed the temporary relaxation dispersion SVG graphic for the GUI analysis.
* Editing of the relaxation dispersion analysis graphic.
* Added the relaxation dispersion graphic to all of the dispersion GUI user functions missing a graphic.
* Redesign of the relaxation dispersion models in the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] front-end. The models have been renamed and better defined based on the experiment type (CPMG or R<sub>1ρ</sub>).
* The relaxation dispersion scaling matrix assembly now uses lib.mathematics.round_to_next_order(). This allows the printed out I<sub>0</sub> values for the optimisation of the exponential curves to be easier to scale back to the real value.
* The Relax_disp.test_hansen_cpmg_data_fast_2site system test now uses the [[R2eff]] model. The equivalent slow exchange system test also uses the model. This model will be used to find the R<sub>2eff</sub> values from the fixed relaxation time period data.
* Improvements to the specific_analysis.relax_disp.disp_data module. The function loop_all_data() has been expanded to include the relaxation time period into the loop. The functions return_intensity() and return_key() have been added to return peak intensities and the key corresponding to the data returned by loop_all_data().
* Fixes for some latent bugs in the specific_analyses.relax_disp.disp_data module. The checks for the CPMG-data type in a number of functions now uses the CPMG_EXP list instead of fixed strings.
* Completed the relaxation dispersion calculate() method. This allows the R<sub>2eff</sub>/R<sub>1ρ</sub> values to be calculated for the fixed relaxation time period experiments through the [http://www.nmr-relax.com/manual/calc.html calc user function].
* Created a script for running a full relaxation dispersion analysis on Flemming Hansen's data. This is located in the shared data directories and is not part of the test suite as a full analysis will take far too long.
* Updated the models in the script for the full relaxation dispersion analysis of Hansen's data.
* Spun out a number of dispersion methods into the new specific_analyses.relax_disp.parameters module. This is a module of functions relating to the parameters of the relaxation dispersion models.
* More spacing before the sectioning printouts in the relaxation dispersion auto-analysis.
* Modified the printouts of the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function].
* Fix for the relaxation dispersion auto-analysis. The data pipes created for each model optimised are now switched to prior to any operations on the pipe.
* Changed the φ<sub>ex</sub> parameter in the [[LM63]] model back to rex.
* Fixes for the [[LM63]] dispersion CPMG model. The 'r2' model parameter is now an array as there is one R<sub>2</sub> value per magnetic field strength. And the 'rex' parameter has been renamed to 'φ<sub>ex</sub>' and is scaled quadratically with the field strength within the optimisation target function.
* Fix for the setup of the relaxation dispersion GUI analysis. The base method add_execute_relax() has been renamed to add_execute_analysis().
* Added support for interfacing with Art Palmer's CPMGFit program. The two new user functions [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input .html relax_disp.cpmgfit_input] and [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_execute .html relax_disp.cpmgfit_execute] have been created to interface with CPMGFit. The first creates the per spin system CPMGFit input files as well as a batch script for executing CPMGFit with all the input files. The second bypasses the batch script and allows CPMGFit to be executed from within relax. This mimics the palmer and dasha user functions. The back end code is in the new specific_analyses.relax_disp.cpmgfit module.* Created the Relax_disp.test_hansen_cpmgfit_input system test. This is for checking the operation of the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function ] conversion of Flemming Hansen's CPMG R<sub>2eff</sub> values into input files for CPMGFit. A relax state file containing the results of an analysis of an [[R2eff]] model analysis of the truncated data has been added to the test suite data to speed up the test and to check the loading of dispersion state files.
* Created a directory for the results of the CPMGFit program using Hansen's truncated CPMG data. The script 'cpmgfit.py' has been added to create the input files for CPMGFit and execute the program. The input and batch files have been added to the repository as well.
* Added the results from NESSY of the analysis of Flemming Hansen's truncated CPMG data. This is only for the truncated data of residues 70 and 71. All files, except for the PNG graphics, have been added to the repository. The 'summary' file has been created to hold the data from NESSY's summary tab, as this is not stored in the NESSY saved state and is permanently lost after closing NESSY.
* A dispersion saved state from the prompt or script UI can now be associated with a GUI analysis.
* Created the Relax_disp.test_hansen_trunc_data GUI test for checking the GUI dispersion auto-analysis. This checks the full operation of the relaxation dispersion GUI analysis, without checking the final results (to be added later).
* Fixes for the change to the new [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function ] and associated data structures.* Removed the preview button from the file selection GUI element of the CPMGFit user functions. These are the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_execute .html relax_disp.cpmgfit_execute] and [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input ] user functions.* The relaxation dispersion specific code now uses the changes of the [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function]. This simplifies the handling of magnetic field strength data.* More fixes to the relax_disp branch for the changes of the [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function].* Changes to the CPMGFit input files due to the new [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function].* The [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_execute.html relax_disp.cpmgfit_execute user function ] now correctly calls CPMGFit. The -grid command line option has been added and the output for each spin is sent to a special output file.
* Updated the input files and added the output files for the CPMGFit program with Hansen's CPMG data. This is for the data truncated to residues 70 and 71.
* Fixes for the relax_disp branch for the [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function ] changes.* Fix for the Relax_disp.test_hansen_cpmgfit_input system test. This is for the recent [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function ] changes.
* The specific_analyses.relax_disp.disp_data.loop_frq() function can now handle missing data. This allows the loop to yield a single value of None when the spectrometer information has not been loaded and enables R<sub>1ρ</sub> analyses at a single field strength.
* Fix for the [[LM63]] dispersion model target function - the scaled φ<sub>ex</sub> value is now used for the R<sub>2</sub>.
* Massively increased the precision of the R<sub>2eff</sub> error analysis. The hard-coded simulation number variable is now set to 100000. This appears to be necessary for reliably reproducing results in the subsequent dispersion models.
* Created the specific_analyses.relax_disp.disp_data.spin_has_frq_data() function. This is for determining if a spin has peak intensity for the given spectrometer field strength.
* Updates some scripts for the [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function ] change.
* Created a script to calculate the R<sub>2eff</sub> rate errors extremely precisely for Hansen's CPMG data. This uses 1 million Bootstrap simulations for calculating the errors. The 'r2eff_values.bz2' is saved after deleting the spin specific r2eff_sim structures so that the file drops from 388 Mb in size to 7.3 kb.
* The CPMGFit script for Hansen's CPMG data now starts with the high precision error r2eff_values.bz2 file. This ensures consistency between comparisons between relax, NESSY, CPMGFit, etc.
* Removed the '_trunc' part of the nessy_results directory from the NESSY final save file.
* The relaxation dispersion loop_point() function can now return the reference point. This is enabled via the skip_ref argument.
* Created the [http://www.nmr-relax.com/manual/relax_disp.nessy_input.html relax_disp.nessy_input user function ] front and backends. This user function takes the data in the relax data store and creates a NESSY save file to be opened within NESSY. The backend is the new specific_analyses.relax_disp.nessy module. For the GUI frontend, graphics for icons and the wizard have been taken from the NESSY repository file pics/nessy_new.png@r1088 in the trunk.
* A script has been added to create the NESSY input for Flemming Hansen's CPMG data.
* Updated the NESSY results for Flemming Hansen's CPMG data for the R<sub>2eff</sub> values with high precision errors. A file containing the log or printouts from NESSY has been added for reference.
* The log barrier constraint algorithm is now used for the relaxation dispersion optimisation. This is to allow constraints in the absence of gradient target functions. The constraints have been turned on by default in the auto-analysis.
* Changed the dispersion GUI tab to use the model names from specific_analyses.relax_disp.variables.
* The spectrum wizard now uses the [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function ] rather than [http://www.nmr-relax.com/manual/frq.set..html frq.set. ] The [http://www.nmr-relax.com/manual/frq.set.html frq.set user function ] is now called [http://www.nmr-relax.com/manual/spectrometer.frequency..html spectrometer.frequency.]
* An upper limit of 200 rad/s has been added to the linear constraints for the R<sub>2</sub> dispersion parameters.
* Fixes for the checking in the Relax_disp.test_hansen_cpmgfit_input system test.
* The relaxation dispersion auto-analysis now calls the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. This user function is not implemented yet, but will be used to create plots of the dispersion curves.* Implemented a basic graph for the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. This simply plots out the ν<sub>CPMG</sub> value or spin-lock field verses the R<sub>2eff</sub>/R<sub>1ρ</sub> values from the experiment. The graph of the back calculated R<sub>2eff</sub>/R<sub>1ρ</sub> values from the model fit is still to be added.
* Fix for the linear constraints for the [[R2eff]] model. The A and b matrices are no longer set to None, as this kills the auto-analysis or any analysis when constraints are turned on. Now the constraints 0 ≤ R<sub>2eff</sub> ≤ 200 and I<sub>0</sub> ≥ 0 are used.
* Fixes for the peak intensity loading wizard for the [http://www.nmr-relax.com/manual/frq.set .html frq.set] to [http://www.nmr-relax.com/manual/spectrometer.frequency.html spectrometer.frequency user function ] change.* Fixes for the backend of the [http://www.nmr-relax.com/manual/relax_disp.plot_exp_curves.html relax_disp.plot_exp_curves user function]. This code needed to be updated for the major changes in the relax_disp branch.
* Fixes for the checks in the Relax_disp.test_exp_fit system test. The r2eff and i0 spin data structure keys are now strings.
* Two class variables have been added to the dispersion auto-analysis for fast optimisation. This includes variables for the function tolerance and maximum number of iterations, and matches those of the model-free auto-analysis of the dauvergne_protocol module. These will be used to speed up the test suite.
* Added the residue :71 results to the lm63_comparison file. This is a summary of the optimisation results using the high-precision R<sub>2eff</sub> error results for the different dispersion softwares.
* Changes to the dispersion auto-analysis write_results() method. This is to output more of the dispersion parameters to text files and 2D grace plots.
* Created a directory and script in preparation for the [http://www.nmr-relax.com/manual/relax_disp.sherekhan_input.html relax_disp.sherekhan_input user function].* Created the [http://www.nmr-relax.com/manual/relax_disp.sherekhan_input.html relax_disp.sherekhan_input user function]. This includes an icon for the GUI, and the full front and backends.* Added a wizard graphic for the [http://www.nmr-relax.com/manual/relax_disp.sherekhan_input.html relax_disp.sherekhan_input user function].
* Shifted the core of the model_loop() dispersion method into its own function. The new function specific_analyses.relax_disp.disp_data.loop_cluster() can now be used by other parts of relax. The model_loop() method now yields the data that loop_cluster() yields.
* Redesign of the [http://www.nmr-relax.com/manual/relax_disp.sherekhan_input.html relax_disp.sherekhan_input user function ] to handle spin clustering.
* Added the ShereKhan results for the high-precision R<sub>2eff</sub> data for Hansen's CPMG data.
* Converted the readme file for Flemming Hansen's CPMG data directory to uppercase.
* Updated the [[LM63]] model comparison table.
* Modified the dispersion calculate() method for the R<sub>2eff</sub> values to use the analytic equation. For the R<sub>2eff</sub>/R<sub>1ρ</sub> values calculated for the fixed time period dispersion experiments via the [http://www.nmr-relax.com/manual/calc.html calc user function], the very slow and tedious bootstrapping approach has been replaced by the very quick direct error calculation. The two techniques produce the same results as the bootstrap simulation number approaches infinity.
* Bug fix for the peak intensity error analysis in the dispersion auto-analysis. Now the error analysis is split based on the magnetic field strength. Previously the analysis was a mess with the split often being individual spectra.
* The proper experiment type is now set for the Relax_disp.test_hansen_trunc_data GUI test.
* Updated the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] to be more specific an include more experiment types.
* Updated the specific_analyses.relax_disp.variables module for the relax_disp.exp_type changes.
* The relax_disp.relax_time page is now always shown in the peak intensity wizard for the dispersion GUI. This number is needed for the fixed time period experiments as well to calculated the R<sub>2eff</sub>/R<sub>1ρ</sub> values and errors.
* Fix for the relax_disp.exp_type call in the Relax_disp.test_exp_fit system test script.
* Better formatting of the references for the dispersion analytic model equations.
* Updated the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend for the [[CR72]] dispersion model. This includes fixing the parameter list and the equations presented to the user.* Removed the commented out junk model code from the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend.
* Added the [[CR72]] model equations to the relax library. This is for the Carver and Richards 1972 2-site exchange model covering all time scales.
* Initial implementation of the [[CR72]] target function.
* Simplified the p<sub>A</sub> ≥ p<sub>B</sub> constraint in the dispersion linear_constraints() function.
* Fixes for the dispersion linear_constraints() function. The indices were being incorrectly handled - the i and k index should be one and the same parameter index.
* Added support for the [[CR72]] or 'Full_CPMG' model to the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function].
* Added the results for the [[CR72]] model optimisation in CPMGFit using Flemming Hansen's truncated CPMG data.
* Added the [[CR72]] model results to the software comparison document for Hansen's CPMG data.
* Better checking of optimisation in the Relax_disp system tests. This affects the Relax_disp.test_hansen_cpmg_data_LM63 and Relax_disp.test_hansen_cpmg_data_CR72 system tests. Instead of using the auto-analysis, these tests now set the initial parameters close to the minimum, skip the grid search, and perform a low precision optimisation to reach the minimum. This is important because the low quality grid search and optimisation can not always find the real minimum.
* Created the lib.dispersion.equations.calc_two_point_r2eff_err() function. This complements the lib.dispersion.equations.calc_two_point_r2eff() function and is used by the dispersion calculate() method to abstract the mathematics.
* Updated the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] docstring for the R<sub>2eff</sub> error analysis. This properly describes how the R<sub>2eff</sub>/R<sub>1ρ</sub> errors are calculated for the fixed relaxation time period experiments.
* Docstring fixes for the lib.dispersion.equations module.
* Expanded the number of model list variables in specific_analyses.relax_disp.variables. This is to include lists which are specific to CPMG-type and R<sub>1ρ</sub>-type experiments.
* Added the new [[M61]] model to the specific_analyses.relax_disp.variables module. This is the Meiboom 1961 model for 2-site fast exchange for R<sub>1ρ</sub>-type experiments.
* Added the [[M61]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Meiboom 1961 model for 2-site fast exchange for R<sub>1ρ</sub>-type experiments.
* Added the [[M61]] model equations to the relax library. This is for the Meiboom 1961 2-site fast exchange model for R<sub>1ρ</sub>-type experiments.
* Created the [[M61]] 2-site fast exchange dispersion model target function. This is for the Meiboom 1961 model for 2-site fast exchange for R<sub>1ρ</sub>-type experiments. The code for the func_M61() method was copied without modification from the func_LM63() method.
* Fix for the Relax_disp.test_hansen_cpmg_data_auto_analysis system test. The correct model list is now being used - the R<sub>1ρ</sub>-type experiments should not be included.
* Fix for the missing import of the lib.dispersion.equations.calc_two_point_r2eff_err() function.
* Added support for the [[M61]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is for the Meiboom 1961 2-site fast exchange model for R<sub>1ρ</sub>-type experiments.
* Another fix for the Relax_disp.test_hansen_cpmg_data_auto_analysis system test. The correct model list is finally being used.
* Fix for the lib.dispersion.equations.calc_two_point_r2eff_err() function. The variables were incorrectly named.
* Added support for setting the spin isotope information in the dispersion GUI. A new Text_ctrl element has been added just after the spin system GUI element. This displays a list of all the spin isotopes currently defined and is updated after every GUI user function call. The button of the element launches the [http://www.nmr-relax.com/manual/spin.isotope.html spin.isotope user function]. The spin isotope information is now checked for prior to executing the GUI analysis and added to the missing list to present to the user when blocking the execution of the analysis. The dispersion GUI test has been updated to use this new element.
* Added support for model selection to the relaxation dispersion specific analysis package. This involved redesigning the model_loop() method. Instead of yielding both the spin containers and the spin IDs, now only spin IDs are yielded. This is important as the model loop is used independently of the data pipes. Hence the spin containers cannot be yielded as multiple pipes are compared within the model loop. The auxiliary method _spin_ids_to_containers(spin_ids) has been added to obtain the list of spin containers from the list of spin IDs. To support model selection, the methods duplicate_data(), model_desc() and model_statistics() have been added, and model_type() aliased to the common _model_type_local() method.
* Expanded the relaxation dispersion auto-analysis. A final step of model selection has been added to select between the different models for each spin cluster. This is stored in the 'final' data pipe, and its results output via the write_results() method.
* The model selection technique can now be changed in the dispersion auto-analysis.
* The error when selecting a non-existent model using relax_disp.select_model is now more informative.
* Model selection in the dispersion auto-analysis is only performed if 2 or more models are present. Excluding the [[R2eff]] model, if only 0 or 1 models are optimised, then model selection is skipped and a warning is given. This avoids tracebacks in the [http://www.nmr-relax.com/manual/model_selection.html model_selection user function].
* Added some synthetic on-resonance R<sub>1ρ</sub> data to the test suite. This is in the form of Sparky peak list files containing two spin systems.
* Expanded the synthetic on-resonance R<sub>1ρ</sub> test suite data. The data now consists of a full set of dispersion curves for the [[M61]] model.
* Added a reference to the synthetic on-resonance R<sub>1ρ</sub> test suite data. The first ncyc1 data point now has a relaxation time period of zero, hence it can be used as the reference for a fixed time period experiment.
* The reference spectra can now be set in the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field user function]. By setting the field to None, the reference spectrum for a fixed relaxation time period experiment type can now be specified. This mimics the behaviour of the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function].
* Added some error checking to the specific_analyses.relax_disp.disp_data.average_intensity() function. This is for better feedback to the user in case they have not set up their data correctly.
* The [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] now operates without the spectrometer frequency being set. The special loop_frq() function is now used as this can handle missing spectrometer frequency information.
* The find_intensity_keys() function can now handle the reference spectrum. This function in the specific_analyses.relax_disp.disp_data module was failing if the relaxation time period for the reference spectrum was missing. Time information shouldn't be needed for the reference, so is no longer checked.
* The dispersion specific optimisation methods can now handle missing spectrometer information.
* Fix for a bug preventing the optimisation of the dispersion models.
* Fixes for the file permission setting on the CMPGFit batch script. The correct file mode is now set for Unix-based systems.
* Python 3 fixes for the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq ] and [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field ] user functions. The sorting of lists with None is not supported by Python 3, so this has to be carefully handled.
* Removed the grid search size check from the dispersion _grid_search_setup() method. This is performed by minfx anyway, and the code was incompatible with Python 3.
* Fix for the Relax_disp.test_hansen_cpmgfit_input system test. The frequencies for the CPMGFit input files now are only written to 10 places. This is for Python 2 vs. 3 consistency.
* Python 3 fix for the [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function].* Fix for the Grace plots created by the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. The data set from each frequency is now a separate set in the G0 graph.* Improvements to the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. The back-calculated R<sub>2eff</sub>/R<sub>1ρ</sub> values are now included in the plot as separate sets. In addition, the residuals have also been added to allow for a visual statistical comparison.* More improvements to the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. The data sets now have labels, and the residuals have errors set to those of the R<sub>2eff</sub>/R<sub>1ρ</sub> data.* More improvements to the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. The graph axes maximum is now set to a reasonable value for the given data.
* Added the [[No Rex]] model to the relax script for optimising Flemming Hansen's CPMG data.
* The isotope type is now set in the relax script for optimising Flemming Hansen's CPMG data.
* Shifted the _spin_ids_to_containers() method to the disp_data.spin_ids_to_containers() function.
* Fix for the [http://www.nmr-relax.com/manual/relax_disp.sherekhan_input.html relax_disp.sherekhan_input user function]. The loop_cluster() function no longer returns spin containers.
* Fix for the r2eff_calc.py script for calculating R<sub>2eff</sub> values from Flemming Hansen's CPMG data.
* Added a check to the dispersion specific minimise() function for the spectrometer field strength. This is essential in all dispersion models to convert between ppm and rad/s units, or ppm<sup>2</sup> and (rad/s)<sup>2</sup> for the φ<sub>ex</sub> parameter.
* Updates for the model variable docstrings.
* Added the [[M61 skew]] model to the specific_analyses.relax_disp.variables module. This is the Meiboom 1961 model for skewed populations (p<sub>A</sub> ≫ p<sub>B</sub>). This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[M61 skew]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Meiboom 1961 model for skewed populations (p<sub>A</sub> ≫ p<sub>B</sub>). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fixes for the spacing after some equations in the relax_disp.select_model docstring.
* Simplifications and comment fixes in the lib.dispersion.m61.r2eff_m61() function.
* Created the [[M61 skew]] model target function. This is the Meiboom 1961 on-resonance 2-site model for skewed populations (p<sub>A</sub> ≫ p<sub>B</sub>). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the skewed condition (p<sub>A</sub> ≫ p<sub>B</sub>) to the specific_analyses.relax_disp.parameters module. This is currently done by constraining p<sub>A</sub> to be greater than 0.85.
* Added support for the [[M61 skew]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Meiboom 1961 on-resonance 2-site model for skewed populations (p<sub>A</sub> ≫ p<sub>B</sub>). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Big speeds ups of the lib.dispersion modules. Many replicated calculations have been shifted outside of the dispersion point loop, as these only need to be calculated once per function call. Some if statements have consequently been simplified.
* Renamed the lib.dispersion.equations module to lib.dispersion.two_point.
* Completed the lib.dispersion.m61.r1rho_M61() function. Now the R<sub>1</sub> relaxation rate and rotating frame tilt angle are correctly handled. This is not used in the target functions as support for the R<sub>1</sub> and offset is not yet implemented.
* Added the [[DPL94]] model to the specific_analyses.relax_disp.variables module. This is the David, Perlman and London 1994 R<sub>1ρ</sub> 2-site fast exchange model. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[DPL94]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the David, Perlman and London 1994 R<sub>1ρ</sub> 2-site fast exchange model. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Updates to the Relax_disp.test_r1rho_on_res_fixed_time_m61b system test.
* Added the [[DPL94]] model equations to the relax library. This is the David, Perlman and London 1994 R<sub>1ρ</sub> 2-site fast exchange model. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Created the [[DPL94]] model target function. This is the David, Perlman and London 1994 R<sub>1ρ</sub> 2-site fast exchange model. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[DPL94]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the David, Perlman and London 1994 R<sub>1ρ</sub> 2-site fast exchange model. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Created the Relax_disp.test_r1rho_on_res_fixed_time_dpl94 system test. This is the David, Perlman and London 1994 R<sub>1ρ</sub> 2-site fast exchange model. This commit follows step 7 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[IT99]] model to the specific_analyses.relax_disp.variables module. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[IT99]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Updated the model lists of the dispersion analyses GUI element. This adds the [[IT99]] CPMG-type model and the [[DPL94]] and [[M61b]] R<sub>1ρ</sub>-type models.
* Fixes for the [[IT99]] model description in the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function]. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[IT99]] model equations to the relax library. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the it99 module to the lib.dispersion package __all__ list. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the lib.dispersion.it99 module. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the support for the p<sub>A</sub>.δω<sup>2</sup> parameter 'padw2' to the dispersion specific analysis. This is needed for the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 5 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[IT99]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the support for the t<sub>ex</sub> parameter (t<sub>ex</sub> = 1/(2k<sub>ex</sub>)) to the dispersion specific analysis. This is needed for the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>. This commit follows step 5 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[IT99]] model to the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function]. This is the Ishima and Torchia 1999 2-site model for all timescales with p<sub>A</sub> ≫ p<sub>B</sub>.* Fix for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function ] for when no directory is given. This was causing tracebacks.* Fix for the [[LM63]] model for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function]. The grid search was incorrectly set up - the parameter is Tau, not t<sub>ex</sub>.* Fixes for the [[IT99]] model for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function].* Changed the CPMGFit grid search options for the [[IT99]] model in the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function].
* Fix for the setup of the relaxation dispersion target functions for the [[IT99]] model.
* Added the relax optimisation results for the [[IT99]] model applied to Flemming Hansen's CPMG data.
* Fixes for the lib.dispersion.it99 module. This is mainly because the omega_1eff parameter was not being correctly converted from the nu_cpmg values.
* Updated the relax results for Flemming Hansen's CPMG data for the [[IT99]] model fixes.
* Fixes for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function ] for the [[IT99]] model grid search options.
* Updated the CPMGFit results for the [[IT99]] grid search fixes of the last commit.
* Basic fix for the checks of the [http://www.nmr-relax.com/manual/Relax_disp.test_hansen_cpmgfit_input.html Relax_disp.test_hansen_cpmgfit_input user function]. The 't<sub>ex</sub>' parameter is now set as 'Tau'.
* Disabled the Relax_disp.test_r1rho_on_res_fixed_time_m61b system test as the [[M61b]] model is rubbish. The model cannot be properly optimised as the parameters are not independent of each other.
* Fixes for the dispersion specific code. The Grace graph code of lib.software.grace no longer accepts the axis min and max arguments.
* Copied the tutorial for adding dispersion modes to relax into the manual. This was copied from http://article.gmane.org/gmane.science.nmr.relax.devel/3907.
* Editing of the tutorial for adding dispersion models in the relax manual.
* Edits of the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] docstring.* Added all of the contents of the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] docstring to the manual.
* The relaxation dispersion parameters are now defined in the main manual LaTeX file.
* Added a couple of sentences about bit rot to the dispersion chapter of the relax manual. This is to the test suite part of the tutorial on adding new dispersion models.
* The dispersion auto-analysis now saves the final program state before terminating.
* Shifted the dispersion specific Grace plotting code into specific_analyses.relax_disp.disp_data. The private _plot_disp_curves() and _plot_exp_curves() methods of the analysis specific object are now public functions of the specific_analyses.relax_disp.disp_data module.
* Removed the [http://www.nmr-relax.com/manual/state.save.html state.save user function ] calls from the relax scripts for Hansen's CPMG data.
* Updated the model lists for the relax scripts for Flemming Hansen's CPMG data.
* Added a sample script for the relaxation dispersion analysis of CPMG-type data.
* Added a preliminary icon set for spin clustering.
* The [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function ] GUI menu entry now uses the cluster icon.* Created a very basic GUI element for the dispersion analysis for clustering. This is simply to make this feature more obvious. The button just launches the [http://www.nmr-relax.com/manual/relax_disp.cluster.html relax_disp.cluster user function].
* Modified the experiment type descriptions in the dispersion GUI.
* Shifted the spin cluster GUI element to be just after the spin system GUI element. This is simply a more logical placement.
* Removed many decimal points from the MHz value in the Grace plots from relax_disp.plot_disp_curves.
* Added support for converting between k<sub>ex</sub> and t<sub>ex</sub>, and p<sub>A</sub> and p<sub>B</sub> for the dispersion analysis. This is performed by the new specific_analyses.relax_disp.parameters.param_conversion() function. For this, most of the code from the assemble_param_vector() function has been shifted into get_value(), and most of disassemble_param_vector() into set_value(). The dispersion analysis now also has a custom sim_init_values() method to handle these parameters.
* Added support for calculating auxiliary parameter errors for the dispersion analysis. This is via the [http://www.nmr-relax.com/manual/monte_carlo.error_analysis.html monte_carlo.error_analysis user function]. The errors for the parameter pairs k<sub>ex</sub>-t<sub>ex</sub> and p<sub>A</sub>-p<sub>B</sub> for the non-model parameter are now calculated as well.
* Fix for the dispersion auto-analysis - p<sub>A</sub> and p<sub>B</sub> parameters are no longer output for the [[IT99]] model. These are not parameters of this model.
* Updated the relax results for Flemming Hansen's truncated CPMG data for all the recent changes.
* Fix for [https://gna.org/bugs/?20916 bug #2091 - Suggestion for Python script for PNG/EPS/SVG conversion of grace files]. Troels Linnet provided this patch, and was discovered during work on a Windows 7 system. This patch will provide a grace2images.py file in each folder where a call to specific_analyses/relax_disp/disp_data.py is called. It is called in plot_disp_curves(dir=None, force=None) and call the function lib.software.grace.script_grace2images(). The conversion script can be executed in Linux and Windows, if the PATH to xmgrace has been specified. It will look in a folder for grace files of ending *.agr and by default convert to PNG. One can also convert to EPS and SVG. Probably more options could be added, as PDF. The conversion depends on xmgrace compilation, and so PNG conversion is for fast inspection of graphs in folder, and EPS for further external conversion to PDF etc. The patch, the output file, and small script to test is attached. I miss to make the file executable in relax, so the script can be executed directly in Linux.
* Mac OS X bug fix for the new analysis GUI wizard. The blank button is now using the blank_150x150.png file instead of no image, preventing nasty wxPython bugs from appearing on that system.
* Fix for [https://gna.org/bugs/?20917 bug #20917]. The problem is that the Grace files for each spin system are not created by the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] as the ':' character cannot be placed in a file name in MS Windows. All of the file name from the ':' onwards is lost. The solution is to replace each of the characters '#:@' in the spin ID string with '_'.
* Another update of the relax results for Flemming Hansen's truncated CPMG data. This includes the grace2images.py script creation contributed by Troels Linnet (https://gna.org/users/tlinnet) and the change of the file name of the per-spin dispersion curves.
* The value checks in the Relax_disp.test_hansen_cpmg_data_auto_analysis system test are now less precise. This is to allow the tests to pass on certain MS Windows systems.
* Fix for the setting of the execute permissions on the grace2images.py scripts. The problem was identified in the post at http://thread.gmane.org/gmane.science.nmr.relax.devel/3953/focus=4000. This is within the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] after the grace2images.py script has been created. The commit matches the changes from trunk for the Modelfree4 batch script.
* Shifted from argparse to optparse in the grace2images.py scripts from relax_disp.plot_disp_curves. This is associated with [https://gna.org/bugs/?20916 bug #20916] and the change suggested in the post http://thread.gmane.org/gmane.science.nmr.relax.devel/3953/focus=4000. The argparse module is only available from for Python 2.7.3 (the version with many Python 3 features backported) and Python ≥ 3.2. The module has been replaced with the similar optparse module as used by relax, and which available in all Python version supported by relax.
* Updated the grace2images.py scripts created by the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. This was discussed in [https://gna.org/bugs/?20916 bug #20916] and the change suggested in the post http://thread.gmane.org/gmane.science.nmr.relax.devel/3953/focus=4000. Improved that both small and big letters for image types can be used on the command line.
* Converted the relaxation dispersion chapter of the user manual to the lstlisting environment. This matches the changes occurring within the trunk.
* Added an EPS version of the 128x128 cluster icon for the user manual.
* Completed the script UI section of the relaxation dispersion chapter of the user manual. The sample script is now fully explained.
* Added a demonstration of why the Ishima and Torchia 2005 error formula is incorrect. The script test_suite/shared_data/dispersion/error_testing/simulation.py has been added to simulate the fixed relaxation time period error propagation. This produces the test_suite/shared_data/dispersion/error_testing/error_plot.agr Grace graph. The formula, graph and a description has been added to the relax manual explaining everything.
* Fix of the two-point dispersion error formula in the docs. This includes the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] docstring and the relax manual.
* Loosened a parameter check in the Relax_disp.test_hansen_cpmg_data_IT99 system test to pass on certain Linux systems.
* Small edit of the legend of the relaxation dispersion figure showing the Ishima & Torchia 2005 being wrong.
* Added the lib.dispersion.ns_2site_star module name to the package __all__ list.
* Updated the lib.dispersion.ns_2site_star module with additional information from [https://gna.org/users/pasa Paul Schanda]. The details come from http://thread.gmane.org/gmane.science.nmr.relax.devel/4132/focus=4135. The exchange-free R<sub>2</sub> value parameter names have been changed to match the convention of the other lib.dispersion modules.
* Added the [[NS CPMG 2-site star|NS 2-site star]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the non-ASCII character '\xe2' in the lib.dispersion.ns_2site_star module.
* Created the [[NS CPMG 2-site star|NS 2-site star]] model target function. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the R<sub>2B</sub><sup>0</sup> parameter as required by the [[NS CPMG 2-site star|NS 2-site star]] model. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices. This commit follows step 5 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[NS CPMG 2-site star|NS 2-site star]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Better support for the R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> relaxation rate parameters in the relaxation dispersion analysis. This includes a number of fixes to allow these two parameters to be handled correctly.
* Added parameter conversions to go from p<sub>A</sub> and k<sub>ex</sub> to k<sub>ge</sub> and k<sub>eg</sub>. This is for the [[NS CPMG 2-site star|NS 2-site star]] numerical model. The conversions have been added to the start of the target function to minimise mathematical operations to speed up the code.
* Reworked the dispersion chapter of the manual for the recent support of numerical models. This includes better sectioning and section labelling and referencing, and the addition of the [[NS CPMG 2-site star|NS 2-site star]] numerical model. The model and parameter tables have been updated as well.
* Added the [[NS CPMG 2-site star|NS 2-site star red]] model to the specific_analyses.relax_disp.variables module. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices, whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Rewrote the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] documentation. All of the detailed model information has been removed as it is now in the relax user manual. The model lists have been modified to match the analytic-numeric sectioning of the manual.* Added the [[NS CPMG 2-site star|NS 2-site star red]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices, whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Docstring fix for the lib.dispersion.ns_2site_star.r2eff_ns_2site_star() function.
* Created the [[NS CPMG 2-site star|NS 2-site star red]] model target function. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices, whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed. The code in common with the [[NS CPMG 2-site star|NS 2-site star]] model has been shifted into the new calc_ns_2site_star_chi2() method. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[NS CPMG 2-site star|NS 2-site star red]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices, whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS CPMG 2-site star|NS 2-site star red]] model to the relax user manual. This is the model of the numerical solution for the 2-site Bloch-McConnell equations using complex conjugate matrices, whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the Monte Carlo simulations for the numeric dispersion models. The back-calculation method was not correctly initialising the target function class.
* Added the [[CR72|CR72 red]] model to the specific_analyses.relax_disp.variables module. This is the Carver and Richards 1972 analytic model with the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup>. The current [[CR72 full|CR72]] makes the same assumption, but that model will be expanded to support R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> later. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[CR72|CR72 red]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Carver and Richards 1972 analytic model with the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup>. The current [[CR72 full|CR72]] makes the same assumption, but that model will be expanded to support R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> later. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Created the [[CR72|CR72 red]] model target function. This is the Carver and Richards 1972 analytic model with the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup>. The current [[CR72 full|CR72]] makes the same assumption, but that model will be expanded to support R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> later. The code in common with the [[CR72 full|CR72]] model has been shifted into the new calc_CR72_chi2() method. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[CR72|CR72 red]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Carver and Richards 1972 analytic model with the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup>. The current [[CR72 full|CR72]] makes the same assumption, but that model will be expanded to support R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> later. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[CR72|CR72 red]] model to the relax user manual. This is the Carver and Richards 1972 analytic model with the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup>. The current [[CR72 full|CR72]] makes the same assumption, but that model will be expanded to support R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> later. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* LaTeX improvements for the [[NS CPMG 2-site star|NS 2-site star red]] model section of the dispersion chapter of the manual.
* Fix for the Relax_disp.test_hansen_cpmg_data_auto_analysis system test for model name change. This is for the change from the [[CR72]] model to [[CR72|CR72 red]] model.
* Added the [[NS CPMG 2-site 3D|NS 2-site]] model to the specific_analyses.relax_disp.variables module. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS CPMG 2-site 3D|NS 2-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS CPMG 2-site 3D|NS 2-site]] R<sub>2eff</sub> calculating function to the relax library. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Updates and fixes for the lib.dispersion.ns_2site module. The function has been renamed, and the R<sub>1</sub> arguments default to 0.0. The flip angle for the from the pulse.
* Created the [[NS CPMG 2-site 3D|NS 2-site]] model target function. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Converted the [[NS CPMG 2-site 3D|NS 2-site]] model to [[NS CPMG 2-site 3D|NS 2-site 3D]] to be more specific. This might change again in the future.
* Added support for the [[NS CPMG 2-site 3D|NS 2-site 3D]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Lots of fixes for the relaxation dispersion target function module for the [[NS CPMG 2-site 3D|NS 2-site 3D]] model.
* Improvements to the nesting() method of the relaxation dispersion auto-analysis. The use of the parameters of the simpler model in a nested pair now only works if the simpler model is in the model list.
* More changes to the numerical solution dispersion code to match relax's conventions. This includes the changes of df->δω, fA->wA, fB->wB, and Mgx->Mx.
* Added the [[NS CPMG 2-site 3D|NS 2-site 3D red]] model to the specific_analyses.relax_disp.variables module. This is the [[NS CPMG 2-site 3D|NS 2-site 3D]] model with R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup>. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS CPMG 2-site 3D|NS 2-site 3D red]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the [[NS CPMG 2-site 3D|NS 2-site 3D]] model with R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup>. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Created the [[NS CPMG 2-site 3D|NS 2-site 3D red]] model target function. This is the [[NS CPMG 2-site 3D|NS 2-site 3D]] model with R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup>. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[NS CPMG 2-site 3D|NS 2-site 3D red]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the [[NS CPMG 2-site 3D|NS 2-site 3D]] model with R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup>. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Updated all of the numerical model sections of the dispersion chapter of the manual. This includes additions for the [[NS CPMG 2-site 3D|NS 2-site 3D]] and [[NS CPMG 2-site 3D|NS 2-site 3D red]] models.
* Updated the [[NS CPMG 2-site 3D|NS 2-site 3D]] and [[NS CPMG 2-site 3D|NS 2-site 3D red]] models in the dispersion chapter of the relax manual. The models are now included in the tables and in the introduction.
* Added support for nesting to the relaxation dispersion auto-analysis for the 'NS 2-site 3D*' models.
* Added the [[NS CPMG 2-site expanded|NS 2-site expanded]] model to the specific_analyses.relax_disp.variables module. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS CPMG 2-site expanded|NS 2-site expanded]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS CPMG 2-site expanded|NS 2-site expanded]] R<sub>2eff</sub> calculating function to the relax library. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the lib.dispersion.ns_2site_expanded.r2eff_ns_2site_expanded() function. The pg variable should have been p<sub>A</sub> and it needs to be sent into the function.
* Created the [[NS CPMG 2-site expanded|NS 2-site expanded]] model target function. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[NS CPMG 2-site expanded|NS 2-site expanded]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, Paul Schanda][https://gna.org/users/pasa , and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Fix for the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] for the [[NS CPMG 2-site expanded|NS 2-site expanded]] model. There is only one R<sub>2</sub><sup>0</sup> parameter as R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> in this model.
* Added the [[NS CPMG 2-site expanded|NS 2-site expanded]] model to the relax user manual. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Large renaming of the relaxation dispersion models. This includes both the analytic and numerical models. All of the models with separate R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters now have ' full' added to the end of the model name. And all of the corresponding reduced models whereby R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup> have had the trailing ' red' removed. All descriptions and variable names have been updated to match.
* Updated the model lists for the relax scripts for optimising Flemming Hansen's CPMG data. The model lists now include the numeric models and the [[CR72 full]] model.
* The lib.software.grace.write_xy_header() can now set the legend fill pattern and font size.
* The [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] backend now sets clear legend boxes with smaller text.
* Fix for the Grace string for the δω dispersion parameter.
* Updated the parameter value checks in the Relax_disp.test_hansen_cpmg_data_CR72 system test. The low precision parameters are slightly different because of the new upper constraint on k<sub>ex</sub>, simply because optimisation is terminated early rather than optimisation giving different results.
* Added DOI numbers to a number of bibliography entries for quick links in the relax user manual.
* Added the [[LM63 3-site]] model to the specific_analyses.relax_disp.variables module. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[LM63 3-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[LM63 3-site]] model to relaxation dispersion chapter of the relax user manual. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[LM63 3-site]] R<sub>2eff</sub> calculating function to the relax library. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Created the [[LM63 3-site]] model target function. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support to the relaxation dispersion analysis for the [[LM63 3-site]] model parameters. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[LM63 3-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[LM63 3-site]] parameters to the specific_analyses.relax_disp.parameters module. This is the Luz and Meiboom 1963 analytic model for three exchanging sites. This commit follows step 5 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[LM63 3-site]] model to the dispersion scripts for Flemming Hansen's CPMG data.
* The relaxation dispersion auto-analysis can now resume if it has been interrupted.
* Some fixes for the [[LM63 3-site]] dispersion model. The library code was not accepting the correct arguments and it was referencing a non-existent parameter, and the grid search setup was failing.
* Added support for optimising the [[LM63 3-site]] dispersion model with Art Palmer's CPMGFit. This is for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function]. This model in CPMGFit is called '3-site_CPMG'.
* Python 3 fixes for the specific_analyses.relax_disp.disp_data module.
* Fixes for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_execute.html relax_disp.cpmgfit_execute user function ] backend. This would hang if CPMGFit produced error messages. Hopefully this is now fixed.
* Updated the CPMGFit results for the [[LM63 3-site]] model. This is for the truncated CPMG data from Flemming Hansen.
* Speed ups for the [[LM63 3-site]] target function. Some mathematical operations have been shifted from the library code into the target function so that is only calculates once per function call.
* Fix for the Monte Carlo simulations for the dispersion auto-analysis failing under certain conditions. The wrong variable was being checked to see if more than two models were being optimised.
* The dispersion minimisation() method now skipped deselected spin clusters. This is defined as all spins of the cluster being deselected.
* Implemented the new [http://www.nmr-relax.com/manual/relax_disp.parameter_copy.html relax_disp.parameter_copy user function]. This is used to copy relaxation dispersion parameters from one data pipe to another, taking cluster averaging into account. It is used by the dispersion auto-analysis to handle clustering.
* Added an element to the dispersion GUI analysis for specifying the directory of previous results. This is used for the pre_run_dir argument for the dispersion auto-analysis.
* Reactivated Monte Carlo simulations for the [[R2eff]] model for exponential data curves. This is within the optimise() method of the dispersion auto-analysis.
* Added Nikolai Skrynnikov to the copyright notice of the lib.dispersion.ns_2site_expanded module.
* Added the [[TP02]] model to the specific_analyses.relax_disp.variables module. This is the Trott and Palmer 2002 R<sub>1ρ</sub> analytic model for 2-site exchange. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[TP02]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Trott and Palmer 2002 R<sub>1ρ</sub> analytic model for 2-site exchange. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[TP02]] model to relaxation dispersion chapter of the relax user manual. This is the Trott and Palmer 2002 R<sub>1ρ</sub> analytic model for 2-site exchange. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[TP02]] R<sub>1ρ</sub>' calculating function to the relax library. This is the Trott and Palmer 2002 R<sub>1ρ</sub> analytic model for 2-site exchange. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial]. The Matlab code from Skrynnikov and Tollinger has not been converted to Python code yet. This is to allow the Matlab->Python conversion to be followed.
* Fixes for the [[TP02]] model section of the dispersion chapter of the manual.
* Created the [[TP02]] model target function. This is the Trott and Palmer 2002 R<sub>1ρ</sub> analytic model for 2-site exchange. This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[TP02]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Trott and Palmer 2002 R<sub>1ρ</sub> analytic model for 2-site exchange. This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* The spectrometer frequency information is now checked for the [[TP02]] model.
* Started to create a script to create synthetic data for the [[TP02]] dispersion model. This still needs a lot of work.
* Added the [[TSMFK01]] model equations to the relax library lib/dispersion/tsmfk01.py. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* The chemical shift of each spin is now taken into account for the synthetic data for the [[TP02]] dispersion model. The data now properly reflects the spin lock offset.
* Updated all of the dispersion system tests for the [http://www.nmr-relax.com/manual/spectrum.read_intensities.html spectrum.read_intensities user function ] changes. The arguments heteronuc and proton have been replaced with 'dim'.
* Improved the error message for when peak intensity data cannot be found in a dispersion analysis. This is to better aid the user to track down what they did wrong.
* More error message improvements for when peak intensity data cannot be found in a dispersion analysis.
* Changed the synthetic data file names for the [[TP02]] dispersion model.
* Updated the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test script for the new file names.
* Added a new user function to the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test. This is the [http://www.nmr-relax.com/manual/chemical_shift.read.html chemical_shift.read user function ] which currently does not exist. Chemical shifts are needed to interpret off-resonance R<sub>1ρ</sub> data.
* Copyright of Sebastien Morin and Edward d'Auvergne re-inserted, since tsmfk01 is an alteration of lm63.py and m61.py in same directory. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fix for converting δω from ppm to rad/s. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added support for the [[TSMFK01]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fix for the reading of chemical shifts in the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test.
* Added the Trott and Palmer, 2002 bibtex reference for the user manual.
* A new check blocking exponential curve fitting in the dispersion analysis when the C modules are not compiled.
* Changed how chemical shifts are handled in the dispersion target function class. The chemical shifts in ppm are accepted and they are converted to rad/s inside the __init__() method. A structure for rotating frame tilt angles is now also accepted.
* Added a [http://www.nmr-relax.com/manual/relax_disp.spin_lock_offset.html relax_disp.spin_lock_offset user function ] call to Relax_disp.test_r1rho_off_res_tp02. This is the Relax_disp.test_r1rho_off_res_tp02 system test and the user function does not exist yet.* Implemented the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_offset.html relax_disp.spin_lock_offset user function]. This includes both the front end and the back end specific_analyses.relax_disp.disp_data.spin_lock_offset() function.
* The offset is now set for all spectra in the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test. Previously only the reference was set.
* Fixed a typo in the dispersion chapter of the user manual. This was identified by Troels Linnet at http://thread.gmane.org/gmane.science.nmr.relax.devel/4410.
* Fix for the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_offset.html relax_disp.spin_lock_offset user function]. The cdp.dispersion_points structure was being updated when it should not be touched - a remnant of the relax_disp.spin_lock_field backend which this code was copied from.
* Added some more arguments to the dispersion target function class for off-resonance R<sub>1ρ</sub> models. This is the structure for the spin-lock offsets and the tilt angles for each spin.
* Fix for the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test. The correct spectrum ID is now used for the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_offset.html relax_disp.spin_lock_offset user function ] calls in the script.
* The dispersion specific optimisation code is now assembling chemical shift related data. The specific_analyses.relax_disp.disp_data.return_offset_data() function has been written to return structures for the chemical shifts, offsets, and tilt angles. These are then used by the optimisation functions by passing them into the target function code.
* The [[TP02]] model code is now in a semi functional state. The lib.dispersion code has been fixed to properly handle the data it receives and the target function code has been updated to pass in the correct data.
* The dispersion specific code is now assembling the R<sub>1</sub> data and passing it to the target function. The new specific_analyses.relax_disp.disp_data.return_r1_data() function creates a data structure holding all the R<sub>1</sub> data. This is used in the off-resonance R<sub>1ρ</sub> experiments.
* Added checks to the specific_analyses.relax_disp.disp_data.return_r1_data() function. This is to help indicate to the user when data is missing.
* Fix for the Relax_disp.test_bug_20889_multi_col_peak_list GUI test. The [http://www.nmr-relax.com/manual/spectrum.read_intensities.html spectrum.read_intensities user function ] no longer has 'heteronuc' and 'proton' arguments.
* Fix to allow R<sub>1</sub> data to be randomised for Monte Carlo simulations for off-resonance R<sub>1ρ</sub> data. This is a temporary kludge for the dispersion analysis and needs to be replaced by a cleaner solution via the base_data_loop() method.
* Fix for the synthetic data for the [[TP02]] dispersion model. The nitrogen chemical shift was not converted from ppm to rad/s before being used to calculate the offsets.
* Renamed all of the current numeric dispersion models in relax to be specific to CPMG-type data. This is in preparation for adding R<sub>1ρ</sub> numeric models. It was proposed at http://thread.gmane.org/gmane.science.nmr.relax.devel/4461.
* Added the [[NS R1rho 2-site]] model to the specific_analyses.relax_disp.variables module. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1ρ</sub> data. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS R1rho 2-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1ρ</sub> data. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS R1rho 2-site]] R<sub>1ρ</sub> calculating function to the relax library. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1ρ</sub> data. This code originates from the Skrynikov & Tollinger code (the sim_all.tar file https://gna.org/support/download.php?file_id=18404 attached to https://gna.org/task/?7712#comment5). Specifically the funNumrho.m file. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the function name in the lib.dispersion.ns_r1rho_2site module and removed misplaced copyrights.
* Created the [[NS R1rho 2-site]] model target function. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1ρ</sub> data. The code originates from the funNumrho.m file from the Skrynikov & Tollinger code (the sim_all.tar file https://gna.org/support/download.php?file_id=18404 attached to https://gna.org/task/?7712#comment5). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added support for the [[NS R1rho 2-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1ρ</sub> data. The code originates from the funNumrho.m file from the Skrynikov & Tollinger code (the sim_all.tar file https://gna.org/support/download.php?file_id=18404 attached to https://gna.org/task/?7712#comment5). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Added the [[NS R1rho 2-site]] model to the relax user manual. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1ρ</sub> data. The code originates from the funNumrho.m file from the Skrynikov & Tollinger code (the sim_all.tar file https://gna.org/support/download.php?file_id=18404 attached to https://gna.org/task/?7712#comment5). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Rearrangement of the model sections in the dispersion chapter of the user manual. These are now better separated into different categories.
* Created a system test to catch [https://gna.org/bugs/?21081 bug #21081]. This uses a truncated version of Troel Linnet's save state attached to the bug report (the data pipes not used in the model selection have been manually deleted as well as all by the first 3 spins in the remaining 2 data pipes).
* Fix for [https://gna.org/bugs/?21081 bug #21081 - the failure of a dispersion cluster analysis]. The problem was that the specific_analyses.relax_disp.disp_data.loop_cluster() generator method was not taking the spin.select flag into account. Now all deselected spins are excluded from the spin clusters and the free spins.
* Better support for off-resonance R<sub>1ρ</sub> data in the dispersion GUI. A new row of buttons has been added to the dispersion GUI, just above the Peak list GUI element. The first button is for the [http://www.nmr-relax.com/manual/spin.isotope.html spin.isotope user function ] and replaces the old GUI element. Two new buttons for loading R<sub>1</sub> data and chemical shifts have also been added, as required for off-resonance R<sub>1ρ</sub> data.
* Changed the chemical shift icon to that of the chemical shift in ppm units - the δ symbol.
* The chemical shift icon now has a transparent background.
* Used far more Unicode for superscript, subscript and Greek letters for the model parameters. This is for the model list elements in the dispersion GUI tab.
* Added the [[TP02]] and [[NS R1rho 2-site]] models to the R<sub>1ρ</sub> model list in the dispersion GUI. These models were missing from the list.
* Fix for the [[NS R1rho 2-site]] model description in the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function].
* The relax_disp.select_model GUI wizard combo element now uses Unicode for the dispersion parameters. This is for all the models. The [[LM63 3-site]] model parameter list has also been fixed to match the current set.
* The CPMGFit input and output file names for relaxation dispersion are now MS Windows compatible. This is needed to allow the files in the test suite to exist on Windows systems, as the '#:@'symbols cause problems. The same logic as used for the relax_disp.plot_disp_curves is used to replace these characters with an underscore.
* The tutorial for adding dispersion models in the user manual has been simplified. Most of the text from the dispersion model addition tutorial in the dispersion chapter of the manual has been removed. Instead a link to the tutorial on the wiki is given as this is a much better place for such information (http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax).
* Moved the ordering of the model TSMF. Ordering conventions mentioned in this post http://article.gmane.org/gmane.science.nmr.relax.devel/4500. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_offset.html relax_disp.spin_lock_offset user function ] to the peak intensity wizard of the GUI. This is only for R<sub>1ρ</sub>-type data and allows off-resonance data to be analysed in the GUI.
* Data provided for the implementation of the slow-exchange analytic model of the Tollinger/Kay (2001). This model were used for fitting in the paper http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1458987.
* Created the Relax_disp.test_tp02_data_to_tp02 GUI test. This is based on the system test of the same name. This GUI test checks that an off-resonance R<sub>1ρ</sub> analysis is functional in the GUI.
* Fix epydoc HTML markup code. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added some MQ dispersion data taken from the GUARDD program.
* Modified the Relax_disp.test_dpl94_data_to_dpl94 system test for a relax_disp.exp_type change. This is so that the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] associates the experiment types with a spectrum ID. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530.
* Clean up and expansion of the dispersion experiment type variables.
* Another change to the dispersion experiment type variables.
* Fixes for the changes to the dispersion experiment type variables throughout the dispersion code.
* Redesigned the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] to be associated with spectrum IDs. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530, the thread about supporting multiple data types such as SQ+MQ data simultaneously. The user function backend has been moved from specific_analyses.relax_disp.api to specific_analyses.relax_disp.disp_data. A few temporary code additions have been made to keep the user function functional with the current dispersion code.
* Fixes for the relaxation dispersion system tests for the relax_disp.exp_type changes.
* The relaxation dispersion system tests requiring the compiled C modules are now skipped when not compiled.
* Created the specific_analyses.relax_disp.disp_data.loop_exp*() functions. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530, the thread about supporting multiple data types such as SQ+MQ data simultaneously. The methods added are loop_exp(), loop_exp_frq(), loop_exp_frq_point() and loop_exp_frq_point_time().
* Removed the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] page from the new analysis wizard.* Modified the dispersion GUI analysis to handle the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530, the thread about supporting multiple data types such as SQ+MQ data simultaneously. The experiment type GUI element has been removed, the CPMG and R<sub>1ρ</sub> model lists merged into one, and much code for the experiment type removed. The peak analysis wizard will need to be heavily modified for the changes.* Added the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] to the peak intensity loading wizard.
* Added the experiment type to the spectrum list GUI element. This is only activated if the exp_type_flag argument is True.
* The CPMG frequency and spin-lock field strength columns are merged in the spectrum list GUI element. The column is now for the dispersion point data, and allows different experiment types to be mixed.
* The spectra list GUI element in the dispersion auto-analysis now shows all columns.
* Removed the temporary FIXMEs from the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] backend. This is needed to enable the mixed experiment type code to be developed further, but means that the relax_disp branch will be broken for a while.
* The specific_analyses.relax_disp.disp_data.loop_point() function now requires the exp_type argument. The exp_type can no longer be determined within the loop_point() function. Therefore it must be specified using a function argument. The rest of the module has been updated for this change.
* Updated specific_analyses.relax_disp.parameters.param_num() for the relax_disp.exp_type changes.
* The dispersion auto-analysis no longer references cdp.exp_type. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530, the thread about supporting multiple data types such as SQ+MQ data simultaneously.
* Fix for the new loop_exp_frq() dispersion function.
* A few fixes for the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530, the thread about supporting multiple data types such as SQ+MQ data simultaneously.
* Fixes for the specific_analyses.relax_disp.disp_data.find_intensity_keys() function. This is for the cdp.exp_type changes.
* Fixes for the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] backend for the cdp.exp_type changes.* A number of fixes for the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes. This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/4530, the thread about supporting multiple data types such as SQ+MQ data simultaneously.
* Updated the Hansen CPMG data relax save files for the cdp.exp_type changes.
* Fix for the Relax_disp.test_hansen_cpmgfit_input system test for a new set of errors. The Hansen R<sub>2eff</sub> values have been recalculated and the errors are now slightly different.
* Expanded the Relax_disp.test_hansen_trunc_data GUI test to check the spectrum list GUI element. The popup menu is now tested with the Fake_right_click() trick. And the actions of a number of the menu items, the action*() methods, are tested to see if the user functions are correctly called.
* Modified many of the spectrum list GUI element action_*() methods for the GUI tests. These now take the 'item' keyword argument which overrides the ListCtrl.GetFirstSelected() call. This ListCtrl call cannot be reliably simulated on all operating systems, so the item keyword argument can be used to explicitly select list items.
* Fix for setting the relaxation time in the spectrum list GUI element for the dispersion analysis. The popup menu item was calling the [http://www.nmr-relax.com/manual/relax_fit.relax_time.html relax_fit.relax_time user function ] and not relax_disp.relax_time.* Fix for the action_relax_disp_cpmg_frq() method of the spectrum list GUI element. The [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] was being incorrectly called. This was identified via the Relax_disp.test_hansen_trunc_data system test.
* Modified the Relax_disp.test_tp02_data_to_tp02 GUI test to check the spectrum list GUI element. The popup menu is now tested in the same way as in the Relax_disp.test_hansen_trunc_data GUI test.
* Modified the spectrum list GUI element action_relax_disp_spin_lock_field() method for the GUI tests. This now accepts the optional 'item' keyword argument like the other action_*() methods.
* Bug fix for the spectrum list GUI element popup menu relax_disp.spin_lock_field entry. This was calling the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field user function ] incorrectly. The bug was identified by the Relax_disp.test_tp02_data_to_tp02 system test.
* Fix for the Mf.test_auto_analysis GUI test due to the spectrum list GUI element changes. The Fake_right_click() class now needs a GetPosition() method.
* Moved the experiment type setting into per spectra settings. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* The get_curve_type() function is now imported into the dispersion system test module.
* Modified the Relax_disp.test_dpl94_data_to_dpl94 system test. This is in preparation for another relax_disp.exp_type change - the fixed and exponential parts will be dropped as this can be determined automatically by relax.
* Changed the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] front end. The supported types will now be 'CPMG' and 'R1rho', as the fixed time verses full exponential curve can be automatically determined by relax from what the user inputs.
* Started a system test for model [[TSMFK01]]. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Modified the script for the full analysis of all models of CPMG type. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fixes for the Relax_disp.test_exp_fit system test - the spectrometer frequency is now set. This information is now compulsory.
* Converted references of ka and kA to k<sub>AB</sub>. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Updated the CPMG dispersion analysis sample script for the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes.* Updated the user manual for the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes. The script in the prompt/script UI section of the dispersion chapter needed to be updated.
* Referencing fixes for the dispersion chapter of the user manual.
* Updated the scripts and save files for the KTeilum_FMPoulsen_MAkke_2006 dispersion data. This is for the recent [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes and this allows the tests to pass. Information on how to run the scripts and tee the output to logs has been added, and the logs added to the repository.
* Added k<sub>AB</sub> to parameters. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* More fixes for the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] changes.
* The relaxation dispersion GUI elements now use the lib.text.gui module for Unicode strings.
* Some Unicode text fixes in the dispersion GUI analysis for older MS Windows versions.
* Changed reference to Tollinger et al. instead of Tollinger/Kay. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fixes for the dispersion GUI tests for the changes to the model list GUI element.
* Added the button for the [http://www.nmr-relax.com/manual/interatom.define.html interatom.define user function ] in preparation for the MQ dispersion data. This is in the dispersion tab of the GUI.
* The return_cpmg_frqs() and return_spin_lock_nu1() functions now return numpy arrays. These are functions from specific_analyses.relax_disp.disp_data.
* Speed ups for the optimisation of all of the R<sub>1ρ</sub> dispersion models. The spin-lock field strength data structure is now converted from Hz to rad.s<sup>-1</sup> in the dispersion target function initialisation. Previously the conversion was happening multiple times per target function call. This has a noticeable effect on the test suite timings.
* Added system tests for conversion of k<sub>ex</sub> to k<sub>AB</sub>/k<sub>BA</sub> for models where k<sub>ex</sub> and p<sub>A</sub> is present. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Modified headers for scripts producing analysis for data which is full or truncated. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Created the dispersion default_value_doc object. This table is needed for the [http://www.nmr-relax.com/manual/value.set.html value.set user function].* Huge speed win for the relaxation dispersion analysis - optimisation now uses the multi-processor. The relaxation dispersion optimisation has been parallelised at the level of the spin clustering. It uses Gary Thompson's multi-processor framework. This allows the code to run on multi-core, multi-processor systems, clusters, grids, and anywhere the OpenMPI protocol is available. Because the parallelisation is at the cluster level there are some situations, whereby instead of optimisation being faster when running on multiple slaves, the optimisation will be slower. This is the case when all spins being studied in clustered into a small number of clusters. It is also likely to be slower for the [http://www.nmr-relax.com/manual/minimise.html minimise user function ] when no clustering is defined, due to the overhead costs of data transfer (but for the numeric models, in this case there will be a clear win). The two situations where there will be a huge performance win is the [http://www.nmr-relax.com/manual/grid_search.html grid_search user function ] when no clustering is defined and the Monte Carlo simulations for error analysis.
* Decreased the number of grid increments in the dispersion sample scripts from 21 to 11. This is a much easier optimisation problem than the other analyses in relax, so 21 increments is an overkill. It also takes far too long for some of the models due to the high number of parameters.
* Removed a tonne of unused imports from the modules of the specific_analyses.relax_disp package.
* Fix for adding [[TSMFK01]] to sample scripts. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Updated the relax_disp_trunc.py script for Flemming Hansen's CMPG test data.
* Started to create the [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function]. The frontend has been written and a stub of a function for the backend. The new specific_analyses.relax_disp.catia module has been created for this.* Created the Relax_disp.test_hansen_catia_input system test. This is to check the output of the [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function].* The [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function ] now creates the main CATIA input file and all R<sub>2eff</sub> data files.* Created a script for converting Flemming Hansen's data into CATIA input files. This is for checking the [http://www.nmr-relax.com/manual/relax_disp.catia_input .html relax_disp.catia_input] and [http://www.nmr-relax.com/manual/relax_disp.catia_execute.html relax_disp.catia_execute ] user functions.
* Fix for the CATIA main execution file created by relax_disp.catia_input. The CATIA DataDirectory needs a '/' at the end.
* Improvements to the [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function]. On top of general improvements, the global parameter and parameter set files are now created.* More improvements for the [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function]. The output directory for CATIA results is now an argument for the main backend function. This directory is now also created, as required by CATIA.* Implemented the [http://www.nmr-relax.com/manual/relax_disp.catia_execute.html relax_disp.catia_execute user function]. This is modelled on the [http://www.nmr-relax.com/manual/palmer.execute.html palmer.execute user function].* The [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function ] now has a GUI icon associated with it.
* Added the CATIA input files generated by relax for Flemming Hansen's truncated CPMG data set.
* Rearranged the numeric CPMG models in the dispersion model list in the GUI.
* The main CATIA input file requires the chemical shifts and R<sub>1</sub> values to be fixed, even when missing. This is for the [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function].
* Added Tollinger reference. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added Tollinger model [[TSMFK01]] to sample scripts. Progress [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fixes for the checks of the new Relax_disp.test_sprangers_cpmg_data_auto_analysis system test. The [[NS MMQ 2-site|MQ NS 2-site]] model checks were still set up to those of the Relax_disp.test_hansen_cpmg_data_auto_analysis system test.
* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to the dispersion variables. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list The new dispersion variable MODEL_MQ_NS_CPMG_2SITE has been added. As this is a new data type, multi-quantum CPMG, the new MODEL_LIST_MQ_CPMG and MODEL_LIST_MQ_CPMG_FULL lists have been created.
* Rearranged the documentation for the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] to simplify the text.
* Created the lib.text.gui.dwH Unicode string for use with the [[NS MMQ 2-site|MQ NS 2-site]] dispersion model.
* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end Two new sections were added to the user function docstring for the MQ CPMG and MQ R<sub>1ρ</sub> experiment types.* Added support for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the numeric solution for 2-site exchange for multi-quantum CPMG-type data. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.
* Added support for the new 'δω<sub>H</sub>' dispersion parameter. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model support. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_support_for_the_parameters.
* Improved the RelaxError from the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] when an invalid experiment type is set.
* Added the multi-quantum CPMG and R<sub>1ρ</sub> experiment types to the dispersion variables. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* Added relaxation dispersion model lists for the MQ R<sub>1ρ</sub> models. These are stubs as no MQ R<sub>1ρ</sub> models are yet supported by relax.
* Added support for the MQ dispersion data type to the specific_analyses.relax_disp.disp_data module. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* Added support for the MQ dispersion data types to the rest of relax. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model, and the changes affect the dispersion data checks and the dispersion target functions. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* Updated the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test for 'MQ CPMG' data. This also affects the script in the shared_data test suite directory. The [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] exp_type argument has been changed from 'CPMG' to 'MQ CPMG'.* Updated the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] for the new 'MQ CPMG' and 'MQ R1rho' experiment types. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* Created the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model target function. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] R<sub>1ρ</sub> calculating function to the relax library. This is the 2-site numeric solution for multi-quantum CPMG-type data. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library.
* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to the GUI model list. This is the 2-site numeric solution for multi-quantum CPMG-type data. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUI.
* Rearranged the 'Implemented models' subsection of the dispersion chapter of the manual.
* Fixed the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model description in the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function]. The magnitisation vector is 2D, not 3D.
* Added a latex definition for the δω<sub>H</sub> dispersion parameter and added the 'MQ' abbreviation.
* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to the relax user manual. This is the 2-site numeric solution for multi-quantum CPMG-type data. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
* Fix for a bug in the specific_analyses.relax_disp.disp_data.loop_point() function introduced at r21060.
* Speed ups for the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test. This test does not pass yet, but this should allow the test to complete in under an hour.
* Added some [http://www.nmr-relax.com/manual/value.set.html value.set user function ] calls to the script for Sprangers' ClpP data.* Added some [http://www.nmr-relax.com/manual/value.set.html value.set ] calls to the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test. These user function calls will be used to test a new concept of fixing parameters in the grid search. The δω and δω<sub>H</sub> parameters are fixed to the experimental values, as described in the README file from Remco Sprangers (in test_suite/shared_data/dispersion/Sprangers_ClpP).* Changed the operation of the grid search for the relaxation dispersion analysis. If a parameter is a simple floating number type and it already has a value, then the grid search over that dimension is fixed. The grid increments are set to 1, and the upper and lower bounds set to the parameter value. This allows parameters to be pre-set, if known from experiment. They will nevertheless be optimised via the [http://www.nmr-relax.com/manual/minimise.html minimise user function].
* Added a printout for the pre-set dispersion parameter skipping in grid search.
* Updated the dispersion grid search function to user the loop_parameters() function. This is an important fix as the specific_analyses.relax_disp.optimisation.grid_search_setup() function was not matching the rest of the dispersion code, hence the parameters of the grid increments and bounds were not matching the parameter vector, scaling matrix, target function parameter depacking, etc.
* A bit of help for some of the R<sub>1ρ</sub> dispersion model system tests. These now fail after a fundamental fix. The problem is only due to the very coarse grid search size - a finer grid search allows the solution to be correctly found. However as this is far too slow, instead the k<sub>ex</sub> parameter is set to be close to the solution to skip a grid search dimension.
* Some basic fixes for the Relax_disp.test_hansen_catia_input system test. The [http://www.nmr-relax.com/manual/relax_disp.catia_input.html relax_disp.catia_input user function ] is not complete, but this allows the Relax_disp system tests to pass.
* The dispersion multi-processor optimisation code now prints out its own simulation messages. This is to fix [https://gna.org/bugs/?21190 bug #21190]. The memo object now is feed in the spin IDs of the cluster and stores this as the cluster_name variable. This is used by the results object run() method, which is run on the master at the end, to print out a message along the lines of "Simulation X, cluster yyy". Therefore the message is only printed out once the calculation of that slave command is complete and returned to the master.
* Replaced all usage of scipy.linalg.expm() with lib.linear_algebra.matrix_exponential.matrix_exponential(). This is for the functions of the lib.dispersion package used for the relaxation dispersion numeric solution models. The change eliminates a bug in the scipy function which uses the Pade approximation which fails horribly for the complex part of the matrix. The real part looks good, but the complex part looks to have nasty truncation artefacts which is propagated and amplified through the Bloch-McConnell equations.
* Created the Relax_disp.test_sprangers_data_to_mq_cr72 system test. This was copied from the Relax_disp.test_sprangers_data_to_mq_ns_cpmg_2site system test and the model changed to [[MQ CR72]]. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite.
* Added the [[MQ CR72]] model to the dispersion variables. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
* Added the [[MQ CR72]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end.* Added support for the [[MQ CR72]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.
* Created the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model target function. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
* Added the [[MQ CR72]] R<sub>2eff</sub> calculating function to the relax library. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library. The corresponding target function was updated to input the correct arguments.
* Implemented the numeric only option for the dispersion auto-analysis. If the numeric_only flag is set to True, then no analytic models will be used in the final model selection.
* Completed the Relax_disp.test_hansen_cpmg_data_auto_analysis_numeric system test. This now checks all the optimised parameter values and makes sure that no [[CR72]] model was selected.
* Added a new button to the button bar in the relaxation dispersion GUI analysis tab. This is a button used to launch the [http://www.nmr-relax.com/manual/value.set.html value.set user function ] to allow the user to pre-set certain parameters so that they are not used in the grid search.
* Created a GUI element for the numeric_only flag of the auto-analysis for the dispersion GUI tab. This defaults to false to allow all model types to be used.
* Loosened the Relax_disp.test_sprangers_data_to_mq_ns_cpmg_2site system test to allow it to pass on Mac OS X.
* The dispersion GUI analysis cluster_update() method is now thread safe. This removes many error messages when running the dispersion analysis in the GUI, especially for Mac OS X systems.
* The dispersion data return_cpmg_frqs() and return_spin_lock_nu1() functions are now safer. These specific_analyses.relax_disp.disp_data module functions can now be called when no data is present.
* Fixes for the [http://www.nmr-relax.com/manual/calc.html calc user function ] for the dispersion analysis. This now does something logical for the non-[[R2eff]] models. The chi-squared value is now being calculated and stored. Previously this was only calculating the R<sub>2eff</sub>/R<sub>1ρ</sub> values for fixed relaxation time period data for the [[R2eff]] model and failing for all others. Now the pre-existing _back_calc_r2eff() method is used to back-calculate and store the chi-squared value.* Redesigned the Relax_disp.test_hansen_cpmg_data_to_ns_cpmg_2site_star_full system test. The R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> rates cannot be distinguished for this data, therefore there was no unique solution. This resulted in too much variability between 32 and 64-bit systems as well as different operating systems. Instead a single [http://www.nmr-relax.com/manual/calc.html calc user function ] call is used to determine the chi-squared value for a fixed set of parameters.* Loosened the test_hansen_cpmg_data_to_ns_cpmg_2site_star_full system test for Mac OS X. Even the [http://www.nmr-relax.com/manual/calc.html calc user function ] does not help, the results are quite different between different systems.
* The specific API calculate_r2eff() method for the dispersion analysis is now private. This is not part of the API, so it must be made private for the test suite to pass.
* Fix for the Mf.test_mf_auto_analysis system test on MS Windows. The Fake_right_click.GetPosition() method now returns a valid position. This is the original (10, 10) position.
* Better section spacing in the dispersion chapter of the manual. Each model section is now on a new page.
* Fix for the display of the spin-lock ν<sub>1</sub> values in the dispersion GUI tab. This was reported by Troels at http://thread.gmane.org/gmane.science.nmr.relax.devel/4708. The GUI spectrum element at gui.components.spectrum was at fault, the add_disp_point() method was buggy.
* Fix for the right click pop up menu entry "Set the spin-lock field" in the dispersion GUI tab. This is for the spectra list [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field user function ] call. The reference spectra are now detected and the field value set to None. This fix has been propagated to the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function ] menu entry as well.
* Correcting the R<sub>1ρ</sub> settings script for the right calculation of the spin-lock offset, omega_rf, in ppm when offset values are provided in Hz.
* Added ZQ and DQ data to the TODO list in the dispersion chapter of the manual.
* Added all of the new NESSY plots for the truncated Hansen CPMG data.
* Fixes for all of the system tests using Flemming Hansen's CPMG data subset. The errors are now different and the new residue 4 has to be deselected and ignored.
* Created the new [http://www.nmr-relax.com/manual/relax_disp.insignificance.html relax_disp.insignificance user function]. This will be used to deselect all spins whereby the maximum difference in all its dispersion curves is below a certain cutoff.* Improvements for the [http://www.nmr-relax.com/manual/relax_disp.insignificance.html relax_disp.insignificance user function]. Text is now printed out when a spin is deselected. And all spins set to the [[R2eff]] model are skipped.* The relaxation dispersion auto-analysis now accepts the 'insignificance' argument. This is then used in the [http://www.nmr-relax.com/manual/relax_disp.insignificance.html relax_disp.insignificance user function ] prior to the optimisation of each model, so that spins with insignificant dispersion curves are not optimised. The [[R2eff]] and [[No Rex]] models are skipped for obvious reasons.
* Created an INSIGNIFICANCE variable for the relaxation dispersion sample scripts. This is to allow the user to eliminate insignificant models.
* Added the insignificance dispersion auto-analysis argument to the Hansen CPMG data optimisation script.
* Updated the insignificance argument docstring for the dispersion auto-analysis.
* The dispersion analysis GUI element now uses the float GUI element for the insignificance level. This makes sure that the user can only enter a number.
* Created the Relax_disp.test_r2eff_read and Relax_disp.test_r2eff_read_spin system tests. These check the operation of the currently non-existent [http://www.nmr-relax.com/manual/relax_disp.r2eff_read .html relax_disp.r2eff_read] and [http://www.nmr-relax.com/manual/relax_disp.r2eff_read_spin.html relax_disp.r2eff_read_spin ] user functions.* Modified the Relax_disp.test_r2eff_read system test. A new disp_frq argument has been added for the [http://www.nmr-relax.com/manual/relax_disp.r2eff_read.html relax_disp.r2eff_read user function].
* Renamed specific_analyses.relax_disp.disp_data.exp_type() to set_exp_type(). This is to avoid classes with the 'exp_type' function arguments.
* Small fix for the printout from specific_analyses.relax_disp.disp_data.set_exp_type().
* Improved printout from the specific_analyses.relax_disp.disp_data.set_exp_type() function.
* Improved printout for the [http://www.nmr-relax.com/manual/relax_disp.cpmg_frq.html relax_disp.cpmg_frq user function].* Improved printout for the [http://www.nmr-relax.com/manual/relax_disp.spin_lock_field.html relax_disp.spin_lock_field user function].* Implemented the [http://www.nmr-relax.com/manual/relax_disp.r2eff_read.html relax_disp.r2eff_read user function]. Bot the frontend and backend have been implemented and are functional.
* Created the Relax_disp.test_hansen_cpmg_data_auto_analysis_r2eff system test. This is to test the full dispersion auto-analysis on Flemming Hansen's CPMG data using the original R<sub>2eff</sub> data rather than the derived peak heights.
* Changes for the Relax_disp.test_hansen_cpmg_data_auto_analysis_r2eff system test. The file paths have been changed.
* The error analysis is now skipped in the dispersion auto-analysis if the [[R2eff]] model is not given. It is then assumed that R<sub>2eff</sub>/R<sub>1ρ</sub> data has already been loaded into the base data pipe and hence the error analysis is not needed. This avoids fatal errors.
* The specific_analyses.relax_disp.disp_data.loop_time() function can now handle no relaxation times being set.
* The [http://www.nmr-relax.com/manual/relax_disp.r2eff_read.html relax_disp.r2eff_read user function ] now prints out all the data which has been read. This feedback is useful for the user to know what has or has not been read into relax.
* Fix for the dispersion auto-analysis if R<sub>2eff</sub> data already exists. The data is no longer copied from the non-existent 'R2eff' data pipe.
* Fixes for the dispersion specific overfit_deselect() method for when R<sub>2eff</sub> data is read. This now no longer checks for intensity data but rather R<sub>2eff</sub> data, as intensity data will not be present if R<sub>2eff</sub> data is directly read rather than peak intensities.
* Fixes for the Relax_disp.test_hansen_cpmg_data_auto_analysis system test. The setup of the auto-analysis could be simplified as the base data pipe can now contain R<sub>2eff</sub> data. The R<sub>2eff</sub> data in the 'R2eff' data pipe was no longer being read.
* Some small fixes to allow the optimisation of dispersion models when no peak intensity data has been read. This is for when R<sub>2eff</sub> data has been read instead.
* The [http://www.nmr-relax.com/manual/relax_disp.insignificance.html relax_disp.insignificance user function ] can now handle selected spins with no R<sub>2eff</sub>/R<sub>1ρ</sub> data.
* Fixes for the Monte Carlo simulations in the dispersion analysis when R<sub>2eff</sub> data has been read. As peak intensity data has not been read, the relaxation time period will not have been set. The _back_calc_r2eff() method can now handle this.
* Improved the R<sub>2eff</sub> errors for Flemming Hansen's CPMG data. The errors are now calculated using the data from all spins rather than a truncated subset. The errors will therefore be much more accurate.
* Fixed a typo in the user function name in the Relax_disp.test_r2eff_read_spin system test.
* Fixes for the Relax_disp.test_r2eff_read_spin system test.
* Implemented the [http://www.nmr-relax.com/manual/relax_disp.r2eff_read_spin.html relax_disp.r2eff_read_spin user function]. This allows R<sub>2eff</sub>/R<sub>1ρ</sub> files for each spin to be read.
* Fixed a docstring talking about RDC data in the dispersion analysis.
* Fix for the Relax_disp.test_hansen_cpmg_data_auto_analysis_numeric system test for 32-bit Linux. The [[NS CPMG 2-site expanded]] model checks have been turned off again for residue 71 as these results are far to variable.
* Loosened a check for the Relax_disp.test_hansen_cpmg_data_to_ns_cpmg_2site_star system test for Mac OS X.
* Loosened a check for the test_hansen_cpmg_data_to_ns_cpmg_2site_star system test for MS Windows.
* Added some polish to the [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] frontend.
* Created the MODEL_LIST_CPMG_NUM dispersion list variable. This is for defining in one place the list of models which require the number of CPMG blocks.
* The dispersion optimisation code now checks for the relaxation time period being set for certain models. This is for the models which require the number of CPMG blocks, calculated via the relaxation time and ν<sub>CPMG</sub>.
* The dispersion target function setup now uses the new MODEL_LIST_CPMG_NUM variable.
* The dispersion specific check_exp_type() function now accepts the id argument to check individual IDs.
* Redesigned the [http://www.nmr-relax.com/manual/relax_disp.r2eff_read .html relax_disp.r2eff_read] and [http://www.nmr-relax.com/manual/relax_disp.r2eff_read_spin.html relax_disp.r2eff_read_spin ] user functions. These now no longer set the metadata (spectrometer frequency and experiment type) themselves. Instead an experiment ID string must be supplied. The [http://www.nmr-relax.com/manual/spectrometer.frequency .html spectrometer.frequency] and [http://www.nmr-relax.com/manual/relax_disp.exp_type .html relax_disp.exp_type] user functions will therefore need to be called before these R<sub>2eff</sub> functions.* Fixes for the Relax_disp.test_hansen_cpmg_data_auto_analysis_r2eff system test. This is for the changes in the [http://www.nmr-relax.com/manual/relax_disp.r2eff_read.html relax_disp.r2eff_read user function].
* Fixes and completion of the Relax_disp.test_r2eff_read and Relax_disp.test_r2eff_read_spin system tests. These now handle the new user function design and now also check all of the global and spin data.
* A number of fixes for the dispersion analysis for all the recent changes.
* Created the Relax_disp.test_tp02_data_to_mp05 system test. This was copied from the Relax_disp.test_tp02_data_to_tp02 system test. The r1rho_off_res_tp02.py system test script was modified to handle both tests by allowing the list of models to optimise to be set via the ds.models variable. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite.
* Added the [[MP05]] model to the dispersion variables. This is the Miloushev and Palmer 2005 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
* Added the [[MP05]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Miloushev and Palmer 2005 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end.* Added support for the [[MP05]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] back end. This is the Miloushev and Palmer 2005 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.
* Created the [[MP05]] model target function. This is the Miloushev and Palmer 2005 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
* Added the [[MP05]] R<sub>2eff</sub> calculating function to the relax library. This is the Miloushev and Palmer 2005 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library. Just in case git-svn does not preserve the file copying history, the lib/dispersion/mp05.py file was copied from the tp02.py file.
* Created the Relax_disp.test_tp02_data_to_tap03 system test. This is the Trott et al, 2003 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite This was copied from the Relax_disp.test_tp02_data_to_mp05 system test.
* Added the [[TAP03]] model to the dispersion variables. This is the Trott, Abergel and Palmer 2003 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
* Added the [[TAP03]] model to the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] frontend. This is the Trott, Abergel and Palmer 2003 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end.* Added support for the [[TAP03]] model to the relax_dispr[http://www.nmr-relax.com/manual/elax_disp.select_model.html elax_disp.select_model user function ] back end. This is the Trott, Abergel and Palmer 2003 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.
* Created the [[TAP03]] model target function. This is the Trott, Abergel and Palmer 2003 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
* Added the [[TAP03]] R<sub>2eff</sub> calculating function to the relax library. This is the Trott, Abergel and Palmer 2003 R<sub>1ρ</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library.
* Implemented the [[MMQ 2-site]] CPMG model equations from the Korzhnev et al., 2005 reference. The paper reference is "Dmitry M. Korzhnev, Philipp Neudecker, Anthony Mittermaier, Vladislav Yu. Orekhov, and Lewis E. Kay (2005). Multiple-site exchange in proteins studied with a suite of six NMR relaxation dispersion experiments: An application to the folding of a Fyn SH3 domain mutant. J. Am. Chem. Soc., 127, 15602-15611. (doi: http://dx.doi.org/10.1021/ja054550e)". The original code from Mathilde Lescanne and Dominique Marion has only slightly been modified for this change as the MQ data treatment in the Korzhnev et al., 2004 reference is the same as in the 2005 reference, but using a different notation. This has been renamed to r2eff_mmq_2site_mq(). The new r2eff_mmq_2site_sq_dq_zq() function has been added to the lib.dispersion.mmq_2site module to allows the SQ, DQ, and ZQ R<sub>2eff</sub> data to be calculated. This function follows the notation of the 2005 paper. The populate_matrix() function has been modified to only accept one combined chemical shift difference value. It can now also accept different values for R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup>, though the mmq_2site module defaults to R<sub>2A</sub><sup>0</sup>=R<sub>2B</sub><sup>0</sup>.
* The r2eff_mmq_*() functions of lib.dispersion.mmq_2site now accept different R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> arguments. These are set to the same thing within the dispersion target function.
* Converted the spin specific 'r2', 'r2a', and 'r2b' dispersion parameters from lists to dictionaries. The new parameter keys are based on the experiment type and the spectrometer frequency. These keys are supported by the generate_r20_key() and decompose_r20_key() pair of functions in the specific_analyses.relax_disp.disp_data module. This enables support for different R<sub>2</sub><sup>0</sup> parameters for each experiment type - a key piece of infrastructure for the [[:Category:MMQ CPMG data|MMQ]] models. The [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] backend was modified so the parameter list only contains one instance for each of the 'r2', 'r2a', or 'r2b' strings. The specific_analyses.relax_disp.parameters.loop_parameters() function was modified so that the R<sub>2</sub><sup>0</sup>key rather than frequency index is returned for the R<sub>2</sub><sup>0</sup> parameters. Many other code changes were required.
* The R<sub>2</sub><sup>0</sup> values are now correctly handled in the dispersion target function for [[:Category:MMQ CPMG data|MMQ-type data]].
* Simplified the [[MMQ 2-site]] dispersion model target function. The r2eff_mmq_2site_sq_dq_zq() and r2eff_mmq_2site_mq() functions from lib.dispersion.mmq_2site are now aliased by the experiment_type_setup() target function method. Both functions now have matching arguments.
* Change of the base relaxation dispersion experiment types. The base CPMG-type experiment has been changed from "CPMG" to "SQ CPMG". This is for better [[:Category:MMQ CPMG data|combined proton-heteronuclear SQ, ZQ, DQ, and MQ (MMQ) data]] support. The [http://www.nmr-relax.com/manual/relax_disp.exp_type.html relax_disp.exp_type user function ] now also as the proton SQ and MQ CPMG-types available to select from rather than the previous behaviour of relax automatically determining the type from the spin type. All of the CPMG experiment type variables in specific_analyses.relax_disp.variables have been renamed for better ordering. Many changes were therefore required.
* Fix for the specific_analyses.relax_disp.disp_data.num_exp_types() function. This needed updating after the change in the relaxation dispersion experiment type variables.
* Different relaxation time periods for each experiment is now taken into account in the dispersion code. Previously only the first relaxation time period was being used. This was fine for single data type models, but was preventing the [[:Category:MMQ CPMG data|MMQ-type]] models from working. Now the return_r2eff_data() function of the specific_analyses.relax_disp.disp_data module assembles and returns the relax_times data structure which has two dimensions - the experiment type and the magnetic field strength.
* Changed the current data pipe in the relax saved states for Flemming Hansen's truncated CPMG data.
* Another change of the base relax files of the truncated CPMG data.
* Bug fix for the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function]. The ν<sub>CPMG</sub> values need to be doubled and then divided by 1e<sup>3</sup> to obtain the 1/τ<sub>CPMG</sub> values in ms.* Fix for the [http://www.nmr-relax.com/manual/relax_disp.sherekhan_input.html relax_disp.sherekhan_input user function ] for the recent changes.
* Updated all of the results for the truncated CPMG data from Flemming Hansen in the test suite. The results are now different as the errors are now much more precise as they come from all spin systems rather than just the truncated set of :4, :70, and :71.
* Bug fix for the Ishima and Torchia 1999 dispersion model. Their value of omega_1eff is defined in terms of ν<sub>CPMG</sub>, hence it is missing the radian unit. This is clearly a mistake, but is probably compensated by their stated rather than derived definitions.
* Fix for the [[LM63]] dispersion model equation in the manual.
* The [[CR72]] dispersion model descriptions now emphasise the fact that it is not accurate on all time scales. This is for the dispersion chapter of the user manual.
* Modified the [http://www.nmr-relax.com/manual/relax_disp.select_model.html relax_disp.select_model user function ] [[CR72]] model descriptions. Instead of saying all time scales, the [[CR72]], [[CR72 full]], and [[MQ CR72]] model descriptions instead now say most time scales.
* Minor equation improvement in the dispersion chapter of the manual.
* Fix for the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] in the GUI. The directory argument was incorrectly set to the 'dir' type rather than 'dir sel' type so it was not shown in the GUI.* Created the [http://www.nmr-relax.com/manual/relax_disp.write_disp_curves.html relax_disp.write_disp_curves user function]. This is based on feedback from Nikolai Skrynnikov. The user function will generate one file per spin system and dump all of the R<sub>2eff</sub> values (measured, back calculated, and errors) into the file.* The [http://www.nmr-relax.com/manual/relax_disp.write_disp_curves.html relax_disp.write_disp_curves user function ] is now called from the dispersion auto-analysis.
* Another bug fix for the [[IT99]] model. This was pointed out by Nikolai Skrynnikov that the omega_1eff definition is incorrect and instead it should be omega_1eff = 4 * sqrt(3) * ν<sub>CPMG</sub>.
* Updated the Relax_disp.test_hansen_cpmg_data_to_it99 system test for the [[IT99]] model fixes.
* Updated the relax results for the truncated CPMG data from Flemming Hansen. This is needed as the [[IT99]] model has been fixed and the new relax_disp.write_disp_curves user function introduced.
* Fix for the [http://www.nmr-relax.com/manual/relax_disp.write_disp_data.html relax_disp.write_disp_data user function]. The spectrometer frequency in the output files is now in MHz.* A small output formatting change for the [http://www.nmr-relax.com/manual/relax_disp.write_disp_curves.html relax_disp.write_disp_curves user function].* The [http://www.nmr-relax.com/manual/relax_disp.write_disp_curves.html relax_disp.write_disp_curves user function ] is now more robust for when data is missing.
* Fix for the setup of the Relax_disp.test_korzhnev_2005_1h_mq_data system test.
* Fixes for the Relax_disp.test_hansen_cpmgfit_input system test. These are needed as the [http://www.nmr-relax.com/manual/relax_disp.cpmgfit_input.html relax_disp.cpmgfit_input user function ] has been fixed resulting in different files being produced.
* Bug fix for the relaxation dispersion model selection. Deselected spins in the current pipe were being skipped, so for model selection between different data pipes that results in spins not being used when they should be.
* Bug fix for the dispersion specific model_information() method. This can now handle deselected spins with no data.
* Better support for the [[:Category:MMQ CPMG data|MMQ-type data]] dispersion models for the end of the optimisation. The back calculated R<sub>2eff</sub> values are now handled correctly for the attached proton in the spin system.
* Updated the Relax_disp.test_korzhnev_2005_15n_dq_data system test so it passes. The optimised values are very similar to that from cpmg_fit, so the code must be functioning correctly.
* Improvement for the file names in the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. The '_' character is now used between the experiment name and the rest of the file name.
* Bug fix for the specific_analyses.relax_disp.disp_data.find_intensity_keys() function. This function was not handling multiple experiment types correctly.
* Created the Relax_disp.test_korzhnev_2005_all_data system test for checking the [[MMQ 2-site]] model. This checks against all six data types, <sup>1</sup>H SQ, <sup>15</sup>N SQ, DQ, ZQ, <sup>1</sup>H MQ, and <sup>15</sup>N MQ. This is currently set to the values found by cpmg_fit. As this is the true solution, relax should find similar parameter values.
* Created a Grace plot of the <sup>15</sup>N MQ CPMG data fitting from cpmg_fit.
* Bug fix for the multiple quantum relaxation dispersion models. These require both the heteronuclear and proton chemical shift differences. But the proton difference was being scaled by the heteronuclear Larmor frequency and not the proton frequency.
* The relaxation dispersion [http://www.nmr-relax.com/manual/calculate.html calculate user function ] now stores the back calculated R<sub>2eff</sub> values. A number of changes were required for this. The code from the end of the Disp_result_command.run() method was converted to the function specific_analyses.relax_disp.disp_data.pack_back_calc_r2eff(). This allows the back calculation R<sub>2eff</sub> unpacking code to be shared. The new has_proton_mmq_cpmg() function has also been created to simplify the code.* Bug fix for the dispersion [http://www.nmr-relax.com/manual/calculate.html calculate user function].
* Created a script to compare the cpmg_fit and relax solutions for the [[MMQ 2-site]] dispersion model.
* Clean ups and speed ups of the <sup>1</sup>H MMQ flag calls.
* Large improvements to the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] including :Category:MMQ CPMG data|MMQ]] model support. This user function now handles multiple dispersion data sets better by placing each into a new graph. All graphs have also been improved by matching the colours of the sets for each field strength and using different symbols and line styles to emphasize the data.* Fixes for the [http://www.nmr-relax.com/manual/relax_disp.plot_exp_curves.html relax_disp.plot_exp_curves user function ] for the lib.software.grace changes.
* The relax_disp.plot_disp_curves now shows the experiment type as part of the Y-axis label. This is to allow for easy identification of the experiment when more than one is present.
* Bug fix for the [[MMQ 2-site]] dispersion model target function. The relaxation time was being taken as that of the first experiment for all experiments. This is a relic from the code being copied from a single experiment type model.
* Fix for the [[MQ CR72]] model for MQ-type data. The check to prevent acos of a number less than 1 has been changed to switch the sign rather than to set the back calculated R<sub>2eff</sub> to 1e<sup>99</sup>.
* Another bug fix for the [[MQ CR72]] dispersion model. The ν<sub>CPMG</sub> value rather than the relaxation time was being used to calculate the R<sub>2eff</sub> values as the division by 'n' was missing.
* The [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] can now handle values of NaN. These are simply replaced by 0.0 to allow Grace to open the file.
* Fixes for the [[MQ CR72]] dispersion model target function.
* Removed a latent bug in the [[MMQ 2-site]] dispersion model. This was not being seen but might have caused problems in the future.
* Last fix for the [[MQ CR72]] dispersion model. The wrong value was being subtracted from the first eigenvalue - the value of log(Q)/relax_T should not be divided by the number of CPMG blocks.
* Simplified the first [[MQ CR72]] dispersion model formula in the manual.
* Created a relax script to compare the [[MQ CR72]] dispersion model results to cpmg_fit. The cpmg_fit solution is used as the input parameters for relax, and then a [http://www.nmr-relax.com/manual/calc.html calc user function ] call is used to back calculate the R<sub>2eff</sub> values. These values are then plotted to show the perfect match.
* Bug fixes for the [[MMQ 2-site]] dispersion model. The matrix power factor must be found with the Python math.floor() function and not int() as the later will sometimes round up.
* Updated all of the relax vs. cpmg_fit comparison files in the shared data directory. These now show the perfect match between the programs. The cpmg_fit source code was modified to improve the accuracy of the gyromagnetic ratio values.
* Updated the Relax_disp.test_sprangers_data_to_mq_cr72 system test to pass. The [[MQ CR72]] model is now much more accurate due to a number of recent bug fixes.
* Fixes for all of the Relax_disp.test_korzhnev_2005_*_data system tests. These now start optimising at the solution found by cpmg_fit. All tests now pass.
* Fix for the legends in the Grace graphs produced by the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function].
* The grid search for the [[:Category:MMQ CPMG data|MMQ-type]] models now looks for negative chemical shift differences.
* Converted the dispersion api method _back_calc_r2eff() into a function of the optimisation module.
* Increased the range of chemical shift differences in the grid search for the dispersion models. The range was too narrow.
* Fix for the Relax_disp.test_hansen_cpmg_data_auto_analysis system test. The k<sub>ex</sub> value check needed to be scaled back.
* The [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] now produces interpolated dispersion curves. For this the new 'num_points' and 'extend' arguments have been added to the user function to give the user better control of this plotting. The interpolated curve is disabled from the numeric CPMG models as these do not support interpolation, and the [[R2eff]] model as interpolation is not needed. To support this, the specific_analyses.relax_disp.optimisation.back_calc_r2eff() function has been extended to support the CPMG frequencies or spin-lock field strengths been supplied instead of retrieved. This allows a set of custom dispersion points to be used in the back calculation. The dispersion target function setup was modified to prevent the recalculation of τ<sub>CPMG</sub> values when asked, as interpolation is not compatible with this.* The [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function ] now places the X-axis at zero. This is for better visualisation of the residuals.* Interpolated curves are now produced for the numeric CPMG-type models. This if for the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function]. The resolution of these are limited to the frequency of a single CPMG block in the relaxation time period. Therefore the plots are produced slightly differently. To enable this functionality, the new count_exp() and return_relax_times() functions have been added to the specific_analyses.relax_disp.disp_data module.* Improved the text for the [http://www.nmr-relax.com/manual/relax_disp.plot_disp_curves.html relax_disp.plot_disp_curves user function].
* Fix for the interpolation for the numeric CPMG-type models in relax_disp.plot_disp_curves.
* Updated the relax results files for the CPMG data from Korzhnev et al., 2005.
* Created a new section in the dispersion chapter of the manual covering optimisation. This describes the auto-analysis, the chi-squared function, the grid search values, how optimisation is implemented, the linear constraints used, the diagonal scaling, model elimination, and the use of OpenMPI. It absorbs the clustering section.
* Improvements for the dispersion API eliminate() method.
* Added text about the [http://www.nmr-relax.com/manual/relax_disp.insignificance.html relax_disp.insignificance user function ] to the dispersion chapter of the manual.
* Updates for the [[MMQ 2-site]] model equations in the manual.
* Added the t<sub>ex</sub> > 1.0 model elimination rule for the dispersion analysis.
* Fixes for the Relax_disp.test_tp02_data_to_tp02 GUI test. This should have been fixed in the relax_disp branch.
* Fix for the Wiz_window.setup_page() method. The user function SetValue() methods are no longer called but instead the Uf_page.SetValue() method is used to set up user function arguments. This is important as this later method can properly handle the free file format arguments and other special arguments whereas the former cannot.
* Attempts at fixing and improving the Relax_disp.test_hansen_trunc_data GUI test. These changes have uncovered a spin ID updating problem in the relax data store after calling the [http://www.nmr-relax.com/manual/residue.delete.html residue.delete user function].
* Fix for two system tests to prevent relax save files from being dumped in the installation directory. This would have been fatal for the tests suite on systems with relax installed as root.
* Fix for the GUI tests for a wxPython 2.9 ListCtrl.HitTest() bug. This only affects the relax test suite. The suite should now pass on all systems.
* Shifted the dispersion chapter of the user manual to its correct position. Somehow during the relax_disp branch merger, this chapter was shifted into the "Advanced Topics" partition of the manual.
* API documentation fix for test_suite.system_tests.relax_disp.Relax_disp.setup_korzhnev_2005_data().
* Limited the optimisation time in the N_state_model.test_populations system test. This test can take a huge amount of time on Mac OS X and MS Windows (~6 seconds on Linux, ~360 seconds on Mac OS X, and ~120 seconds on MS Windows, all on similar hardware). Now the [http://www.nmr-relax.com/manual/minimise.html minimise user function ] max_iter argument is set to 2000 to speed the test up.* Increased the speed of the N_state_model.test_populations system test again. The maximum number of iterations for the [http://www.nmr-relax.com/manual/minimise.html minimise user function ] is now set to 500.
* Fix for the N_state_model.test_populations system test on Mac OS X. The optimisation on Macs is not as precise as on Linux, so the test was loosened.
* Fix for the Relax_disp.test_m61_exp_data_to_m61 system test on 32-bit Mac OS X. The optimisation precision was not great enough to find the minimum, so the grid search increments have been increased from 3 to 4.