Open main menu

Changes

Relax 3.1.0

2,809 bytes added, 15:22, 8 September 2014
Internal links to the dispersion models.
* The [[M61]] R<sub>1&rho;</sub>-type analytic model - the Meiboom 1961 2-site fast exchange equation for on-resonance data with parameters {R<sub>1&rho;</sub>', ..., &phi;<sub>ex</sub>, k<sub>ex</sub>} [Meiboom 1961].
* The [[M61 skew]] R<sub>1&rho;</sub>-type analytic model - the Meiboom 1961 2-site equation for all time scales with p<sub>A</sub> &#x226B; p<sub>B</sub> and with parameters {R<sub>1&rho;</sub>', ..., p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>} [Meiboom 1961].
* The [[DPL94]] R<sub>1&rho;</sub>-type analytic model - the Davis et al., 1994 2-site fast exchange equation extending the '[[M61' ]] model for off-resonance data with parameters {R<sub>1&rho;</sub>', ..., &phi;<sub>ex</sub>, k<sub>ex</sub>} [Davis et al., 1994].
* The [[TP02]] R<sub>1&rho;</sub>-type analytic model - the Trott and Palmer 2002 2-site equation for all time scales with p<sub>A</sub> &#x226B; p<sub>B</sub> and with parameters {R<sub>1&rho;</sub>', ..., p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>} [Trott and Palmer 2002].
* The [[TAP03]] R<sub>1&rho;</sub>-type analytic model - the Trott et al., 2003 off-resonance 2-site equation for all time scales with the weak condition p<sub>A</sub> &#x226B; p<sub>B</sub> and with parameters {R<sub>1&rho;</sub>', ..., p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>} [Trott et al., 2003].
* 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 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 value.copy user function.
* Created the 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 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 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.
* 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 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 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.
* Redesign of the relaxation dispersion models in the 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 some RelaxError printouts in the relaxation dispersion specific code.
* The relaxation dispersion class variables for the experiment types are now used for all comparisons. This should avoid random bugs.
* Modified the printouts of the 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.
* Changed the Grace string for the rex parameter to be &phi;<sub>ex</sub>.
* Converted all of the specific_analyses.relax_disp.parameters module to handle different models. The R<sub>2eff</sub> and I<sub>0</sub> parameters are now only part of the '[[R2eff' ]] model and all other standard parameters belong to all of the other models.
* Shifted all of the constant relaxation dispersion variables into the specific module. All of the dispersion code now uses the variables of specific_analyses.relax_disp.variables.
* Renamed the lib.dispersion.equations.fast_2site() function to r2eff_LM63(). The number of relaxation times has also been replaced by the number of dispersion points.
* Added the return_cpmg_frqs() and return_spin_lock_nu1() functions to specific_analyses.relax_disp.disp_data.
* Updates to the relaxation dispersion auto-analysis. The Grace plots created are now more dependent on the current model, so that dispersion curves are only created for the '[[R2eff' ]] model. The specific_analyses.relax_disp.variables module is now also being used.
* Started to redesign the relaxation dispersion target function class. The input data is now expected to be R<sub>2eff</sub>/R<sub>1&rho;</sub> data and all mentions of exponential curves have been eliminated. The func_exp_fit() target function has been deleted as it is not used - as now the _minimise_r2eff() method in the dispersion specific analysis class is used instead. And the func_fast_2site() target function has been renamed to func_LM63().
* Redesigned the optimisation code of the dispersion analysis specific class for the new target functions. This includes the assembling of R<sub>2eff</sub>/R<sub>1&rho;</sub> values instead of peak heights, and a number of small fixes.
* Shifted the [[LM63 ]] dispersion model functions into the new lib.dispersion.lm63 module.
* The reference spectrum is now not included when counting the number of dispersion points.
* Fix for the lib.dispersion.lm63 module and parameters of zero are now gracefully handled.
* Added support for handling missing data in the relaxation dispersion analysis. This support was mentioned in the post http://thread.gmane.org/gmane.science.nmr.relax.devel/3835.
* Added a FIXME to a comment about the hardcoded Bootstrap number for relaxation dispersion.
* Started to add support for Monte Carlo simulations for the relaxation dispersion models. This is for all models except '[[R2eff']]. The changes are extensive but incomplete. The new functions disp_point_key_from_index() and disp_point_index_from_key() have been added to the specific_analyses.relax_disp.disp_data module, but the disp_point_index_from_key() function still needs work. The _back_calc() method of the specific_analyses.relax_disp.Relax_disp class has been redesigned, as well as base_data_loop() method and all methods which depend on it.* Updated the relaxation dispersion system tests of the Hansen CPMG data for the new models. The models are now '[[LM63' ]] and '[[CR72']], and the tests have been renamed to Relax_disp.test_hansen_cpmg_data_LM63 and Relax_disp.test_hansen_cpmg_data_CR72.
* Update of the specific_analyses.relax_disp package docstring.
* Fix for the linear constraints setup of the '[[R2eff' ]] relaxation dispersion model. There are no constraints, so the specific_analyses.relax_disp.parameters.linear_constraints() function now returns A and b values of None.
* Basic fix for the _back_calc_r2eff() relaxation dispersion method. A variable was misnamed.
* Major redesign of the relaxation dispersion data model in the relax data store. The data model now revolves around the three concepts of the spectrometer frequency, the dispersion points, and the relaxation times. Peak intensity data is now handled through averaging using the new specific_analyses.relax_disp.disp_data.average_intensity() function. R<sub>2eff</sub>/R<sub>1&rho;</sub> values are now referenced by a key generated from the spectrometer frequency and nu_CPMG frequency or nu1 spin-lock field strength. All of the specific_analyses.relax_disp package has been standardised around these concepts. This simplifies all of the modules of the package and removes a large number of latent bugs.
* A number of fixes to partly enable Monte Carlo simulations for the non '[[R2eff' ]] dispersion models.
* Finally Monte Carlo simulations for the relaxation dispersion models now work. This was a simple fix for the specific_analyses.relax_disp.parameters.param_index_to_param_info() function.
* Created truncated data files of the Hansen CPMG data. This consists of residues 70 and 71 and will be used to massively speed up the system tests.
* Speedup for the relaxation dispersion system tests which use Flemming Hansen's CPMG data. The system test script now reads the truncated data files (of only residues 70 and 71) to minimise the time required to read the data and store it in the relax data store.
* Added a script to the test suite shared data for analysing the truncated Hansen CPMG data.
* 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 relax_disp.cpmgfit_input and 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 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.
* Fix for the Relax_disp.test_hansen_cpmgfit_input system test. This is for the recent 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>.* Fixes for the relaxation dispersion auto-analysis for the [[LM63 ]] model. The Rex parameter is now the &phi;<sub>ex</sub> parameter.
* Added printouts of the optimised parameters to the Relax_disp.test_hansen_cpmg_data_LM63 system test. This includes the conversion to the equivalent CPMGFit parameters.
* 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.
* Split up the r2eff_values.bz2 save file into the results files for each data pipe. This is for Flemming Hansen's CPMG data truncated to residues 70 and 71. This is to simplify the system tests which use this data.
* Large simplification of the Relax_disp system tests using Hansen's CPMG data. Instead of calculating the R<sub>2eff</sub> values in the test, these are read from the high error precision results files in test_suite/shared_data/dispersion/Hansen. This allows the model parameters to be consistently found and to be identical between different runs of the test.
* Added a file which compares the results for the [[LM63 ]] model with Hansen's CPMG data between all programs. This currently includes relax, NESSY and CPMGFit.
* Added a printout to the specific_analyses.relax_disp.cpmgfit.translate_model() function.
* The dispersion system test script for Hansen's CPMG data can now run stand-alone.
* The relaxation dispersion auto-analysis now calls the 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 relax_disp.plot_disp_curves user function. This simply plots out the nu_CPMG 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 frq.set to spectrometer.frequency user function change.
* Fixes for the backend of the relax_disp.plot_exp_curves user function. This code needed to be updated for the major changes in the relax_disp branch.
* 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 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.
* 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 dispersion auto-analysis write_results() method. The i0 parameter text file and 2D Grace file are now only produced for the '[[R2eff' ]] model with the exponential curve base data types.* Simplified the Relax_disp.test_hansen_trunc_data GUI test. The '[[CR72' ]] model is now deactivated and the grid search sized decreased from the default of 21 to 4.
* Big speed ups of the Relax_disp.test_hansen_trunc_data GUI test. The optimisation function tolerance and maximum number of iterations are now set to the same low precision as the system tests. This involves adding hidden variables to the dispersion GUI analysis.
* Removed the data pipe name check from the Relax_disp.test_hansen_trunc_data GUI test. This makes no sense as this analysis generates a data pipe for each model (similar to the model-free analysis).
* 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 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 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.
* Import fix for the lib.dispersion.cr72 module.
* Fixes to the specific_analyses.relax_disp modules to add support for the [[CR72 ]] dispersion model. The parameters for the [[CR72 ]] model are now both correct and correctly handled.* Fix for the spin container list of parameters for the [[CR72 ]] model.* The [[CR72 ]] dispersion model equations are now more robust against math domain errors. This is for the trigonometric functions which cannot handle certain input values.
* Renamed the file for comparing different dispersion software with Flemming Hansen's CPMG data.
* Added the initial results of the [[CR72 ]] model in relax for Flemming Hansen's truncated CPMG data.
* 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 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.
* Improvements for the &phi;<sub>ex</sub> and &delta;&omega; relaxation dispersion model parameters. These are now stored with the units of ppm<sup>2</sup> and ppm respectively. The conversion to (rad/s)<sup>2</sup> and rad/s units respectively now is spin specific, allowing mixed spin types (1H, 13C, 15N, etc.) to be analysed simultaneously.
* Updated the relax results for Hansen's CPMG data for the recent &phi;<sub>ex</sub> and &delta;&omega; changes.
* Fix for the grid search setup for the p<sub>A</sub> dispersion parameter. As p<sub>A</sub> > p<sub>B</sub>, then the region from 0.0 to 0.5 does not need to be searched.
* The back calculated R<sub>2eff</sub> values are now stored for dispersion analysis after minimisation.
* Fix for the [[CR72 ]] model equation in lib.dispersion.cr72.r2eff_CR72(). The eta scaling factor was incorrect.* Updated the relax results for the truncated CPMG data from Flemming Hansen. This is for the recent fixes of the [[CR72 ]] model equations. Now relax produces identical results to ShereKhan for the [[LM63 ]] and [[CR72 ]] models.
* Created a directory for holding relaxation dispersion sample scripts.
* Added the model for no chemical exchange relaxation to the dispersion analysis.
* Another update of the NESSY log for the improved and more detailed printouts.
* And again, another update of the NESSY log.
* Added the relax results for the '[[No Rex' ]] model.
* Updated the software comparison tables for the model of no exchange. This is for Flemming Hansen's truncated CPMG data.
* Fix for the Relax_disp system tests using Flemming Hansen's truncated CPMG data. The nuclear isotope is now being set.
* 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 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.
* Added support for the R<sub>1&rho;</sub>-type experiments to the relaxation dispersion analysis in the GUI. This involves using a different model list for these experiments compared to the CPMG-type experiments.
* Updated the relaxation dispersion GUI to handle the current set of experiment types.
* 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 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.
* 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 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 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 relax_disp.cpmg_frq user function.
* The dispersion disassemble_param_vector() function now handles missing spectrometer information. The loop_frq() function replaces direct looping over cdp.spectrometer_frq_count.
* Variable renaming in the lib.dispersion.m61 module. The variable names are now more suited to R<sub>1&rho;</sub>-type data, rather than CPMG-type data.
* Fix for the [[M61 ]] model target function. The spin-lock fields need to be used, not the CPMG frequencies.* Created the Relax_disp.test_r1rho_on_res_fixed_time_m61 system test. This checks the R<sub>1&rho;</sub>-type experiment with a fixed relaxation time period using the '[[R2eff' ]] and '[[M61' ]] models. It uses the auto-analysis for this, and the 'r1rho_on_res' synthetic relaxation data.
* Created the Relax_disp.test_r1rho_on_res_exponential_m61 system test. This is identical to the Relax_disp.test_r1rho_on_res_fixed_time_m61 system test except that the full exponential curves are used rather than the 2-point fixed time approach.
* Python 3 fixes for the relaxation dispersion parameter Grace strings.
* More improvements to the 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 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.
* 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.
* The r1rho_on_res_m61.py dispersion system test script now sets the spectrometer frequency information.
* Removed cdp.model as this makes no sense - a different model can be used per spin cluster. Now the variable cdp.model_type is used to identify the '[[R2eff' ]] model. For all other dispersion models this variable is set to 'Disp'.
* Added a log file for the data generation script for the r1rho_on_res dispersion data.
* Fixes for the parameter checks in the system tests for the r1rho_on_res synthetic data. This includes both the Relax_disp.test_r1rho_on_res_fixed_time_m61 and Relax_disp.test_r1rho_on_res_exponential_m61 tests.
* Updated the results of relax's analysis of the truncated CPMG data from Flemming Hansen.
* 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 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.
* Renamed the lib.dispersion.m61.r2eff_M61() function to r1rho_M61().
* Added the [[M61 skew ]] model equations to the relax library. 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 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* 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 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.
* Renamed the r1rho_on_res dispersion test suite data directory to r1rho_on_res_m61.
* Created test data for the '[[M61 skew' ]] R<sub>1&rho;</sub> model. 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 7 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_m61b system test. This is for the Meiboom 1961 on-resonance 2-site model for skewed populations (p<sub>A</sub> &#x226B; p<sub>B</sub>). This commit follows step 7 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Small simplification of the lib.dispersion.m61b module.
* Added a printout at the end of the optimisation of the final dispersion parameter values.
* Modified the optimisation printout for better formatting.
* Increased the precision of the hansen_data.py relaxation dispersion system test script. This actually speeds up the test, as the Monte Carlo simulations are significantly speed up when the [[CR72 ]] model optimises to the solution.
* Updates for the p<sub>A</sub> dispersion parameter optimisation constraints. The parameter is now limited to be between p<sub>B</sub> and 1. In the case of the limit p<sub>A</sub> &#x226B; p<sub>B</sub>, then instead the constraint is between 0.85 and 1.
* Updated the Relax_disp system tests. This is for the recent precision change and constraint changes.
* Fixes for the grid search for the '[[M61 skew' ]] dispersion model. The p<sub>A</sub> parameter search is now between 0.85 and 1.
* Fixes for the func_M61b() dispersion target function. This is the Meiboom 1961 on-resonance 2-site model for skewed populations (p<sub>A</sub> &#x226B; p<sub>B</sub>).
* Small changes to the r1rho_on_res_m61b dispersion test data. One R<sub>2</sub><sup>0</sup> rate has been increased.
* 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 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 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 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 [[M61b]] R<sub>1&rho;</sub>-type models.* Fixes for the [[IT99 ]] model description in the 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].
* Created the [[IT99 ]] model target 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 4 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 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 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 relax_disp.cpmgfit_input user function for when no directory is given. This was causing tracebacks.
* Fix for the [[LM63 ]] model for the 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 relax_disp.cpmgfit_input user function.* Changed the CPMGFit grid search options for the [[IT99 ]] model in the 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.
* Removed an unnecessary calculation from the lib.dispersion.it99.r2eff_IT99() function.
* Added the [[IT99 ]] model to the software comparison table for Hansen's CPMG data. This includes only the results from relax (and possibly not fully debugged results at that).
* Replaced '-' with 'N/A' if the software is missing the model. This is for the software comparison table using Flemming Hansen's CPMG data.
* Updated the CPMGFit results for the [[IT99 ]] model using Flemming Hansen's CPMG data.
* Fixed the scaling of the parameter t<sub>ex</sub>.
* 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 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'.
* Disabled the Relax_disp.test_r1rho_on_res_fixed_time_m61b system test as the '[[M61b' ]] model is rubbish. The model cannot be properly optimised as the parameters are not independent of each other.
* Fixes for the dispersion specific code. The Grace graph code of lib.software.grace no longer accepts the axis min and max arguments.
* Created the Relax_disp.test_bug_20889_multi_col_peak_list system test to catch [https://gna.org/bugs/?20889 bug #20889].
* 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 monte_carlo.error_analysis user function. The errors for the parameter pairs k<sub>ex</sub>-t<sub>ex</sub> and p<sub>A</sub>-p<sub>B</sub> for the non-model parameter are now calculated as well.
* Fix for the dispersion auto-analysis - p<sub>A</sub> and p<sub>B</sub> parameters are no longer output for the [[IT99 ]] model. These are not parameters of this model.
* Updated the relax results for Flemming Hansen's truncated CPMG data for all the recent changes.
* Fix for [ (https://gna.org/bugs/?20916 bug #2091] - Suggestion for Python script for PNG/EPS/SVG conversion of grace files. Troels Linnet provided this patch, and was discovered during work on a Windows 7 system. This patch will provide a grace2images.py file in each folder where a call to specific_analyses/relax_disp/disp_data.py is called. It is called in plot_disp_curves(dir=None, force=None) and call the function lib.software.grace.script_grace2images(). The conversion script can be executed in Linux and Windows, if the PATH to xmgrace has been specified. It will look in a folder for grace files of ending *.agr and by default convert to PNG. One can also convert to EPS and SVG. Probably more options could be added, as PDF. The conversion depends on xmgrace compilation, and so PNG conversion is for fast inspection of graphs in folder, and EPS for further external conversion to PDF etc. The patch, the output file, and small script to test is attached. I miss to make the file executable in relax, so the script can be executed directly in Linux.
* Added some code missing from the lib.dispersion.ns_2site_star module. This code was accidentally not copied from http://thread.gmane.org/gmane.science.nmr.relax.devel/4132.
* Significant speed ups of the lib.dispersion.ns_2site_star.r2eff_ns_2site_star() function. Replicated calculations have been minimised.
* 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/pasa Paul Schanda]. The details come from http://thread.gmane.org/gmane.science.nmr.relax.devel/4132/focus=4135. The exchange-free R<sub>2</sub> value parameter names have been changed to match the convention of the other lib.dispersion modules.
* Added the '[[NS CPMG 2-site star' |NS 2-site star]] model to the 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 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/?7712#comment3 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.
* The chemical shift difference is now passed into lib.dispersion.ns_2site_star. This is currently set to the fA parameter, though it is not yet clear if this is correct.
* Basic fix for the lib.linear_algebra.matrix_power.square_matrix_power() function.
* The fixed relaxation time period is now sent into the '[[NS CPMG 2-site star' |NS 2-site star]] dispersion model.
* Fix for the state G+E to A+B conversion in lib.dispersion.ns_2site_star.
* The '[[NS CPMG 2-site star' |NS 2-site star]] model is now more robust against math domain failures. This includes the failure of the logarithmic of zero matrices.* Speed ups of the '[[NS CPMG 2-site star|NS 2-site star' ]] dispersion model optimisation. The relaxation and magnitisation data structures are now initialised with the target function initialisation, rather than being created at each target function call. The Rex and M0 matrices are now updated at the base of the target function rather than in the lib.dispersion.ns_2site_star module to minimise the number of mathematical operations per target function call. And the M0 matrix has changed shape and a dot product is used in lib.dispersion.ns_2site_star to create Moft instead.
* Shifted to using the faster numpy.linalg.matrix_power() function in lib.dispersion.ns_2site_star. This was originally using the lib.linear_algebra.matrix_power.square_matrix_power() function, however the numpy equivalent is faster.
* More speed ups of the '[[NS CPMG 2-site star' |NS 2-site star]] dispersion model. A number of calculations have been shifted to the target function initialisation code, avoiding unnecessary repetitive mathematical operations.* Improvement of the error handling in the '[[NS CPMG 2-site star|NS 2-site star' ]] model. The fA and p<sub>B</sub> parameters are no longer being checked. Instead a Mgx value of 0.0 is being checked for. This catches additional problems. And now instead of the R<sub>2eff</sub> value being set to zero, it is set to 1e99. This is because log of zero is -inf, and then multiplied by a negative constant gives positive inf.
* Docstring completion for lib.dispersion.ns_2site_star.r2eff_ns_2site_star(). Epydoc text was missing for some of the function arguments.
* Changed 'numerical integration' to 'numerical solutions' in the dispersion chapter of the manual.
* 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 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 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 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 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 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.* Expanded the [[CR72 full|CR72]] model to handle both the R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters. The '[[CR72|CR72 red' ]] model now functions as the old [[CR72 full|CR72 ]] model where R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup>. All parts of the code have been modified. The lib.dispersion.cr72.r2eff_CR72() function has been expanded to support the full Carver and Richards 1972 equations, dropping back to the simplified form if R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup>.
* Fix for the dispersion specific loop_parameters() method for the R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters. The frequency index is now correctly returned for these and the R<sub>2</sub><sup>0</sup> parameter.
* Better printouts of the R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters at the end of minimisation.
* Added support for model nesting in the relaxation dispersion auto-analysis. This involves copying the parameters from the simpler nested model rather than performing a full grid search. This is currently used to handle all models with R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters where a simpler model with the single R<sub>2</sub><sup>0</sup> parameter is optimised first.
* 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/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 1 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Added the '[[NS CPMG 2-site 3D|NS 2-site' ]] model to the relax_disp.select_model user function frontend. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Added the '[[NS CPMG 2-site 3D|NS 2-site' ]] R<sub>2eff</sub> calculating function to the relax library. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Updates and fixes for the lib.dispersion.ns_2site module. The function has been renamed, and the R<sub>1</sub> arguments default to 0.0. The flip angle for the from the pulse.
* Created the '[[NS CPMG 2-site 3D|NS 2-site' ]] model target function. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Converted the '[[NS CPMG 2-site' 3D|NS 2-site]] model to '[[NS CPMG 2-site 3D' |NS 2-site 3D]] to be more specific. This might change again in the future.* Added support for the '[[NS CPMG 2-site 3D|NS 2-site 3D' ]] model to the relax_disp.select_model user function back end. This is the model of the numerical solution for the 2-site Bloch-McConnell equations. It originates as optimization function number 1 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Lots of fixes for the relaxation dispersion target function module for the '[[NS CPMG 2-site 3D' |NS 2-site 3D]] model.
* Improvements to the nesting() method of the relaxation dispersion auto-analysis. The use of the parameters of the simpler model in a nested pair now only works if the simpler model is in the model list.
* 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/pasa 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 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 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 relax_disp.select_model user function frontend. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Added the '[[NS CPMG 2-site expanded' |NS 2-site expanded]] R<sub>2eff</sub> calculating function to the relax library. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the lib.dispersion.ns_2site_expanded.r2eff_ns_2site_expanded() function. The pg variable should have been p<sub>A</sub> and it needs to be sent into the function.
* Created the '[[NS CPMG 2-site expanded' |NS 2-site expanded]] model target function. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Added support for the '[[NS CPMG 2-site expanded' |NS 2-site expanded]] model to the relax_disp.select_model user function back end. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, Paul Schanda][https://gna.org/users/pasa , and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Fix for the relax_disp.select_model user function for the '[[NS CPMG 2-site expanded' |NS 2-site expanded]] model. There is only one R<sub>2</sub><sup>0</sup> parameter as R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> in this model.* Added the '[[NS CPMG 2-site expanded' |NS 2-site expanded]] model to the relax user manual. This is the numerical model for the 2-site Bloch-McConnell equations expanded using Maple by Nikolai Skrynnikov. It originates as optimization function number 5 from the fitting_main_kex.py script from Mathilde Lescanne, [https://gna.org/users/pasa Paul Schanda], and Dominique Marion (see http://thread.gmane.org/gmane.science.nmr.relax.devel/4138, https://gna.org/task/?7712#comment2 and https://gna.org/support/download.php?file_id=18262). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Large renaming of the relaxation dispersion models. This includes both the analytic and numerical models. All of the models with separate R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters now have ' full' added to the end of the model name. And all of the corresponding reduced models whereby R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> = R<sub>2</sub><sup>0</sup> have had the trailing ' red' removed. All descriptions and variable names have been updated to match.
* Updated the dispersion auto-analysis write_results() method for the recent model changes.
* Import fix for the '[[NS CPMG 2-site expanded' |NS 2-site expanded]] dispersion model target function.
* Fix for the lib.dispersion.ns_2site_expanded module for the missing sqrt() function import.
* Simplified the test_hansen_cpmg_data_*() system tests by shifting most shared code into setup_hansen_cpmg_data().
* Created the Relax_disp.test_hansen_cpmg_data_CR72_full system test for checking the '[[CR72 full' ]] model.
* Expanded the dispersion target function class docstring to include all current dispersion models.
* Updated the parameter checks in the Relax_disp.test_hansen_cpmg_data_CR72_full system test.
* Fixes for all of the definitions of the k<sub>AB</sub> and k<sub>BA</sub> exchange parameters. These were inverted in all parts of relax. The changes only affect the numerical dispersion models.
* Created the Relax_disp.test_hansen_cpmg_data_ns_2site_3D system test. This checks the '[[NS CPMG 2-site 3D|NS 2-site 3D' ]] numerical dispersion model against some truncated CPMG data from Flemming Hansen.* Created the Relax_disp.test_hansen_cpmg_data_ns_2site_3D_full system test. This checks the '[[NS CPMG 2-site 3D full|NS 2-site 3D full' ]] numerical dispersion model against some truncated CPMG data from Flemming Hansen. The parameter checks have not been updated as there appears to be a bug.* Created system tests for the rest of the numerical dispersion models. These include Relax_disp.test_hansen_cpmg_data_ns_2site_expanded, Relax_disp.test_hansen_cpmg_data_ns_2site_star and Relax_disp.test_hansen_cpmg_data_ns_2site_star_full. This checks the '[[NS CPMG 2-site expanded|NS 2-site expanded']], '[[NS CPMG 2-site star|NS 2-site star']], and '[[NS CPMG 2-site star full|NS 2-site star full' ]] numerical dispersion models against some truncated CPMG data from Flemming Hansen. The parameter checks have not been updated for the '[[NS CPMG 2-site expanded|NS 2-site expanded' ]] and '[[NS CPMG 2-site star full|NS 2-site star full' ]] models as there appears to be bugs.* Fixes for the Relax_disp.test_hansen_cpmg_data_auto_analysis system test. The checks for the '[[CR72|CR72 red' ]] model are now against the '[[CR72 full|CR72' ]] model. And the models optimised only now include '[[No Rex']], '[[LM63']], '[[CR72']], and '[[IT99']], massively speeding up the test.
* Fixes for the lib.dispersion.ns_2site_expanded module. These problems were identified using the Relax_disp.test_hansen_cpmg_data_ns_2site_expanded system test. They correspond to the issues with the original fitting_main_kex.py program identified by Mathilde Lescanne in her post at http://thread.gmane.org/gmane.science.nmr.relax.devel/4144.
* The Relax_disp.test_hansen_cpmg_data_ns_2site_expanded system test now passes. The test has been set up to match Relax_disp.test_hansen_cpmg_data_CR72. This allows the efficiency of each method to be compared by running the tests with the --time flag.
* Fix for the model nesting method of the relaxation dispersion auto-analysis for deselected spins.
* Added an upper constraint of 2e6 rad/s for the k<sub>ex</sub> dispersion parameter. This is to prevent slow optimisation to values in the order of 1e20 for models which fail.
* 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 relax_disp.plot_disp_curves user function backend now sets clear legend boxes with smaller text.
* Sectioning improvements for the relaxation dispersion chapter of the relax user manual.
* 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 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].* Fixes for the '[[LM63 3-site' ]] model equations in the relaxation dispersion chapter of the user manual.* 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 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 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 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 relax results for Flemming Hansen's truncated CPMG data for the '[[LM63 3-site' ]] model.* The dispersion auto-analysis now outputs files for the k<sub>B</sub>, kC, &phi;<sub>ex,B</sub>, and &phi;<sub>ex,C</sub> parameters. This is in the write_results() method and is for creating text files and Grace plots for the 'LM [[LM63 3-site' ]] model.* Created some synthetic test data for the '[[LM63 3-site' ]] dispersion model. This will be used to test CPMGFit and relax's implementations.* Updated the '[[LM63 3-site' ]] dispersion model test data. The CPMG frequencies are now more realistic.* Removed the old Sparky peak lists for the '[[LM63 3-site' ]] dispersion model test data.* Added the new Sparky peak lists for the '[[LM63 3-site' ]] dispersion model test data.* Updated the reference Sparky peak lists for the '[[LM63 3-site' ]] dispersion model test data.
* Missing import of the specific_analyses.relax_disp.variables.MODEL_LM63_3SITE variable.
* Added scripts for calculating the R<sub>2eff</sub> values for the '[[LM63 3-site' ]] dispersion model test data.
* Created the Relax_disp.test_r2eff_fit_fixed_time system test to show a failure in the auto-analysis. This shows a failure of the R<sub>2eff</sub> fitting in the dispersion auto-analysis due to Monte Carlo simulations being run when the calc() function should be called.
* Removed some parts of the Relax_disp.test_r2eff_fit_fixed_time system test. The last lines were non-functional.
* Fix for the dispersion auto-analysis if not enough models have been input for a final run. The final model selection, Monte Carlo simulation, and results writing stage of the auto-analysis now only occurs when enough models are present for model selection.
* Fix for the dispersion auto-analysis for when only the single [[R2eff ]] model is optimised. This is for the case of exponential curve fitting, and allows Monte Carlo simulations to proceed even when the mc_sim_all_models flag is False.
* Removed some unused parts of the r2eff_calc.py script and added the results file.
* Made the '[[LM63 3-site' ]] dispersion model test data more realistic. Previously all the rates were within a few decimal places of the R<sub>2</sub><sup>0</sup> values. Now the dispersion is much more significant.* Modified the '[[LM63 3-site' ]] dispersion model test data again. This time the data has been changed to be that of two residues rather than two spins.* Another update of the '[[LM63 3-site' ]] dispersion model test data. This data now makes CPMGFit happy.* Added the CPMGFit results for the '[[LM63 3-site' ]] dispersion model test data.* Added the relax results for the '[[LM63 3-site' ]] dispersion model test data.* Added a warning not to use the '[[LM63 3-site' ]] model to the dispersion chapter of the user manual.* Added the '[[LM63 3-site' ]] dispersion model to the model list in the GUI. It is not selected by default.
* Updated the Noe.test_noe_analysis system test. These were the changes to the lib.software.grace.write_xy_header() function.
* Fix for the model equivalence setup in the nesting() method of the dispersion auto-analysis. This is the use of the analytic [[CR72 ]] model parameters for the numeric models to avoid the grid search.
* Removed a double full stop in the relax_disp.select_model docstring.
* Updates for the test suite data script for optimising Flemming Hansen's CPMG data. The model list has been shorted to the useful models, and the grid search size is now reasonable.
* Updated the software_comparison file for the numeric model results from relax. This is the file comparing the results for residues 70 and 71 from Flemming Hansen's CPMG data.
* 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/pasa 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.
* Implemented the new 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.
* Updated the intro chapter of the user manual for the now supported dispersion analysis. This is no longer listed as a future to be implemented feature.
* Updated the screenshot of the analysis selection wizard to include the dispersion analysis. This new figure has been updated in the intro chapter of the relax user manual as well.
* Added links to all of the copyright licensing agreements for the lib.dispersion.ns_2site_expanded module.
* 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 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.* Fix for the '[[M61 skew' ]] dispersion model indexing in the user manual.* Added the '[[NS CPMG 2-site expanded|NS 2-site expanded' ]] model to the CPMG dispersion sample script.* Added the '[[NS CPMG 2-site expanded|NS 2-site expanded' ]] and '[[TP02' ]] models to the script in the manual. This is in the script section of the dispersion chapter of the user manual.
* Converted the lib.dispersion.tp02 module from Matlab code to Python. The code has also been made fail-safe and repetitive calculations have been shifted outside of the loop to speed things up.
* 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 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.
* Added the tp02 module to the lib.dispersion package __all__ list.
* Created the synthetic data for the [[TP02 ]] dispersion model. The Sparky peak lists have been created and added to the repository.* Modified the synthetic data for the [[TP02 ]] dispersion model. The data is more closely mimics that from the paper, and should now be in the slow exchange regime.* Updated the [[M61 ]] R<sub>1&rho;</sub> model conditions in the table in the user manual.* Updated the [[TP02 ]] R<sub>1&rho;</sub> model conditions in the table in the manual. This cannot be fast exchange.
* 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-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 -Implementation of Tollinger/Kay dispersion model (2001). Following the guide at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Added the [[TSMFK01 ]] model to the user_functions/relax_disp.py select_model user function frontend. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Created the [[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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Added the [[TSMFK01 ]] model equations to the relax library lib/dispersion/tsmfk01.py. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* The chemical shift of each spin is now taken into account for the synthetic data for the [[TP02 ]] dispersion model. The data now properly reflects the spin lock offset.
* Updated all of the dispersion system tests for the 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.
* Created the relax script for the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test.
* 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 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 Sebastien Morin and 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fix for converting &delta;&omega; from ppm to rad/s. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added support for the [[TSMFK01 ]] model to the relax_disp.select_model user function back end. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fix for the reading of chemical shifts in the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test.
* Added the Trott and Palmer, 2002 bibtex reference for the user manual.
* Fix for the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test. The correct spectrum ID is now used for the 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 [[TP02 ]] model R<sub>1&rho;</sub> off-resonance test data creation script now creates files of the R<sub>1</sub> relaxation data. These files are needed for the system tests, as R<sub>1</sub> data needs to be read.
* The dispersion target function class now handles R<sub>1</sub> relaxation data. This data is essential for the off-resonance R<sub>1&rho;</sub> models.
* The Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test script now reads the R<sub>1</sub> relaxation data. This data is essential for the model optimisation.
* Fix for the Relax_disp.test_bug_20889_multi_col_peak_list GUI test. The 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.
* Fixes for the parameter checks in the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test. The parameter values had not been updated from when the test was copied from one of the other tests.
* 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 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.
* Increased the grid search size in the Relax_disp.test_r1rho_off_res_fixed_time_tp02 system test.
* The self.field_pre_run_dir GUI element is now deactivated with the execution lock.
* Added an R<sub>1</sub> data file to r1rho_on_res_m61, by copying from the r1rho_off_res_tp02 test suite data.
* Updated the Relax_disp.test_r1rho_on_res_fixed_time_dpl94 system test for off-resonance data. The offsets, R<sub>1</sub> data, and chemical shifts are now setup or read by the script.
* Fixes for the [[DPL94 ]] model to make it truly off-resonance. The tilt angles and R<sub>1</sub> data are now used by the target function.
* Fixes for the r1rho_on_res_m61.py system test script. The spins are now different residues. This fixes two system tests.
* 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 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/?7712#comment5). Specifically the funNumrho.m file. This commit follows step 3 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Fix for the function name in the lib.dispersion.ns_r1rho_2site module and removed misplaced copyrights.
* Created the '[[NS R1rho 2-site' ]] model target function. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1&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/?7712#comment5). This commit follows step 4 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Added support for the '[[NS R1rho 2-site' ]] model to the 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/?7712#comment5). This commit follows step 6 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].* Added the '[[NS R1rho 2-site' ]] model to the relax user manual. This is the numerical model for the 2-site Bloch-McConnell equations for R<sub>1&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/?7712#comment5). This commit follows step 2 of the [http://thread.gmane.org/gmane.science.nmr.relax.devel/3907 relaxation dispersion model addition tutorial].
* Rearrangement of the model sections in the dispersion chapter of the user manual. These are now better separated into different categories.
* Created a save file for the r1rho_off_res_tp02 dispersion data optimised to the [[R2eff ]] model. This will be used for faster system tests.* Created the Relax_disp.test_r1rho_ns_r1rho_2site_to_tp02 system test for the new '[[NS R1rho 2-site' ]] model. This tests the '[[NS R1rho 2-site' ]] model against the R<sub>1&rho;</sub> off-resonance test data from the '[[TP02' ]] model.* A number of fixes for the '[[NS R1rho 2-site' ]] dispersion model. The model should now be fully functional. The chemical shift and R<sub>1</sub> related data are now assembled for this model, and the data correctly passed from the target function to the lib.dispersion module.* The Relax_disp.test_r1rho_ns_r1rho_2site_to_tp02 system test now passes. The optimised values have been hard-coded into the system test. They do not match the [[TP02 ]] results, but are close.
* Renamed many of the Relax_disp system tests to bring some order to the naming.
* Alphabetical ordering of all of the Relax_disp system tests.
* Small changes to the tooltips of the R<sub>1</sub> and chemical shift buttons.
* 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 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.
* CPMGFit file name fixes for MS Windows. The '#:@' characters have all been replaced by underscores.
* 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-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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Modified the script file for saving of a truncated base_pipe state file. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added script files for generating a saved state file with R<sub>2eff</sub> values. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added the first system test for model [[CR72 ]] for the kteilum_fmpoulsen_makke_cpmg_data. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fix trailing spaces. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Fix epydoc HTML markup code. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Created 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added "[[CR72 full]]" test suite for kteilum_fmpoulsen_makke_cpmg_data. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added file which setup a truncated spin system. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Changed the initialization script to use the truncated spin system. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Modified the 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 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Modified the script for the full analysis of all models of CPMG type. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* 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.
* Some Unicode text fixes in the dispersion GUI analysis for older MS Windows versions.
* Updated the Grace string for the k<sub>AB</sub> parameter - it was being shown as kA.
* Fix for the model list in the GUI - the [[TSMFK01 ]] model entry was broken.
* 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.
* 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Added to calculate the tau_cpmg times when model is [[TSMFK01]]. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Optimized the target function for model TSMFK. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added the 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Added [[TSMFK01 ]] to model overview table. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Added subsection with [[TSMFK01 ]] model. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.* Fix for adding [[TSMFK01 ]] to sample scripts. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Updated the relax_disp_trunc.py script for Flemming Hansen's CMPG test data.
* Started to create the 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.
* 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 relax_disp.catia_input user function.
* Added Tollinger reference. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Added Tollinger model [[TSMFK01 ]] to sample scripts. Progress sr #3071: https://gna.org/support/?3071 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* 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 - Implementation of Tollinger/Kay dispersion model (2001). Following the guide at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.
* Spacing fixes for the Tollinger01 Bibtex entry for the author initials.
* 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/?7712#comment6, 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.
* Modified the dispersion auto-analysis to check if peak intensity errors have been pre-calculated. This allows the user to perform custom analyses and the auto-analysis will then not overwrite these values.
* Bug fixes for the averaging of peak intensity errors in the dispersion analysis. This is in the specific_analysis.relax_disp.disp_data.average_intensity() function.
* Fix for the docstring formula in lib.dispersion.two_point.calc_two_point_r2eff_err().
* Updated the relax script for analysing Remco Sprangers' ClpP data with the '[[NS MMQ 2-site|MQ NS 2-site' ]] model. The error analysis has been removed as it is identical to what the auto-analysis does.
* Renamed the directory of Remco Sprangers' CPMG dispersion data to correctly spell his name.
* Updated the script for Remco Sprangers' MQ CPMG data.
* 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 NQ NS CPMG 2-site' ]] model to the dispersion variables. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list The new dispersion variable MODEL_MQ_NS_CPMG_2SITE has been added. As this is a new data type, multi-quantum CPMG, the new MODEL_LIST_MQ_CPMG and MODEL_LIST_MQ_CPMG_FULL lists have been created.
* Rearranged the documentation for the 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 relax_disp.select_model user function frontend. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end Two new sections were added to the user function docstring for the MQ CPMG and MQ R<sub>1&rho;</sub> experiment types.* Added support for the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model to the relax_disp.select_model user function back end. This is the numeric solution for 2-site exchange for multi-quantum CPMG-type data. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.* Added support for the new '&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 http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_support_for_the_parameters.
* Improved the RelaxError from the 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* Added relaxation dispersion model lists for the MQ R<sub>1&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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.* Added support for the MQ dispersion data types to the rest of relax. This is needed for the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model, and the changes affect the dispersion data checks and the dispersion target functions. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* Updated the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test for 'MQ CPMG' data. This also affects the script in the shared_data test suite directory. The relax_disp.exp_type user function exp_type argument has been changed from 'CPMG' to 'MQ CPMG'.
* Updated the relax_disp.exp_type user function for the new 'MQ CPMG' and 'MQ R1rho' experiment types. This is needed for the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.* Created the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model target function. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.* Added the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] R<sub>1&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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUI.
* Rearranged the 'Implemented models' subsection of the dispersion chapter of the manual.
* Fixed the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model description in the 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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.
* Rearrangements of the tables in the dispersion chapter of the user manual. The tables have been shifted out into their own LaTeX files, and all dispersion model tables have been concatenated into one.
* Edited the MQ abbreviation in the user manual.
* Changes to the Sprangers ClpP data analysis script.
* Simplified the Relax_disp.test_sprangers_cpmg_data_auto_analysis system test script. The p<sub>A</sub> and k<sub>ex</sub> parameters are now also pre-set to speed things up.
* Added a script and results files for the base '[[R2eff' ]] model for Remco Sprangers' ClpP data.
* Fixes for the R<sub>2eff</sub> data files for Sprangers ClpP data.
* 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite.* Added the '[[MQ CR72' ]] model to the dispersion variables. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.* Added the '[[MQ CR72' ]] model to the relax_disp.select_model user function frontend. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end.* Added support for the '[[MQ CR72' ]] model to the relax_disp.select_model user function back end. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.* Created the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model target function. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.* Added the '[[MQ CR72' ]] R<sub>2eff</sub> calculating function to the relax library. This is the Carver and Richards (1972) 2-site model expanded for MQ CPMG data by Korzhnev et al., 2004. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library. The corresponding target function was updated to input the correct arguments.* 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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 a relax script for the '[[MQ CR72' ]] model optimised using Flemming Hansen's CPMG data. This is to demonstrate, though not exactly successfully, that the '[[MQ CR72' ]] model can collapse to the '[[CR72' ]] model. The imperfection might be due to truncation artefacts in the sin ratio in the mD and mZ factors. The results files and output log file from the script have been added to the repository as well.* Updates for the script and results for the '[[MQ CR72' ]] model optimised using Flemming Hansen's CPMG data.* Added a script and results files for optimising Sprangers' ClpP MQ CPMG data to the '[[MQ CR72' ]] model.
* Bug fix for the dispersion specific loop_parameters() function for the multiple quantum models. The &delta;&omega; and &delta;&omega;<sub>H</sub> parameters were being interleaved rather than all &delta;&omega; for all spins first and then all &delta;&omega;<sub>H</sub>. The result was that these parameters were being mixed up in the MQ model target functions when clustering was activated, causing total failure of the MQ models.
* Added a script and results files for optimising Sprangers' ClpP MQ CPMG data to the '[[MQ CR72' ]] model. This is with all spins clustered. It complements the files which are used for the pre-run results of the auto-analysis.
* Better spacing in the model table of the relaxation dispersion chapter of the relax manual.
* 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/?7712#comment5. 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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.
* Fix for the hansen_data.py dispersion auto-analysis script used for a number of system tests. The numeric_only flag was not being handled correctly.
* 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 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.
* 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 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 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 calc user function does not help, the results are quite different between different systems.
* Fixes for 2 Relax_disp GUI tests to match the previous model-free fixes. The Fake_right_click.GetPosition() method now returns a wx.Point object.
* Added test data where both the spin-lock time, the spin lock offset and the spin lock field is varied. The data is published in "Kjaergaard, M., Andersen, L., Nielsen, L.D. & Teilum, K. (2013). A Folded Excited State of Ligand-Free Nuclear Coactivator Binding Domain (NCBD) Underlies Plasticity in Ligand Recognition. Biochemistry, 52, 1686-1693" with experimental conditions that "off-resonance R<sub>1&rho;</sub> relaxation dispersion experiments on 15N were recorded at 18.8 T and 31 C." and "using the pulse sequence of Mulder et al. with spin-lock field strengths from 431 to 1649 Hz and offsets ranging from 0 to 10000 Hz."
* Shifted the '[[NS CPMG 2-site expanded' ]] model to the top of the CPMG numerical solutions in the manual. This is because this is the default model which should be used in most cases.* A 20-25% speed increase for the '[[NS CPMG 2-site expanded' ]] dispersion model. Many repetitive mathematical operations have been eliminated and the equations have been changed to optimise the calculation speed.
* Modified settings script for R<sub>1&rho;</sub> test dataset.
* Fix for the amsmath LaTeX package in the user manual. It needs to be after the hyperref package, as hyperref clobbers a number of amsmath features.
* Added all of the equations for the '[[NS CPMG 2-site expanded' ]] dispersion model to the relax manual. These are essentially the source code modified to look good in LaTeX.* 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 nu1 values in the dispersion GUI tab. This was reported by Troels at http://thread.gmane.org/gmane.science.nmr.relax.devel/4708. The GUI spectrum element at gui.components.spectrum was at fault, the add_disp_point() method was buggy.
* Added a new section to the dispersion chapter of the manual for comparing different dispersion software. This is an expansion of the table in the paper draft.
* Updates for the dispersion software comparison section of the user manual.
* Bug fix for the '[[NS MMQ 2-site|MQ NS CPMG 2-site' ]] model. This was found with the aid of private feedback from Dmitry Korzhnev and him emailing his cpmg_fitd9 program. The problem is that he defines the 'n' parameter as half of a CPMG block. The code was however assuming that 'n' is a full CPMG block.
* Added ZZ exchange as a missing feature to the dispersion chapter of the manual.
* Added Dmitry Korzhnev's Fyn SH3 domain data for Asp 9 to the repository. This is from 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. 127, 15602-15611 (doi: http://dx.doi.org/10.1021/ja054550e). It consists of the 1H SQ, 15N SQ, ZQ, DQ, 1H MQ and 15N MQ data for residue Asp 9 of the Fyn SH3 domain mutant.
* Added printouts for the overfit_deselect() specific API method for the dispersion analysis. This is to inform the user whenever spins are deselected and why. This is to help avoid user confusion.
* Started to add some preliminary dispersion results for the Korzhnev data.
* 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_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 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.
* Fix for the sqrt() function in the dispersion parameter table.
* Added a 600x600 pixel graphic for the spin cluster for use in the user manual.
* Added the cluster graphic to the cluster section of the dispersion chapter and improved the text.
* Proper handling of the back-calculated dispersion data for the new '[[MMQ 2-site' ]] model.
* Shifted the optimisation printouts for the dispersion analysis out of the memo. This improved the ordering of the printed out messages when running on a cluster. Instead of having multiple optimisation printouts followed by a list of the corresponding optimised values, now they are interleaved as they should be.
* Changed the definition of t<sub>ex</sub> thanks to feedback from Nikolai Skrynnikov. This was previously defined as t<sub>ex</sub> = 1/(2k<sub>ex</sub>) to be compatible with CPMGFit, but has now been changed to t<sub>ex</sub> = 1/k<sub>ex</sub>.
* Converted the '[[IT99' ]] dispersion model parameters to p<sub>A</sub> and &delta;&omega;. This is thanks to feedback from Nikolai Skrynnikov. I have no idea why the &phi;<sub>ex</sub> and p<sub>A</sub>.&delta;&omega;<sup>2</sup> parameters were being used in the first place. The model results after the change are identical.
* Fix for the optimised parameter printout - the parameters are now scaled. This problem was only recently introduced.
* The dispersion sample scripts now have the NUMERIC_ONLY boolean variable defined.
* The model type is now being written to file for the final run of the dispersion auto-analysis.
* Added the model_type spin variable to the dispersion analysis specific PARAMS data object.
* Updated the text and Grace files output for the '[[IT99' ]] model in the dispersion auto-analysis.
* Fixes for the output of the selected mode in the dispersion auto-analysis. The correct variable is now used.
* Proper fix for the printout of the optimised dispersion parameters. The loop_parameters() dispersion function is no longer used, avoiding all requirements on the current data pipe existing. This allows for proper printouts on a MPI cluster.
* 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 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 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 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 script UI section of the dispersion chapter of the user manual. This is for the recent changes to the sample scripts including the addition of the RESULTS_DIR and INSIGNIFICANCE variables.
* Added the '[[No Rex' ]] model to the R1rho_analysis.py sample script.
* A number of fixes for the script UI section of the dispersion chapter of the manual. The NUMERIC_ONLY variable is now explained and the R<sub>1&rho;</sub> MODEL list has been changed to a set of reasonable models.
* A GUI element for the insignificance level for the dispersion auto-analysis has been added. This defaults to 1.0. The user can input any number they wish. Checks were added for non-numerical input.
* Created files of R<sub>2eff</sub> values and errors for Flemming Hansen's CPMG data.
* File path fixes for the script of the Relax_disp.test_hansen_cpmg_data_auto_analysis_r2eff system test.
* 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 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.
* Implemented the 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.
* Another fix for the Relax_disp.test_hansen_cpmg_data_auto_analysis_numeric system test. The selected model is no longer checked for residue 71.
* Loosened the checks for a number of Relax_disp system tests to allow them to pass on 32-bit Linux.
* Update for NESSY in the dispersion software comparison table of the manual.
* Added more R<sub>1&rho;</sub> model references to the bibliography file for the manual. This includes the Trott and Palmer 2004 N-site and the Miloushev and Palmer 2005 2-site models. The Trott and Palmer 2002 R<sub>1&rho;</sub> model reference has been expanded to include all details.
* Added the TP04 [[TP02]] and [[MP05 ]] R<sub>1&rho;</sub> dispersion models to the manual. These are not implemented in relax, or any of the software in the software comparison section, but are included for completeness. This was pointed out by Art Palmer.
* Added the Korzhnev et al., 2005 reference to the bibliography file for the manual.
* Fixes for a number of page numbers in the bibtex file for the user manual.
* Updated the dispersion software comparison table for the optimisation in GUARDD. I have added the 'MATLAB interior-point black magic' algorithm as MATLAB is not kind enough to explain what algorithm it is really using.
* The Arrhenius analysis is also performed by cpmg_fit. This is for the dispersion software comparison table in the manual.
* Added the [[TAP03 ]] model to the dispersion chapter of the user manual.
* 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite.
* Added the '[[MP05' ]] model to the dispersion variables. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.* Added the '[[MP05' ]] model to the 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end.* Added support for the '[[MP05' ]] model to the 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.* Created the '[[MP05' ]] model target function. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.* Added the '[[MP05' ]] R<sub>2eff</sub> calculating function to the relax library. This is the Miloushev and Palmer 2005 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library. Just in case git-svn does not preserve the file copying history, the lib/dispersion/mp05.py file was copied from the tp02.py file.* 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-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-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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_test_suite This was copied from the Relax_disp.test_tp02_data_to_mp05 system test.
* Added the '[[TAP03' ]] model to the dispersion variables. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.* Added the '[[TAP03' ]] model to the 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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_front_end.* Added support for the '[[TAP03' ]] model to the relax_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_disp.select_model_user_function_back_end.* Created the '[[TAP03' ]] model target function. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.* Added the '[[TAP03' ]] R<sub>2eff</sub> calculating function to the relax library. This is the Trott, Abergel and Palmer 2003 R<sub>1&rho;</sub> analytic model for 2-site off-resonance exchange. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library.* 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-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-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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_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 1H SQ CPMG data for the 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 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)". 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 MMQ models. The 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 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 combined proton-heteronuclear SQ, ZQ, DQ, and MQ (MMQ) data support. The 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 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 15N 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 15N SQ CPMG data using the '[[MMQ 2-site' ]] model.
* Fixes for the dispersion optimisation Disp_result_command.run() method. The dispersion point loop is fixed over all dispersion points, but the 'missing' data structure has a variable length.
* Big redesign of the dispersion point returning and loop_*() functions. These are the functions in the specific_analyses.relax_disp.disp_data module. The return_cpmg_frqs() and return_spin_lock_nu1() functions now no longer take the spins and spin_ids arguments. Instead they determine if a dispersion point exists for the given experiment and spectrometer frequency using the intensity keys and data in the base of the data pipe. The specific_analyses.relax_disp.disp_data.loop_*() functions now accept the return_indices argument which if True will cause all of the relevant experiment type, spectrometer frequency, dispersion point, and relaxation time indices to be returned. The behaviour of the loop_point() method is now different. Instead of looping over all possible dispersion points, it only loops over those points present for the given experiment and spectrometer frequency. This change allows for many simplifications and latent bug fixes in the dispersion analysis.
* Added cmpg_fit input and results files for all single CPMG data combinations from Korzhnev et al., 2005.
* Updated the cpmg_fit results for the Korzhnev et al., 2005 single data sets. The starting point for optimisation is now the solution for using all data together. This allows a much better solution to be found for each script.
* Created 5 more system tests for checking the optimisation of single sets of Korzhnev et al., 2005 data. These are Relax_disp.test_korzhnev_2005_15n_dq_data, Relax_disp.test_korzhnev_2005_15n_mq_data, Relax_disp.test_korzhnev_2005_15n_zq_data, Relax_disp.test_korzhnev_2005_1h_mq_data, and Relax_disp.test_korzhnev_2005_1h_sq_data. These should individually test out all parts of the '[[MMQ 2-site' ]] dispersion model.
* The cpmg_fit script for the Korzhnev et al., 2005 15N ZQ CPMG data now starts at the relax solution. This is to try to find better solutions for &delta;&omega; and &delta;&omega;<sub>H</sub>, thought it was not so successful.
* Updated the Relax_disp.test_korzhnev_2005_15n_zq_data system test. It now starts at the relax solution and the test passes as it seems to reasonably match the cpmg_fit results.
* Created a Grace graph for the 1H SQ data fitting of cpmg_fit.
* The dispersion specific overfit_deselect() method now handles the 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 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.
* Updated the synthetic '[[TP02' ]] model data for the recent changes.
* Fix for the dispersion base_data_loop() method for deselected spins. A recent change broke this function when spins were deselected.
* Updated the truncated CPMG data set from Flemming Hansen to include residue :4. This is deselected in the test suite, but allows the comparison in the shared_data directory to use all four spins (:4, :70, :71).
* 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_CPMG, hence it is missing the radian unit. This is clearly a mistake, but is probably compensated by their stated rather than derived definitions.
* Updated all of the relax results for the [[IT99 ]] model fix.* Added the new relax [[IT99 ]] model results to the software_comparison file. This is for the truncated CPMG data from Flemming Hansen.* 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 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 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 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 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_CPMG.* 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 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 relax_disp.write_disp_curves user function.
* Improvement for the file names in the 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, 1H SQ, 15N SQ, DQ, ZQ, 1H MQ, and 15N 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 15N 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 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 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 1H MMQ flag calls.
* Large improvements to the relax_disp.plot_disp_curves user function including 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 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 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 1e99.* Another bug fix for the '[[MQ CR72' ]] dispersion model. The nu_CPMG 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 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.* Fix for the '[[MQ CR72' ]] dispersion model target function. The correct R<sub>2</sub><sup>0</sup> values are now extracted from the parameter vector.* Improvements for the '[[CR72' ]] and '[[MQ CR72' ]] dispersion model R<sub>2eff</sub> calculating functions. The numpy.arccosh() function can handle all input values when complex, therefore the checks for the real part being above 1 are not necessary.
* General improvement for the optimisation of many target functions. For those models which use the tau_CPMG value, this is now recalculated. This means that if a user inputs truncated nu_CPMG values, these are corrected when calculating tau_CPMG so that full precision values will be used for the optimisation.
* Changed the sign of the delta_omega frequency for the ZQ data in the '[[CR72' ]] and '[[MQ CR72' ]] models.* 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 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 cpmg_fit results for the CPMG data of Korzhnev et al., 2005. This is using a modified binary wherein the gyromagnetic ratio and optimisation tolerances and maximum number of iterations are far more accurate (to the same level as relax). The cpmg_fit output has also been made more accurate by writing out the values to much higher precision.
* Fixes for the relaxation dispersion system tests for the changed behaviour of the '[[CR72' ]] model. The optimisation is slightly different as values are now always passed into the numpy.arccosh() function.
* Eliminated the MODEL_LIST_CPMG_NUM variable. This was far too specific and its misuse caused a bug in the target function of a number of dispersion models.
* Fixes for a number of dispersion system tests due to the higher accuracy of the tau_CPMG values. This is required as the tau_CPMG values have been corrected to eliminate user input truncation artifacts.
* The Relax_disp.test_korzhnev_2005_all_data system test no longer dumps files in the current directory.
* Updated all of the cpmg_fit results to use the numeric 2-site CPMG model. This also uses the modified cpmg_fit binary with higher accuracy.
* 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 relax_disp.plot_disp_curves user function.
* 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 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_CPMG values when asked, as interpolation is not compatible with this.
* The 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 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.
* 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 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.
* Improvements for the dispersion API eliminate() method.
* Added text about the 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.
* Updated the description of the dispersion auto-analysis in the manual.
Trusted, Bureaucrats
4,228

edits