Difference between revisions of "Relax 3.3.4"

From relax wiki
Jump to navigation Jump to search
(Link fixes.)
(Symbol fix.)
Line 71: Line 71:
 
* Big bug fix for the [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html error_analysis.covariance_matrix user function].  The model_info structure is now being passed into the get_param_names() API method, as required by the API.
 
* Big bug fix for the [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html error_analysis.covariance_matrix user function].  The model_info structure is now being passed into the get_param_names() API method, as required by the API.
 
* Another change for the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit.api.Relax_fit-class.html#covariance_matrix relaxation curve-fitting covariance_matrix() API method] to handle all models.  The scaling matrix diagonalised list of 1.0 values now has the same number of elements as there are parameters.
 
* Another change for the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit.api.Relax_fit-class.html#covariance_matrix relaxation curve-fitting covariance_matrix() API method] to handle all models.  The scaling matrix diagonalised list of 1.0 values now has the same number of elements as there are parameters.
* Implemented the target functions for the inversion recovery exponential curve.  In the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html target_functions.relax_fit_wrapper.Relax_fit_opt Python target function class Relax_fit_opt], the new [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#func_inv func_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#dfunc_inv dfunc_inv()] and [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#d2func_inv d2func_inv()] methods have been created as wrappers for the new C functions.  These are aliased to func(), dfunc() and d2func() in the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#__init__ __init__() method].  The target_functions/exponential_inv.c C file has been created with the functions exponential_inv(), exponential_inv_d0(), exponential_inv_dIinf(), exponential_inv_dR(), exponential_inv_dI02(), exponential_inv_dIinf2(), exponential_inv_dI0_dIinf(), exponential_inv_dR_dI0(), exponential_inv_dR_dIinf() and exponential_inv_dR2() have been created to implement the function, gradient, and Hessian for the equation I(t) = I<sub>&infin;</sub> - I<sub>0</sub>e<sup>-R.t</sup>.  In the target_functions/relax_fit.c file, the functions [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#func_inv func_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#dfunc_inv dfunc_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#d2func_inv d2func_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#jacobian_inv jacobian_inv()] and [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#jacobian_chi2_inv jacobian_chi2_inv()] have been created as duplications of the *_exp() functions, but pointing to the exponential_inv*() functions and adding the I</sub>&infin;<sub> dimension.
+
* Implemented the target functions for the inversion recovery exponential curve.  In the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html target_functions.relax_fit_wrapper.Relax_fit_opt Python target function class Relax_fit_opt], the new [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#func_inv func_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#dfunc_inv dfunc_inv()] and [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#d2func_inv d2func_inv()] methods have been created as wrappers for the new C functions.  These are aliased to func(), dfunc() and d2func() in the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper.Relax_fit_opt-class.html#__init__ __init__() method].  The target_functions/exponential_inv.c C file has been created with the functions exponential_inv(), exponential_inv_d0(), exponential_inv_dIinf(), exponential_inv_dR(), exponential_inv_dI02(), exponential_inv_dIinf2(), exponential_inv_dI0_dIinf(), exponential_inv_dR_dI0(), exponential_inv_dR_dIinf() and exponential_inv_dR2() have been created to implement the function, gradient, and Hessian for the equation I(t) = I<sub>&infin;</sub> - I<sub>0</sub>e<sup>-R.t</sup>.  In the target_functions/relax_fit.c file, the functions [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#func_inv func_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#dfunc_inv dfunc_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#d2func_inv d2func_inv()], [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#jacobian_inv jacobian_inv()] and [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit-module.html#jacobian_chi2_inv jacobian_chi2_inv()] have been created as duplications of the *_exp() functions, but pointing to the exponential_inv*() functions and adding the I<sub>&infin;</sub> dimension.
 
* More editing of the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].  The IR and SR abbreviations have been added, and a lot of text cleaned up.
 
* More editing of the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].  The IR and SR abbreviations have been added, and a lot of text cleaned up.
 
* Improvement for the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function] in the GUI.  Unicode text is now being used to display the parameters as R_x and I_0 and to show an infinity symbol in the I<sub>&infin;</sub> parameter.  The R<sub>x</sub> and I<sub>&infin;</sub> parameters have been added to [http://www.nmr-relax.com/api/3.3/lib.text.gui-module.html lib.text.gui] to allow this.
 
* Improvement for the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function] in the GUI.  Unicode text is now being used to display the parameters as R_x and I_0 and to show an infinity symbol in the I<sub>&infin;</sub> parameter.  The R<sub>x</sub> and I<sub>&infin;</sub> parameters have been added to [http://www.nmr-relax.com/api/3.3/lib.text.gui-module.html lib.text.gui] to allow this.

Revision as of 18:58, 3 December 2014


Description

This is a major feature and bugfix release, finally adding support for the saturation recovery and inversion recovery R1 experiments and including a major bug fix for storing multi-dimensional numpy data structures as IEEE 754 byte arrays in the XML output of the relax state and results files.


Download

The new relax versions can be downloaded from http://www.nmr-relax.com/download.html. If binary distributions are not yet available for your platform and you manage to compile the binary modules, please consider contributing these to the relax project (described in section 3.6 of the relax manual, http://www.nmr-relax.com/manual/relax_distribution_archives.html).


CHANGES file

Version 3.3.4
(3 December 2014, from /trunk)
http://svn.gna.org/svn/relax/tags/3.3.4


Features

  • Numerous improvements for the relax_fit.select_model user function.
  • Support for the saturation recovery experiment in the relaxation exponential curve-fitting analysis.
  • Support for the inversion recovery experiment in the relaxation exponential curve-fitting analysis.
  • Added a section to the start of the relaxation curve-fitting chapter of the manual to include descriptions of all supported models.
  • Addition of a button to the R1 and R2 GUI analyses for selecting the desired exponential curve model via the relax_fit.select_model user function.


Changes


Bugfixes

  • Bug fix for the pymol.view user function for when no PDB file exists. The user function would fail with an AttributeError when the currently loaded data does not exist as a PDB file. This is now caught and the non-existent PDB is no longer displayed. A better solution might be to dump all the current structural data into a temporary file and load that, all within a try-finally statement to be sure to delete the temporary file. This solution may not be what the user is interested in anyway.
  • Simple fix for bug #23017, the multidimensional numpy arrays are not being stored as IEEE 754 arrays in the XML state and results files. The problem was a relatively recent regression caused by a change to the is_float_matrix() function of the lib.arg_check module. It was simply that the default dims keyword argument value was changed from None to (3, 3). Therefore any call to the function without supplying the dims argument would fail if the matrix was not of the (3, 3) shape.


Links

For reference, the announcement for this release can also be found at following links:

Softpedia also has information about the newest relax releases:


Announcements

If you would like to receive announcements about new relax versions, please subscribe to the relax announcement mailing list. This list only receives ~10 emails per year. It is archived at the SourceForge archives and in The Mail Archive.


See also