Open main menu

Changes

Relax 3.1.0

190 bytes added, 15:30, 8 September 2014
More formatting of symbols/parameters.
* 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 &nu;<sub>CPMG</sub> frequency or nu1 &nu;<sub>1</sub> 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.
* Fixes for the checking in the Relax_disp.test_hansen_cpmgfit_input system test.
* 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 &nu;<sub>CPMG</sub> value or spin-lock field verses the R<sub>2eff</sub>/R<sub>1&rho;</sub> values from the experiment. The graph of the back calculated R<sub>2eff</sub>/R<sub>1&rho;</sub> values from the model fit is still to be added.
* Fix for the linear constraints for the [[R2eff]] model. The A and b matrices are no longer set to None, as this kills the auto-analysis or any analysis when constraints are turned on. Now the constraints 0 &le; R<sub>2eff</sub> &le; 200 and I<sub>0</sub> &ge; 0 are used.
* Fixes for the peak intensity loading wizard for the frq.set to spectrometer.frequency user function change.
* The self.field_pre_run_dir GUI element is now deactivated with the execution lock.
* Many fixes and improvements for all of the R<sub>1&rho;</sub> dispersion models in the user manual. The equations are now correct and the parameter table updated with new parameters and equations.
* Removed the unused theta and R<sub>1</sub> R1 arguments for the lib.dispersion.m61.r1rho_M61() function. These off-resonance parameters are not used in the on-resonance model.
* Updated the r1rho_on_res_m61 dispersion on-resonance data for off-resonance models. The chemical shifts are now the same for all spins, to force perfect on-resonance, and the two spins are now different residues.
* Added an R<sub>1</sub> data file to r1rho_on_res_m61, by copying from the r1rho_off_res_tp02 test suite data.
* Fix for [https://gna.org/bugs/?21081 bug #21081] - the failure of a dispersion cluster analysis. The problem was that the specific_analyses.relax_disp.disp_data.loop_cluster() generator method was not taking the spin.select flag into account. Now all deselected spins are excluded from the spin clusters and the free spins.
* Better support for off-resonance R<sub>1&rho;</sub> data in the dispersion GUI. A new row of buttons has been added to the dispersion GUI, just above the Peak list GUI element. The first button is for the spin.isotope user function and replaces the old GUI element. Two new buttons for loading R<sub>1</sub> data and chemical shifts have also been added, as required for off-resonance R<sub>1&rho;</sub> data.
* Changed the chemical shift icon to that of the chemical shift in ppm units - the &delta ; symbol.
* The chemical shift icon now has a transparent background.
* Small changes to the tooltips of the R<sub>1</sub> and chemical shift buttons.
* 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 &nu;<sub>1</sub> values in the dispersion GUI tab. This was reported by Troels at http://thread.gmane.org/gmane.science.nmr.relax.devel/4708. The GUI spectrum element at gui.components.spectrum was at fault, the add_disp_point() method was buggy.
* Fix for the right click pop up menu entry "Set the spin-lock field" in the dispersion GUI tab. This is for the spectra list relax_disp.spin_lock_field user function call. The reference spectra are now detected and the field value set to None. This fix has been propagated to the relax_disp.cpmg_frq user function menu entry as well.
* Correcting the R<sub>1&rho;</sub> settings script for the right calculation of the spin-lock offset, omega_rf, in ppm when offset values are provided in Hz.
* Added some polish to the relax_disp.exp_type user function frontend.
* Created the MODEL_LIST_CPMG_NUM dispersion list variable. This is for defining in one place the list of models which require the number of CPMG blocks.
* The dispersion optimisation code now checks for the relaxation time period being set for certain models. This is for the models which require the number of CPMG blocks, calculated via the relaxation time and nu_CPMG&nu;<sub>CPMG</sub>.
* The dispersion target function setup now uses the new MODEL_LIST_CPMG_NUM variable.
* The dispersion specific check_exp_type() function now accepts the id argument to check individual IDs.
* 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.
* Changed the current data pipe in the relax saved states for Flemming Hansen's truncated CPMG data.
* Another change of the base relax files of the truncated CPMG data.
* Bug fix for the relax_disp.cpmgfit_input user function. The nu_CPMG &nu;<sub>CPMG</sub> values need to be doubled and then divided by 1e3 to obtain the 1/tau_CPMG &tau;<sub>CPMG</sub> values in ms.
* Fix for the relax_disp.sherekhan_input user function for the recent changes.
* Updated all of the results for the truncated CPMG data from Flemming Hansen in the test suite. The results are now different as the errors are now much more precise as they come from all spin systems rather than just the truncated set of :4, :70, and :71.
* Bug fix for the Ishima and Torchia 1999 dispersion model. Their value of omega_1eff is defined in terms of nu_CPMG&nu;<sub>CPMG</sub>, hence it is missing the radian unit. This is clearly a mistake, but is probably compensated by their stated rather than derived definitions.
* 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.
* 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&nu;<sub>CPMG</sub>.
* Updated the Relax_disp.test_hansen_cpmg_data_to_it99 system test for the [[IT99]] model fixes.
* Updated the relax results for the truncated CPMG data from Flemming Hansen. This is needed as the [[IT99]] model has been fixed and the new relax_disp.write_disp_curves user function introduced.
* 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 &nu;<sub>CPMG</sub> value rather than the relaxation time was being used to calculate the R<sub>2eff</sub> values as the division by 'n' was missing.
* The 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.
* 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 &tau;<sub>CPMG</sub> value, this is now recalculated. This means that if a user inputs truncated nu_CPMG &nu;<sub>CPMG</sub> values, these are corrected when calculating tau_CPMG &tau;<sub>CPMG</sub> so that full precision values will be used for the optimisation.* Changed the sign of the delta_omega &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.
* 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 &tau;<sub>CPMG</sub> values. This is required as the tau_CPMG &tau;<sub>CPMG</sub> 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.
* 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 &tau;<sub>CPMG</sub> 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.
Trusted, Bureaucrats
4,228

edits