Open main menu

Changes

Relax 3.1.0

12,146 bytes added, 13:30, 16 October 2020
{{lowercase title}}
{{infobox relax release| version = 3.1.0| prev = 3.0.2| next = 3.1.1| keywords = Initial relaxation dispersion| type = Major feature| date = 28 November 2013| manual = yes}} == Description ==
<section begin=description/>
<section end=description/>
== Download ==
<section begin=download/>
<section end=download/>
== CHANGES file ==
<section begin=metadata/>
Version 3.1.0<br/>(28 November 2013, from /trunk)<br/>
http://svn.gna.org/svn/relax/tags/3.1.0
<section end=metadata/>
=== Features ===
<section begin=features/>
* Full support for the analysis of relaxation dispersion data in the prompt, scripting, and graphical user interfaces.
* Support for [[:Category:MMQ CPMG data|single quantum (SQ), zero quantum (ZQ), double quantum (DQ), and multiple quantum (MQ) CPMG-type data]].
* Support for R<sub>1&rho;</sub>-type data.
* Support for [[:Category:MMQ CPMG data|combined proton-heteronuclear SQ, ZQ, DQ, and MQ CPMG-type data ]] (multiple-MQ or MMQ data).
* The [[R2eff]] model - used to determine the R<sub>2eff</sub> or R<sub>1&rho;</sub> values and errors required as the base data for all other models.
* The [[No Rex]] model - the model for no chemical exchange being present.
* The [[MP05]] R<sub>1&rho;</sub>-type analytic model - the Miloushev and Palmer 2005 off-resonance 2-site equation for all time scales with parameters {R<sub>1&rho;</sub>', &hellip;, p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>} [Miloushev and Palmer 2005].
* The [[NS R1rho 2-site]] R<sub>1&rho;</sub> numeric model - the model for 2-site exchange using 3D magnetisation vectors with the parameters {R<sub>1&rho;</sub>', &hellip;, p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>}.
* The [[MQ CR72]] [[:Category:MMQ CPMG data|MMQ-type ]] analytic model - the Carver and Richards 1972 2-site model for most time scales expanded for [[:Category:MMQ CPMG data |MMQ CPMG data]] by Korzhnev et al., 2004 with the parameters {R<sub>2</sub><sup>0</sup>, &hellip;, p<sub>A</sub>, &delta;&omega;, &delta;&omega;<sub>H</sub>, k<sub>ex</sub>}.* The [[MMQ 2-site]] [[:Category:MMQ CPMG data|MMQ-type ]] numeric model - the model for 2-site exchange whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed with the parameters {R<sub>2</sub><sup>0</sup>, &hellip;, p<sub>A</sub>, &delta;&omega;, &delta;&omega;<sub>H</sub>, k<sub>ex</sub>}.
* An automated protocol for relaxation dispersion which includes sequential optimisation of the models, fixed model elimination rules to remove failed models and failed MC simulations increasing both parameter reliability and accuracy [d'Auvergne and Gooley 2006], and a final run whereby AIC model selection is used to judge statistical significance.
* Additional methods to speed up the auto-analysis by skipping the grid search: Model nesting, the more complex model starts with the optimised parameters of the simpler; Model equivalence, when two models have the same parameters; And spin clustering, the analysis starts with the averaged parameter values from a completed non-clustered analysis.
<section end=features/>
=== Changes ===
<section begin=changes/>
* Started to implement relaxation dispersion system tests.
* Created the user_functions.relax_disp module by copying user_functions.relax_fit. This file now needs to be modified to suit the needs of relaxation dispersion.
* Manually created the relax_disp user functions. This is equivalent to {{relax developer link|username=semor|text=Seb's }} commit for the prompt.relax_disp module. The equivalent changes to the user_functions.relax_disp were hand edited. Added functions to select the experiment type and mathematical model used. These functions allow the user to select the experiment type (cpmg or r1rho) as well as the mathematical model to fit the data (fast or slow).
* Copied the 'relax_fit.py' script to 'relax_disp.py'. This file, obviously, will need to be modified to suit the needs of the relaxation dispersion code.
* Modified the script so it will test for fast-exchange curve fitting from CPMG data. Data and functions to treat it are still missing.
* 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 {{relax developer link|username=semor|text=Sebastien Morin's }} C code in the old relax_disp branch.* Created a very basic initial target function class for relaxation dispersion. This code is a translation of {{relax developer link|username=semor|text=Sebastien Morin's }} C code in the old relax_disp branch.
* The relaxation dispersion specific analysis code now uses the Python target function rather than the C.
* Fix for the Relax_disp.test_curve_fitting_cpmg_fast system test variable names.
* 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&rho;</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_field.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.
* The scaling flag is now initialised in the relaxation dispersion target function class.
* Created the lib.curve_fit package and associated unit tests. This will be used for holding modules such as for exponential curve-fitting required for the relaxation dispersion analysis.
* Created the new lib.curve_fit.exponential module for exponential curve-fitting. This contains the single exponential_2param_neg() function which will be used for the relaxation dispersion target functions. This is based on {{relax developer link|username=semor|text=Sebastien Morin's }} function exp_2param_neg in maths_fns.exponential.c in his dormant inversion-recovery branch.
* Typo fix for the new lib.curve_fit.exponential.exponential_2param_neg() function.
* The relaxation dispersion func_exp_fit() target function now uses exponential_2param_neg(). This is from the lib.curve_fit.exponential module.
* 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.
* Fixes for the dispersion specific _back_calc() method. This method still has a long way to go before it is of any use.
* Created a custom base_data_loop() method for the relaxation dispersion analysis. This defines the base data as the peak intensities of a single exponential curve and yields the spin container and exponential curve key identifying the individual curves.
* Activated Monte Carlo simulations for the relaxation dispersion analysis. This required a bit of work. The key parts were renaming _block_loop() to the API method model_loop() as that is exactly what the model_loop() method is supposed to do, converting a bunch of API common spin-based methods to handle dispersion clustering, and to modify existing methods from {{relax developer link|username=semor|text=Seb's }} original branch to handle the base_data_loop() method. The following methods have been added or modified. _back_calc(): This method has been modified to handle clustering and the returning of peak intensities from only one exponential curve. _exp_curve_index_from_key(): This new method is used to convert exponential curve key into the corresponding index. _intensity_key(): This new method is for converting an exponential curve key and relaxation time into the corresponding intensity key. create_mc_data(): This method is now functional and handles the data from the base_data_loop() method. return_error(): This method now handles the data from the base_data_loop() method. set_selected_sim(): This new method has been modified from the common _set_selected_sim_spin() method but modified for the model_loop() method. sim_pack_data(): This method now handles the data from the base_data_loop() method. sim_return_param(): This new method has been modified from the common _sim_return_param_spin() method to suit the model_loop(). sim_return_selected(): This new method has been modified from the common _sim_return_selected_spin() method again to suit the model_loop().
* Modified the Relax_disp.test_exp_fit system test to be faster and not create plots which it cannot.
* The Relax_disp.test_exp_fit system test now checks some of the final results.
* 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 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 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 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 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&rho;</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.
* Fix for the calculation part of the relaxation dispersion auto-analysis. This is for the fixed relaxation period data types.
* The 2D Grace plots of the exponential curves are now skipped for the fixed relaxation period data types. This is in the relaxation dispersion auto-analysis.
* Started to implement the relaxation dispersion analysis specific calculate() method. This will be used to calculate the R<sub>2eff</sub>/R<sub>1&rho;</sub> values for the fixed relaxation time period data types and is equivalent to {{relax developer link|username=semor|text=Sebastien Morin's }} relax_disp.calc_r2eff user function which was deleted (see http://thread.gmane.org/gmane.science.nmr.relax.scm/17336).
* Converted the specific_analyses.relax_disp module into its own package. This is to allow the code to be broken up into separate modules to simplify the analysis.
* Shifted out all of the variables and dispersion data specific code into separate modules. The dispersion data private methods have been converted into functions of the specific_analyses.relax_disp.disp_data module. The package variables have also been shifted into the specific_analyses.relax_disp.variables module to avoid circular imports.
* 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&rho;</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 &phi;<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 '&phi;<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&rho;</sub> analyses at a single field strength.
* Fix for the [[LM63]] dispersion model target function - the scaled &phi;<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 &nu;<sub>CPMG</sub> value or spin-lock field verses the R<sub>2eff</sub>/R<sub>1&rho;</sub> values from the experiment. The graph of the back calculated R<sub>2eff</sub>/R<sub>1&rho;</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 &le; R<sub>2eff</sub> &le; 200 and I<sub>0</sub> &ge; 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[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b]. These will be used to speed up the test suite.
* Speed up of the system tests using Flemming Hansen's CPMG data. The grid search increments, function tolerance and maximum number of iterations have all been made looser.
* Added parameter checks to the Relax_disp.test_hansen_cpmg_data_LM63 system test.
* 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&rho;</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&rho;</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> &ge; 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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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 &phi;<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> &#x226B; 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> &#x226B; 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> &#x226B; 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> &#x226B; 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> &#x226B; 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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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&rho;</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> &#x226B; 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> &#x226B; 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&rho;</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> &#x226B; 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> &#x226B; 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> &#x226B; 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> &#x226B; 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>.&delta;&omega;<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> &#x226B; 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> &#x226B; 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> &#x226B; 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> &#x226B; 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 Relax_disp.test_hansen_cpmgfit_input user function. The 't<sub>ex</sub>' parameter is now set as 'Tau'.
* 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.
* Expanded the modelling of dispersion data section of the relax user manual.
* Expansion of the modelling of dispersion data section of the relax user manual.
* The relaxation dispersion auto-analysis now outputs text and Grace files for all parameters. This is in response to [https://gna.org/bugs/?20917 bug #20917] submitted by {{relax developer link|username=tlinnet|text=Troels Linnet (https://gna.org/users/tlinnet)}}.
* The Monte Carlo simulations now generate parameter errors for the relaxation dispersion analysis. The simulation index was being ignored, hence the input data was never the randomised data and all errors were zero.
* 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]. {{relax developer link|username=tlinnet|text=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 {{relax developer link|username=tlinnet|text=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 &ge; 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 [https://gna.org/users/{{relax developer link|username=pasa |text=Paul Schanda's] }} code for the numerical solution to the Bloch-McConnell equations for 2-sites. This is specifically code which uses complex conjugate matrices. The code was submitted at http://thread.gmane.org/gmane.science.nmr.relax.devel/4132.
* Made the lib.dispersion.ns_2site_star module importable in the absence of Scipy.
* Polished the lib.dispersion.ns_2site_star module docstring.
* Added the [[NS CPMG 2-site star|NS 2-site star]] 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. This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* 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/{{relax developer link|username=pasa |text=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.
* Added the missing mpower() function as lib.linear_algebra.matrix_power.square_matrix_power(). This is needed by the lib.dispersion.ns_2site_star module. The function comes from the '[https://gna.org/support/download.php?file_id=18263 fitting_main_kex.py]' file attached to [https://{{gna.org/task/?link|7712#comment3 |comment=3|text=comment 3 of task #7712]}}. The mpower() function was copied and modified to suite relax's coding conventions.
* Added a module docstring to lib.linear_algebra.matrix_power.
* Created the lib.dispersion.ns_matrices module. This module contains a collection of functions for generating the relaxation matrices for the numerical solutions to the Bloch-McConnell equations for relaxation dispersion. The code comes from the '[https://gna.org/support/download.php?file_id=18263 fitting_main_kex.py]' file attached to https://{{gna.org/task/?url|7712#comment3|comment=3}}.
* Docstring fix for the lib.dispersion.ns_matrices.rcpmg_2d() function.
* Added the functions for creating the X-axis pi-pulse rotation matrices in lib.dispersion.ns_matrices. The code comes from the '[https://gna.org/support/download.php?file_id=18263 fitting_main_kex.py]' file attached to https://{{gna.org/task/?url|7712#comment3|comment=3}}.* Huge amounts of documentation added to the lib.dispersion.ns_2site_star module. This comes from [https://gna.org/users/{{relax developer link|username=pasa |text=Paul Schanda's] }} post at http://thread.gmane.org/gmane.science.nmr.relax.devel/4132/focus=4152
* Spacing fixes for the lib.dispersion.ns_2site_star module as determined by the 2to3 program. This is the Python 2 to 3 conversion program.
* Docstring fix for the lib.dispersion.ns_2site_star.r2eff_ns_2site_star() function.
* 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.
* Improvements for the write_results() method of the dispersion auto-analysis. The parameter value and Grace files are now correctly created for all the recent models.
* 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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.
* Converted the pi-pulse propagator matrices to numpy array format. This is to enable the use of the much faster numpy.dot() function for performing the dot products.
* Speed ups for the [[NS CPMG 2-site 3D|NS 2-site 3D]] model. The pi-pulse propagator is created only once upon target function initialisation rather than for each function call, each spin cluster, each magnetic field strength, each dispersion point, and each CPMG block.
* Modified the df, fA, and fB parameters to match the relax omega conventions of &delta;&omega;, wA, and wB. This follows from [https://gna.org/users/{{relax developer link|username=pasa |text=Paul Schanda's] }} confirmation at http://thread.gmane.org/gmane.science.nmr.relax.devel/4132/focus=4159.
* Speed up for the lib.dispersion.ns_matrices.rcpmg_3d() function. The p<sub>A</sub> and p<sub>B</sub> parameters are now sent into the function rather than being recreated by the function.
* More changes to the numerical solution dispersion code to match relax's conventions. This includes the changes of df->&delta;&omega;, 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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, {{relax developer link|username=pasa|text=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/?url|7712#comment2 |comment=2}} 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/{{relax developer link|username=pasa |text=Paul Schanda]}}, and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://{{gna.org/task/?url|7712#comment2 |comment=2}} 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 dispersion auto-analysis write_results() method for the recent model changes.
* 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 &delta;&omega; 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.
* Updated the numeric model results for the software_comparison file.
* Updated the relax results for Flemming Hansen's truncated CPMG data. This includes the [[CR72 full]] model and all the numeric models (excluding the *full models).
* Added Dominique Marion to the copyright notices of all the lib/dispersion/ns_*.py files. This is in response to [https://gna.org/users/{{relax developer link|username=pasa |text=Paul Schanda's] }} message at http://thread.gmane.org/gmane.science.nmr.relax.devel/4225/focus=4226.
* Small fix for the relax_disp.cluster documentation.
* Added the new pre_run_dir argument to the relaxation dispersion auto-analysis. This is to enable clustered optimisation. This specifies a directory containing a completed analysis. The parameters from this previous run will be used as the starting point for optimisation of the clustered analysis.
* 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&rho;</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&rho;</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&rho;</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&rho;</sub>' calculating function to the relax library. This is the Trott and Palmer 2002 R<sub>1&rho;</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&rho;</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&rho;</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.
* Started to create the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test.
* A fix for older numpy versions, as the numpy.add() function argument 'out' is relatively new.
* Added the new [[TSMFK01]] model to the specific_analyses\relax_disp\variables.py module. This is the Tollinger/Kay model for the 2-site very-slow exchange model for CPMG-type experiments, which cover the range of microsecond to second time scale. Paper by M. Tollinger, N.R. Skrynnikov, F.A.A. Mulder, J.D.F. Kay and L.E. Kay (2001). Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* lib/dispersion/lm63.py is copied to tsmfk01.py as part of the implementation of the [[TSMFK01]] model equation. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 -Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the [[TSMFK01]] model to the user_functions/relax_disp.py select_model user function frontend. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Created the [[TSMFK01]] model target function for 2-site very-slow exchange model, range of microsecond to second time scale. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the [[TSMFK01]] model equations to the relax library lib/dispersion/tsmfk01.py. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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&rho;</sub> data.* Copyright of {{relax developer link|username=semor|text=Sebastien Morin }} and {{relax developer link|username=bugman|text=Edward d'Auvergne }} re-inserted, since tsmfk01 is an alteration of lm63.py and m61.py in same directory. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix for converting &delta;&omega; from ppm to rad/s. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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 {{relax developer link|username=tlinnet|text=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&rho;</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&rho;</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&rho;</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.
* Turned off clustering in the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test. This speeds the test up by more than half.
* Fix for the [[TP02]] dispersion model. The rotating frame tilt angle for this model is calculated from the population averaged chemical shift and not the equal weighted average.
* Attempt at fixing [https://gna.org/bugs/?21080 bug #21080]. This was reported by {{relax developer link|username=tlinnet|text=Troels Linnet}}. The problem is a standard GUI problem. The text from a wxPython GUI is a Unicode string. But relax requires standard strings. Therefore the gui.string_conv.gui_to_str() function needs to be used on the return value of the GUI element GetValue() method, but this call was forgotten.
* Fix for the synthetic data for the [[TP02]] dispersion model. The chemical shift is being set to that of state A, the major species, rather than the non-weighted chemical shift average. This could also have been set to the population weighted average.
* The [[TP02]] dispersion model now assumes the chemical shift is that of the major population A. Previously the linear chemical shift average was assumed.
* 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&rho;</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&rho;</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&rho;</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&rho;</sub> calculating function to the relax library. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1&rho;</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/?url|7712#comment5|comment=5}}). 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&rho;</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/?url|7712#comment5|comment=5}}). 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&rho;</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/?url|7712#comment5|comment=5}}). 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&rho;</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/?url|7712#comment5|comment=5}}). 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 save file for the r1rho_off_res_tp02 dispersion data optimised to the [[R2eff]] model. This will be used for faster system tests.
* Alphabetical ordering of all of the Relax_disp system tests.
* 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&rho;</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&rho;</sub> data.
* Changed the chemical shift icon to that of the chemical shift in ppm units - the &delta; 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&rho;</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.
* Fix for the Relax_disp.test_hansen_cpmgfit_input system test. The '#:@' characters are no longer used in the file names.
* Updates to the Relax_disp system tests for the lower precision of MS Windows. These fixes allow the tests to pass on MS Windows.
* Renamed ka parameter to kA, to be consistent with naming conventions. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix for r20 should be called r20a. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix for unpacking the parameters correctly. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Added the k<sub>AB</sub> and k<sub>BA</sub> parameters to the table of all dispersion parameters.
* Proper ordering of all the dispersion models. See the thread at http://thread.gmane.org/gmane.science.nmr.relax.devel/4498 for details.
* Added the [[NS R1rho 2-site]] model to the dispersion auto-analysis.
* Added the [[TP02]] model to the dispersion auto-analysis.
* 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-[[Tutorial for adding relaxation dispersion models to 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: [[Tutorial for adding relaxation dispersion models to relax]].* Added the [http://wikiwww.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relaxmanual/relax_disp_spin_lock_offset.* Added the html relax_disp.spin_lock_offset user function ] to the peak intensity wizard of the GUI. This is only for R<sub>1&rho;</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&rho;</sub> analysis is functional in the GUI.
* Unicode strings in the dispersion GUI elements is now set up with the compat.u() function.
* Fix for the y-axis in the per spin dispersion curve plots. This fix follows from the thread http://thread.gmane.org/gmane.science.nmr.relax.devel/4512. The test for CPMG-type data was incorrect and should use the CPMG_EXP variable.
* Added setup function for the system test of KTeilum_FMPoulsen_MAkke_2006 data. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Fixed a spelling mistake in a number of file names. This is for the test suite data located at test_suite/shared_data/dispersion/KTeilum_FMPoulsen_MAkke_2006.
* Fixes for the units in the dispersion parameter table in the user manual. The units for &delta;&omega; are rad.s<sup>-1</sup> when used in the equations, but it is stored internally as ppm.
* Truncated the dataset to only one residue L61. The truncated dataset will be expanded later. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Modified the script file for saving of a truncated base_pipe state file. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added script files for generating a saved state file with R<sub>2eff</sub> values. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the first system test for model [[CR72]] for the kteilum_fmpoulsen_makke_cpmg_data. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix trailing spaces. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix epydoc HTML markup code. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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&rho;</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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fixed typo. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the truncated test data for system test: relax -s Relax_disp.test_kteilum_fmpoulsen_makke_cpmg_data_to_cr72. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Created a relax save file with just R<sub>2eff</sub> values for the r1rho_on_res_m61 dispersion system tests data.
* Created 3 new dispersion system tests. These are for checking a new function that doesn't exist yet. The get_curve_type() function will be used to determine if the experiment corresponding to the given ID consists of exponential curves or of fixed time data.
* Fixed values for system test: relax -s Relax_disp.test_kteilum_fmpoulsen_makke_cpmg_data_to_cr72. The test now passes. The values are compared to a relax run with 500 Monte Carlo simulations. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added "[[CR72 full]]" test suite for kteilum_fmpoulsen_makke_cpmg_data. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added file which setup a truncated spin system. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Changed the initialization script to use the truncated spin system. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Changed the saved states to the truncated spin system. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix for the residue index in the test suite when using the truncated spin system. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* The R<sub>2eff</sub> result save file for the r1rho_on_res_m61 dispersion data now contains the full data set. The previous file did not contain the full exponential curves.
* The get_curve_type() function now works with the spectrum ID. This specific_analyses.relax_disp.disp_data.get_curve_type() function already existed but it operated on all the loaded data. Now it can handle a single spectrum ID. The count_relax_times() function has been added to aid get_curve_type().
* 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Modified the script for the full analysis of all models of CPMG type. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Simplified the dispersion experiment type classes. 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. The EXP_TYPE_* dispersion variables have all changed and many have now been lost. To support the changes, the new specific_analyses.relax_disp.disp_data.loop_spectrum_ids() function has been created. This is a loop over all spectrum IDs whereby the experiment type, magnetic field strength, dispersion point, or relaxation time can be specified to isolate ID subsets. Many of the specific_analyses.relax_disp.checks.check_*() has also been modified as their logic no longer works. The auxiliary get_times() function has been added to create a per-experiment dictionary of relaxation times so that the checks can be independent of the other dispersion modules.
* Updated much of the dispersion test data. The experiment type has been changed in all the scripts and the relax save files updated.
* Fixed expydoc formatting. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Created some more specific_analyses.relax_disp.checks.check_*() functions. This is for better checking of the dispersion data. The check_spectra_id_setup() is useful for checking that all of the spectrum information is set up.
* The checks prior to minimisation of the dispersion models is now more comprehensive.
* Fixes for some of the R<sub>1&rho;</sub> dispersion system test scripts. The relaxation time must be set for the reference spectrum.
* 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: [[Tutorial for adding relaxation dispersion models to relax]].* More fixes for the [http://wikiwww.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relaxmanual/relax_disp_exp_type.* More fixes for the 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.
* Increased the size of the dispersion model list GUI window so that all models fit without scrolling.
* Refinement of the dispersion model list in the GUI. Descriptions have been added and the fixed window size adjusted to the best fit.
* Modified system test after inclusion of 1M GuHCl dataset. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Moved files into folder which is specific for the experiment. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Changed scripts after moving data. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Re-run of data after movement of scripts. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added dataset experiment in 1.01 M GuHCl (guanidine hydrochloride). Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added to the README file for the 1.01 M GuHCL experiment. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Modified doc string for the script analysing all models for residue L61. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the output from relax after analysis of all models. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Removed the size variable from the dispersion model list GUI window as it is no longer used.
* Added the k<sub>AB</sub> and k<sub>BA</sub> conversion equations to the dispersion parameter table in the user manual.
* Changed reference to Tollinger et al. instead of Tollinger/Kay. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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&rho;</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.
* Some small speed ups for the [[TP02]] R<sub>1&rho;</sub> dispersion model optimisation. Some unneeded calculations and aliases were removed.
* Added the write-out of '&delta;&omega;' and 'k<sub>AB</sub>' for model [[TSMFK01]], when performing auto-analysis. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added to calculate the tau_cpmg times when model is [[TSMFK01]]. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Optimized the target function for model TSMFK. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the conversion to k<sub>AB</sub> from k<sub>ex</sub> and p<sub>A</sub>. k<sub>AB</sub> = k<sub>ex</sub> * (1.0 - p<sub>A</sub>). Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Some more speed ups for the R<sub>1&rho;</sub> dispersion models. For many models, the square of the spin-lock field strength is a part of the equations. Therefore this is now pre-calculated when the target function is initialised.
* Added the relaxation dispersion documentation to all of the value user function documentation.
* Added a sample script for an off-resonance R<sub>1&rho;</sub> dispersion analysis.
* Created the empty specific_analyses.relax_disp.optimisation module. This will contain functions and other objects relating to the optimisation of the dispersion models.
* Fixed bug, where k<sub>ex</sub> to k<sub>AB</sub> where not possible if the model does not contain parameter p<sub>A</sub>. The conversion is now skipped. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added the conversion to k<sub>BA</sub> from k<sub>ex</sub> and p<sub>A</sub>. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added system test for testing conversion to k<sub>BA</sub> from k<sub>ex</sub> and p<sub>A</sub>. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix for passing system test on Windows with Python 32. Precision lowered by 2 decimals. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Modified headers for scripts producing analysis for data which is full or truncated. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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 {{relax developer link|username=varioustoxins|text=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.
* Deselected most of the default dispersion models from the dispersion GUI model list. Now only one analytic and numeric model is selected per experiment type. This is to hint to the user that maybe they shouldn't just use all models.
* Added desc. item for model [[TSMFK01]]. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added [[TSMFK01]] to model overview table. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added subsection with [[TSMFK01]] model. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fix for adding [[TSMFK01]] to sample scripts. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to 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 sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Added Tollinger model [[TSMFK01]] to sample scripts. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].* Fixed several typo errors of "Is it selected"->"It is selected". A copy-paste error which has spread. Progress sr #3071: [https://gna.org/support/?3071 sr #3071 - Implementation of Tollinger/Kay dispersion model (2001)]. Following the guide at: http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax]].
* Spacing fixes for the Tollinger01 Bibtex entry for the author initials.
* Removed some strange characters from the Tollinger01 Bibtex abstract.
* Enabled the parallelisation of Monte Carlo simulations for the relaxation dispersion analysis.
* Created a set of scripts for testing out the multi-processor abilities of the dispersion analysis.
* Added Remco Sprangers' truncated ClpP data to test_suite/shared_data/dispersion/Spranger_ClpP. This is the data attached to https://{{gna.org/task/?url|7712#comment6|comment=6}}, and it will be used for testing the implementation of the [[NS MMQ 2-site|MQ NS 2-site]] model, when added to relax.
* Concatenated the peak intensity files.
* Created a relax script for analysing Remco Sprangers' ClpP data with the [[NS MMQ 2-site|MQ NS 2-site]] model. This currently does not work, as the model is absent.
* Created the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test. This checks the [[NS MMQ 2-site|MQ NS 2-site]] model against Remco Sprangers' MQ CPMG data using the auto-analysis.
* 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-[[Tutorial for adding relaxation dispersion models to 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_front_end 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&rho;</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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_back_endselect model user function back end]].* Added support for the new '&delta;&omega;<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 [[Tutorial for adding relaxation dispersion models to relax#Adding support for the parameters]].* Improved the RelaxError from the [http://wikiwww.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_support_for_the_parametersmanual/relax_disp_exp_type.* Improved the RelaxError from the html relax_disp.exp_type user function ] when an invalid experiment type is set.* Added the multi-quantum CPMG and R<sub>1&rho;</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- [[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating a new experiment type]].
* Added relaxation dispersion model lists for the MQ R<sub>1&rho;</sub> models. These are stubs as no MQ R<sub>1&rho;</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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_functionThe target function]].* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] R<sub>1&rho;</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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_libraryThe relax library]].
* Updated the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model target function to match the function in the relax library.
* Decreased the grid increments in the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test. This is to speed up this test.
* Some small changes for the script for optimising Sprangers' ClpP MQ CPMG data.
* Added the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to the dispersion auto-analysis. 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_autoThe auto-analysis]].* 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUIThe 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 &delta;&omega;<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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manualThe relax manual]].
* Simplified the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model code in lib.dispersion.
* Fixes for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model equations in the user 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 &delta;&omega; and &delta;&omega;<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&rho;</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.
* Artificially increased the errors in Sprangers ClpP data to match the publication. The R<sub>2eff</sub> errors are simply multiplied by 5, as the errors from the paper cannot be replicated.
* Converted the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test to not use the auto-analysis. The test has been renamed to Relax_disp.test_sprangers_data_to_mq_ns_cpmg_2site. The optimisation is now for the cluster and has been severely cut back. The [[NS MMQ 2-site|MQ NS CPMG 2-site]] model appears to be rubbish anyway - it looks to be indeterminate with multiple solutions, and possibly infinite lines of solutions. The test now passes, and quickly.
* 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suiteThe 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_listAdding 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_front_endselect 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_back_endselect 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- [[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_functionThe 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_libraryThe relax library]]. The corresponding target function was updated to input the correct arguments.* Added the [[MQ CR72]] model to the dispersion auto-analysis. 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_autoThe auto-analysis]].* Added the [[MQ CR72]] model to the GUI model list. 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUIThe GUI]].
* A number of fixes for the lib.dispersion.mq_cr72 module.
* The lib.dispersion.mq_cr72 module now more closely resembles the cr72 module in syntax.
* Added the Tollinger et al., 2001 reference for the [[NS CPMG 2-site expanded]] model. This reference was communicated in a private email.
* Improvements for the LaTeX maths commands used in the dispersion chapter of the user manual.
* Added Skrynnikov and Tollinger to the copyright notice in lib/dispersion/ns_cpmg_2site_star.py. I can now see that the code derives from the funNumcpmg.m of the sim_all.tar file (https://gna.org/support/download.php?file_id=18404) attached to https://{{gna.org/task/?url|7712#comment5|comment=5}}. This sim_all.tar file is the original code of Nikolai and Martin.
* Modified the relaxation dispersion auto-analysis to take nesting of MQ models. This is specifically the nesting of the analytic [[MQ CR72]] model and the [[NS MMQ 2-site|MQ NS CPMG 2-site]] models. The analytic solution is now used as the optimisation starting point for the numeric model.
* Used the \imath LaTeX symbol for complex numbers in the dispersion chapter of the manual.
* Added scripts and results for optimising Sprangers' ClpP MQ CPMG data to the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model. This includes two scripts for non-clustered followed by clustered analysis using the [[MQ CR72]] model in the auto-analysis so its parameters will be used as the optimisation starting point for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model. The results files for both scripts have been added to the repository.
* Added the [[MQ CR72]] model to the relax user manual. 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manualThe relax manual]].
* Modified the &delta;&omega;<sub>H</sub> symbol in the relax user manual.
* Created a 'TODO' section in the dispersion chapter of the relax user manual. This lists all of the features and models currently missing from the dispersion analysis in relax.
* Added the original Maple script to the lib.dispersionns_cpmg_2site_expanded module docstring for reference. This was sent by Nikolai in a private communication.
* More expansion of the lib.dispersionns_cpmg_2site_expanded module docstring for reference. The link https://{{gna.org/task/?url|7712#comment8 |comment=8}} to the p3.analytical script in the Gna! tasks has been added and the contents of the sim_all.tar file funNikolai.m has been copied into the docstring as well.
* Epydoc docstring fixes to allow the API documentation to be properly compiled.
* Python 3 fix for the lib.dispersion.mq_ns_cpmg_2site module. The numpy.linalg.matrix_power requires an integer power, but Python 3 was creating a floating point number for the 'fact' variable.
* 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&rho;</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.
* Fix for the [[NS CPMG 2-site expanded]] model equations in the manual.
* 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 &nu;<sub>1</sub> values in the dispersion GUI tab. This was reported by {{relax developer link|username=tlinnet|text=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&rho;</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.
* Started the conversion of the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model to [[MMQ 2-site]]. This follows from the post at http://article.gmane.org/gmane.science.nmr.relax.devel/4734.
* Renamed all of the [[NS MMQ 2-site|MQ NS CPMG 2-site]] modules and functions for the change to [[MMQ 2-site]]. This follows from the post at http://article.gmane.org/gmane.science.nmr.relax.devel/4734.
* Added the ZQ and DQ CPMG experiment types to the dispersion variables. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model change to [[MMQ 2-site]] and follows from the post at http://article.gmane.org/gmane.science.nmr.relax.devel/4734. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating a new experiment type]].
* Created two new dispersion variables - EXP_TYPE_LIST_CPMG and EXP_TYPE_LIST_R1RHO. This will be used to simplify identifying CPMG vs. R<sub>1&rho;</sub> data types.
* Added support for the ZQ and DQ CPMG 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 change to [[MMQ 2-site]] and follows from the post at http://article.gmane.org/gmane.science.nmr.relax.devel/4734. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating a new experiment type]].* Completed the support for ZQ and DQ CPMG experiment types in relax. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model change to [[MMQ 2-site]] and follows from the post at http://article.gmane.org/gmane.science.nmr.relax.devel/4734. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_typeCreating a new experiment type]].
* The [[MMQ 2-site]] model target function can now handle multiple CPMG data types.
* Added dispersion curve plotting to the relax script for Korzhnev et al., 2005 [[:Category:MMQ CPMG data|MMQ data]].
* Turned off the &delta;&omega;, &delta;&omega;<sub>H</sub> > 0 constraint for the [[MMQ 2-site]] model.
* Added a page reference back to the intro chapter in the scripting section of the dispersion chapter. This is to help the user work out how to run a relax script.
* 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&rho;</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&rho;</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&rho;</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 &nu;<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.
* Better [[:Category:MMQ CPMG data |MMQ data]] support for the dispersion specific loop_cluster() function. For the models using proton-heteronuclear multi-multiple quantum data, proton spin containers are now skipped as all the data will be analysed from the perspective of the heteronucleus.
* Conversion of the format of the relaxation dispersion R<sub>2eff</sub>/R<sub>1&rho;</sub> data structures. These are now lists of lists of lists of numpy arrays instead of pure numpy rank-4 arrays. This only affects a number of related data structures in the dispersion target function class. The main purpose is to prepare to have a different number of dispersion points per experiment, per spin, and per spectrometer frequency.
* The return_cpmg_frqs() and return_spin_lock_nu1() dispersion functions now return lists of lists of arrays. The dispersion data structures are now experiment and spectrometer frequency dependent. Therefore the number of dispersion points can now be different for each.
* Updated some ShereKhan language details in the dispersion software comparison table of the manual.
* The dispersion GUI analysis now uses graphics.fetch_icon() for all icons. The gui.paths module no longer exists.
* 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-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suiteThe test suite].* Added the [[MP05]] model to the dispersion variables. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_listAdding 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_front_endselect 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_back_endselect model user function back end]].* Created the [[MP05]] model target function. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr- [[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_functionThe 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_libraryThe 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.* Debugging of the [[MP05]] dispersion model - optimisation is now setup correctly. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.html#Debugging]].* Fixes and improvements to the Relax_disp.test_tp02_data_to_mp05 system test. The [[MP05]] model values, which are almost the same as the [[TP02]] model parameters, are now being checked. The optimised parameters are now being printed out to aid in debugging. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.html#Debugging]].
* Speed ups of the Relax_disp.test_tp02_data_to_tp02 and Relax_disp.test_tp02_data_to_mp05 system tests. The optimisation precision and number of Monte Carlo simulations have both been dropped.
* Added the [[MP05]] model to the GUI model list. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUIThe GUI]].* Added the [[MP05]] model to the dispersion auto-analysis. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_autoThe auto-analysis]].* Added the [[MP05]] model to the relax user manual. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manualThe relax manual]]. The [[MP05]] model was already partly in the manual, however it was listed as unimplemented. All of the tables and the dispersion chapter text has been updated for the model.* Modified the R1rho_analysis.py sample script to use the [[MP05]] model. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_sample_scriptsThe sample scripts]].
* The limitations of the 'TP03' dispersion model are now listed in the user manual.
* The [[MP05]] and [[NS R1rho 2-site]] are now nested in the dispersion auto-analysis. As the [[MP05]] model is valid across all times scales and does not require skewed populations, its optimised parameters can be used as the starting point of optimisation of the [[NS R1rho 2-site]] numeric model. This results in huge speed ups of the numeric model as previously a grid search was being performed.
* Removed all remnants of the MQ R<sub>1&rho;</sub> data type. This data type does not exist and was mostly removed, but some small bits remained.
* Created the Relax_disp.test_tp02_data_to_tap03 system test. This is the Trott et al, 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_listAdding 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_front_endselect 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_dispThe relax disp.select_model_user_function_back_endselect model user function back end]].* Created the [[TAP03]] model target function. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr- [[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_functionThe 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&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_libraryThe relax library]].* Debugging of the [[TAP03]] dispersion model - optimisation is now setup correctly. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.html#Debugging]].* Debugging of the [[TAP03]] dispersion model. Removed a Unicode character from the lib.dispersion.tap03 module docstring to allow it to be used in Python 2. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.html#Debugging]].
* The lib.dispersion.tap03 module can now handle negative &gamma; values. This avoids fatal errors during optimisation.
* Many fixes for the lib.dispersion.tap03 module to match the original equations. The [[TAP03]] model solution is now similar to those of [[TP02]] and [[MP05]].
* Updated the Relax_disp.test_tp02_data_to_tap03 system test numbers to match the optimised values. These were so close to the [[MP05]] model values that the test was passing anyway.
* Added the [[TAP03]] model to the GUI model list. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUIThe GUI]].* Added the [[TAP03]] model to the dispersion auto-analysis. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_autoThe auto-analysis]].* Added the [[TAP03]] model to the relax user manual. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-[[Tutorial for adding relaxation dispersion models to relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manualThe relax manual]]. The [[TAP03]] model was already partly in the manual, however it was listed as unimplemented. All of the tables and the dispersion chapter text has been updated for the model.
* Added the [[TAP03]] and [[MP05]] models to the abbreviations in the user manual.
* Improvements to all of the R<sub>1&rho;</sub> model descriptions in the dispersion chapter of the manual.
* Added a placeholder for the relaxation dispersion citation to the citation chapter of the manual. The bibtex entry for this will need to be updated later once the citation is published.
* Added support for <sup>1</sup>H SQ CPMG data for the [[:Category:MMQ CPMG data|MMQ-type ]] dispersion models. The key is to skip the protons in the spin cluster loops and to instead find the proton spin containers attached to the heteronuclei of the spins of the cluster. The EXP_TYPE_PROTON_SQ_CPMG and EXP_TYPE_PROTON_MQ_CPMG experiment type variables have been created to aid this. The MODEL_LIST_MMQ list variable has also been created to more consistently identify the [[:Category:MMQ CPMG data|MMQ-type ]] dispersion models. The has_disp_data() function has been created to simplify the finding of dispersion data for a given cluster, experiment type, spectrometer frequency and dispersion point. The has_proton_sq_cpmg() and has_proton_mq_cpmg() are used to determine if there is proton dispersion data for the given heteronucleus. The loop_exp() function has been modified to yield the proton SQ and MQ data if present. Similarly the num_exp_types() and return_index_from_exp_type() functions exhibit different behaviour if this data is present. The return_r2eff_arrays() function now assembles all of the proton data on top of the heteronuclear data by fetching the protons attached to the heteronuclei and aliasing the correct spin for the given experiment type.
* Updated the relaxation dispersion target functions. The input data structures have changed type.
* 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)"2005a]. 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.
* Added a relax script to optimise just the <sup>15</sup>N SQ CPMG data from Korzhnev et al., 2005. The corresponding log file has also been added to the repository.
* Created the Relax_disp.test_korzhnev_2005_15N_sq_data system test. This is used to check the optimisation of the <sup>15</sup>N SQ CPMG data using the [[MMQ 2-site]] model.
* Fixes for the cpmg_fit results for all of the data from Korzhnev et al., 2005. The &delta;&omega;<sub>H</sub> value must start negative, otherwise optimisation will fail to find the correct minimum.
* Created a Grace graph for the <sup>1</sup>H SQ data fitting of cpmg_fit.
* The dispersion specific overfit_deselect() method now handles the [[:Category:MMQ CPMG data|MMQ-type ]] models better.
* The [[MMQ 2-site]] dispersion model can now be optimised if no heteronuclear R<sub>2eff</sub> data is loaded.
* Many more fixes for the [[:Category:MMQ CPMG data|MMQ-type ]] dispersion models for the proton spin data.
* Added many new relax results for the CPMG data form Korzhnev et al., 2005.
* The R<sub>2eff</sub> data key has been changed in the dispersion analysis. The experiment type has been added to the key so that R<sub>2eff</sub> data is not mixed up when data from multiple experiments is present.
* 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 &nu;<sub>CPMG</sub> values need to be doubled and then divided by 1e<sup>3</sup> to obtain the 1/&tau;<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 &nu;<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) * &nu;<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.
* One last fix for the dispersion analysis for the changes of the model_loop() method.
* Updated the relax script for optimising Flemming Hansen's CPMG 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/calc.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/calc.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.
* Converted the [[MQ CR72]] dispersion model to handle [[:Category:MMQ CPMG data|MMQ data]]. This model can now handle proton-heteronuclear SQ, ZQ, DQ, and MQ CPMG-type data. Some debugging might still be required.
* 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 &nu;<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.
* Updated the spin-lock field strength data structures to be experiment and field specific. This allows different spin-locks to be used as different field strengths, or different experiments. It brings the structures in line with those for CPMG-type experiments.
* 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 &tau;<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.
* Improvements to the data-type labelling in the dispersion chapter of the user manual.
* The dispersion model GUI window is now set to a reasonable size for most screens. The scrolled panel now allows all contents to be shown while having the window smaller than its contents. The height of 750 pixels should be visible on the majority of computer monitors. According to Google Analytics, ~13% of visits to http://www.nmr-relax.com have screen resolutions of 1366x768, therefore the dispersion model list window should now not be bigger than their screens.
* Merged the [[MQ CR72]] dispersion model into the [[:Category:MMQ CPMG data|MMQ data type ]] sections in the tables of the manual.
* Implemented model elimination for the relaxation dispersion analysis. This currently uses the p<sub>A</sub> limits of 0.501 < p<sub>A</sub> < 0.999 to determine if a model has failed. To implement this, the dispersion API methods deselect(), eliminate(), get_param_names() and get_param_values() were written. These were copied from the model-free analysis and modified as needed.
* Model elimination is now activated in the dispersion auto-analysis.
* 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.
<section end=changes/>
=== Bugfixes ===
<section begin=bugfixes/>
<section end=bugfixes/>
== Links == <section begin=links/>For reference, the following links are also part of the announcement for this release:* [http://wiki.nmr-relax.com/Relax_3.1.0 Official release notes]* {{gna link|url=gna.org/forum/forum.php?forum_id=2421|text=Gna! news item}}* [http://article.gmane.org/gmane.science.nmr.relax.announce/46 Gmane]* [https://mail.gna.org/public/relax-announce/2013-11/msg00001.html Local archives]* [http://marc.info/?l=relax-announce&m=138567559410394&w=2 MARC]<section end=links/> == Announcements ==
{{:relax release announcements}}
== References ==
<section start=references/>* [*Carver and Richards 1972] Carver, J. P. and Richards, R. E. (1972). General 2-site solution for chemical exchange produced dependence of T2 upon Carr-Purcell pulse separation. ''J. Magn. Reson.'', '''6'''(1), 89-105. (DOI [http{{#lst://dx.doi.org/10.1016/0022-2364(72)90090-X 10.1016/0022-2364(72)90090-X]).Citations|CarverRichards72}}* [*d'Auvergne and Gooley 2006] {{#lst:Citations|dAuvergneGooley06}}* [*d'Auvergne, E. J. and Gooley, P. R. (2006). Model-free model elimination2007] {{#lst: A new step in the model-free dynamic analysis of NMR relaxation data. ''J. Biomol. NMR'Citations|dAuvergneGooley07}}* [*d'Auvergne and Gooley, '''35'''(2), 117-135. (DOI [http2008b] {{#lst://dx.doi.org/10.1007/s10858-006-9007-z 10.1007/s10858-006-9007-z]).Citations|dAuvergneGooley08b}}* [*Davis et al., 1994] Davis, D. G., Perlman, M. E., and London, R. E. (1994). Direct measurements of the dissociation-rate constant for inhibitor-enzyme complexes via the T1rho and T2 (CPMG) methods. ''J. Magn. Reson.'', '''104'''(3), 266-275. (DOI [http{{#lst://dx.doi.org/10.1006/jmrb.1994.1084 10.1006/jmrb.1994.1084]).Citations|Davis94}}* [*Ishima and Torchia 1999] Ishima, R{{#lst:Citations|IshimaTorchia99}}* [*Korzhnev et al. and Torchia, D. A. (2005). Error estimation and global fitting in transverse-relaxation dispersion experiments to determine chemical-exchange parameters. ''J. Biomol. NMR'', '''32'''(1), 41-54. (DOI [http2005a] {{#lst://dx.doi.org/10.1007/s10858-005-3593-z 10.1007/s10858-005-3593-z]).Citations|Korzhnev05a}}* [*Luz and Meiboom 1963] Luz, Z. and Meiboom, S. (1963). Nuclear magnetic resonance study of protolysis of trimethylammonium ion in aqueous solution - order of reaction with respect to solvent. ''J. Chem. Phys.'', '''39'''(2), 366-370. (DOI [http{{#lst://dx.doi.org/10.1063/1.1734254 10.1063/1.1734254]).Citations|LuzMeiboom63}}* [*Meiboom 1961] Meiboom, S. (1961). Nuclear magnetic resonance study of proton transfer in water. ''J. Chem. Phys.'', '''34'''(2), 375-388. (DOI [http{{#lst://dx.doi.org/10.1063/1.1700960 10.1063/1.1700960]).Citations|Meiboom61}}* [*Miloushev and Palmer 2005] Miloushev, V. Z. and Palmer, 3rd, A. G. (2005). R(1rho) relaxation for two-site chemical exchange: general approximations and some exact solutions. ''J. Magn. Reson.'', '''177'''(2), 221-227. (DOI [http{{#lst://dx.doi.org/10.1016/j.jmr.2005.07.023 10.1016/j.jmr.2005.07.023]).Citations|MiloushevPalmer05}}* [*Morin et al., 2014] Morin, S., Linnet, T. E., Lescanne, M., Schanda, P., Thompson, G. S., Tollinger, M., Teilum, K., Gagne, S., Marion, D., Griesinger, C., Blackledge, M., and d'Auvergne, E. J. (2014). relax{{#lst: the analysis of biomolecular kinetics and thermodynamics using NMR relaxation dispersion data. ''Bioinformatics'', '''30'''(15), 2219-2220. (DOI [http://dx.doi.org/10.1093/bioinformatics/btu166 10.1093/bioinformatics/btu166]).Citations|Morin14}}* [*Tollinger et al., 2001] Tollinger, M., Skrynnikov, N. R., Mulder, F. A. A., Forman-Kay, J. D., and Kay, L. E. (2001). Slow dynamics in folded and unfolded states of an sh3 domain. ''J. Am. Chem. Soc.'', '''123'''(46), 11341-11352. (DOI [http{{#lst://dx.doi.org/10.1021/ja011300z 10.1021/ja011300z]).Citations|Tollinger01}}* [*Trott and Palmer 2002] Trott, O. and Palmer, 3rd, A. G. (2002). R1rho relaxation outside of the fast-exchange limit. ''J. Magn. Reson.'', '''154'''(1), 157-160. (DOI [http{{#lst://dx.doi.org/10.1006/jmre.2001.2466 10.1006/jmre.2001.2466]).Citations|TrottPalmer02}}* [*Trott et al., 2003] Trott, O., Abergel, D., and Palmer, A. (2003). An average-magnetization analysis of R-1 rho relaxation outside of the fast exchange. ''Mol. Phys.'', '''101'''(6), 753-763. (DOI [http{{#lst://dx.doi.org/10.1080/0026897021000054826 10.1080/0026897021000054826]).<section end=references/>Citations|Trott03}}
<HarvardReferences />
== See also ==
* [http://www.nmr-relax.com/api/3.1/ The relax 3.1 API documentation]
{{:relax release see also}}
[[Category:Relaxation_dispersionMMQ CPMG data]][[Category:Relaxation dispersion analysis]]
Trusted, Bureaucrats
4,223

edits