Difference between revisions of "Relax 3.3.4"

From relax wiki
Jump to navigation Jump to search
m (→‎Links: Fix the broken Gna! forum link by switching to {{gna link}}.)
m (Switch to the {{gna link}}, {{gna task link}}, and {{gna task url}} templates to remove dead Gna! links.)
 
Line 49: Line 49:
 
* Updated all of the [http://www.nmr-relax.com/manual/] links in the [http://www.nmr-relax.com/api/3.3/lib.dispersion-module.html lib.dispersion package].  This is for all of the individual model pages in the HTML manual.
 
* Updated all of the [http://www.nmr-relax.com/manual/] links in the [http://www.nmr-relax.com/api/3.3/lib.dispersion-module.html lib.dispersion package].  This is for all of the individual model pages in the HTML manual.
 
* Improved the description for the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].
 
* Improved the description for the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].
* A small code rearrangement to create the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html new target_functions.relax_fit_wrapper module].  This follows from the idea at [https://gna.org/task/?7415#comment6].  The *func_wrapper() functions of the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit.optimisation-module.html specific_analyses.relax_fit.optimisation module] have been shifted out and converted to class methods to create the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html target_functions.relax_fit_wrapper module].  This will be used to abstract away all of the C code, and will form the infrastructure to allow new exponential curves to be quickly supported.  The modules of the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit-module.html specific_analyses.relax_fit] and [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_disp-module.html specific_analyses.relax_disp] packages now import 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 target function class] and use that instead.
+
* A small code rearrangement to create the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html new target_functions.relax_fit_wrapper module].  This follows from the idea at {{gna task url|7415|comment=6}}.  The *func_wrapper() functions of the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit.optimisation-module.html specific_analyses.relax_fit.optimisation module] have been shifted out and converted to class methods to create the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html target_functions.relax_fit_wrapper module].  This will be used to abstract away all of the C code, and will form the infrastructure to allow new exponential curves to be quickly supported.  The modules of the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit-module.html specific_analyses.relax_fit] and [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_disp-module.html specific_analyses.relax_disp] packages now import 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 target function class] and use that instead.
 
* Shifted the C code Jacobian functions into the new [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html target_functions.relax_fit_wrapper module].  This shifts all of the relaxation curve-fitting C code access into the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html  target_functions.relax_fit_wrapper module] so that the rest of relax does not need to handle the C code.  This will allow for new models to be very easily supported, as they would all be set up in this target function module.
 
* Shifted the C code Jacobian functions into the new [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html target_functions.relax_fit_wrapper module].  This shifts all of the relaxation curve-fitting C code access into the [http://www.nmr-relax.com/api/3.3/target_functions.relax_fit_wrapper-module.html  target_functions.relax_fit_wrapper module] so that the rest of relax does not need to handle the C code.  This will allow for new models to be very easily supported, as they would all be set up in this target function module.
 
* Updated the formula in the description of the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].
 
* Updated the formula in the description of the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].
 
* Modified the printouts from the [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function] if models are present.  Instead of printing out 'MODEL', 'ATOM, HETATM, TER' and 'ENDMDL' for each model, the header 'MODEL records' is printed followed by a single '.' character for each model.  For structures with many models, this results in a huge speed up of the user function which is strongly limited by how fast the terminal can display text.
 
* Modified the printouts from the [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function] if models are present.  Instead of printing out 'MODEL', 'ATOM, HETATM, TER' and 'ENDMDL' for each model, the header 'MODEL records' is printed followed by a single '.' character for each model.  For structures with many models, this results in a huge speed up of the user function which is strongly limited by how fast the terminal can display text.
* Added the synthetic saturation-recovery data in the form of Sparky peak lists to the repository.  These files were created by Andras Boeszoermenyi.  They are attached to [http://gna.org/task/?7415 task #7415] as the [http://gna.org/task/download.php?file_id=22989 Relax_sym.tar.gz file].  They were created for the formula I<sub>0</sub>(1 - e<sup>−R<sub>1</sub>.t</sup>) where I<sub>0</sub> = 1000000000000000.00 and R<sub>1</sub> = 0.5.  These files and the associated relax_sim.py script (which needs to be updated for the latest relax version) could form the basis of a basic system test.  This system test could then be used to implement the saturation-recovery experiment equations in relax.
+
* Added the synthetic saturation-recovery data in the form of Sparky peak lists to the repository.  These files were created by Andras Boeszoermenyi.  They are attached to {{gna task link|7415}} as the {{gna link|url=gna.org/task/download.php?file_id=22989|text=Relax_sym.tar.gz file}}.  They were created for the formula I<sub>0</sub>(1 - e<sup>−R<sub>1</sub>.t</sup>) where I<sub>0</sub> = 1000000000000000.00 and R<sub>1</sub> = 0.5.  These files and the associated relax_sim.py script (which needs to be updated for the latest relax version) could form the basis of a basic system test.  This system test could then be used to implement the saturation-recovery experiment equations in relax.
 
* Updated the [http://www.nmr-relax.com/api/3.3/target_functions-module.html target_functions package] __all__ list to include the relax_fit* modules.
 
* Updated the [http://www.nmr-relax.com/api/3.3/target_functions-module.html target_functions package] __all__ list to include the relax_fit* modules.
 
* Modified the package __all__ list checking unit test to accept *.so C modules.
 
* Modified the package __all__ list checking unit test to accept *.so C modules.
 
* Removal of an unused import in the relax_fit_zooming_grid.py system test script.
 
* Removal of an unused import in the relax_fit_zooming_grid.py system test script.
* Added a system test script for testing the saturation-recovery R<sub>1</sub> experiment.  This was created by Andras Boeszoermenyi.  The file was taken from the [https://gna.org/task/download.php?file_id=22997 saturation_recovery.tar.gaz file] attached to [http://gna.org/task/?7415 task #7415].  The only difference with the original script is that the [http://www.nmr-relax.com/manual/grace_view.html grace.view user function] calls have been removed, as these cannot be used in a system test.
+
* Added a system test script for testing the saturation-recovery R<sub>1</sub> experiment.  This was created by Andras Boeszoermenyi.  The file was taken from the {{gna link|url=gna.org/task/download.php?file_id=22997|text=saturation_recovery.tar.gaz file}} attached to {{gna task link|7415}}.  The only difference with the original script is that the [http://www.nmr-relax.com/manual/grace_view.html grace.view user function] calls have been removed, as these cannot be used in a system test.
 
* Modified the relax_fit_saturation_recovery.py script to work as a system test.  This is the script from Andras Boeszoermenyi.  The change follows from the discussion of [http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369].  The status.install_path variable is now used to point to the location of the files.  The relax data store ds.tmpdir variable is used for outputting all files.  And commented out user functions have been deleted.
 
* Modified the relax_fit_saturation_recovery.py script to work as a system test.  This is the script from Andras Boeszoermenyi.  The change follows from the discussion of [http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369].  The status.install_path variable is now used to point to the location of the files.  The relax data store ds.tmpdir variable is used for outputting all files.  And commented out user functions have been deleted.
 
* Added a copyright notice for Andras Boeszoermenyi for the newly added saturation-recovery R<sub>1</sub> script.  This change follows the discussion in the message [http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369].
 
* Added a copyright notice for Andras Boeszoermenyi for the newly added saturation-recovery R<sub>1</sub> script.  This change follows the discussion in the message [http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369].

Latest revision as of 11:22, 16 October 2020


Official relax releases
relax logo
relax version 3.3.4
Previous version Next version
← relax 3.3.3 relax 3.3.5 →

Keywords Relaxation curve-fitting, state file
Release type Major feature and bugfix
Release date 3 December 2014

The PDF version of the relax 3.3.4 user manual The relax 3.3.4 user manual

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