Open main menu

Changes

Relax 3.3.0

16 bytes added, 20:56, 8 October 2020
m
Fixes for all the broken Gna! forum links.
* Updated the script for finding unused imports in the relax source code. Now the file name is only printed for Python files which have unused imports.
* Completely removed all mentions of Freecode from the release document. The [http://freecode.com/projects/nmr-relax old relax links are still there], but [http://freecode.com/about Freecode is dead].
* Updated the minfx version in the release checklist document to [https://{{gna link|url=gna.org/forum/forum.php?forum_id=2471 |text=1.0.8]}}. This version has not been released yet, but it will include important fixes and additions for constrained parallelised grid searches.
* Fix for a broken link in the development chapter of the relax manual.
* Fixes for dead hyperlinks in the relaxation dispersion chapter of the relax manual. The [[B14]] model links to http://www.nmr-relax.com/api/3.2/lib.dispersion.b14-module.html were broken as the B in [[B14]] was capitalised.
* Sent in the verbosity argument value to the [http://home.gna.org/minfx/minfx.grid-module.html#grid_split minfx.grid.grid_split() function]. The minfx function in the next release ([https://{{gna link|url=gna.org/forum/forum.php?forum_id=2471 |text=1.0.8]}}) will now be more verbose, so this will help with user feedback when running the model-free analysis on a cluster or multi-core system using MPI.
* The [http://www.nmr-relax.com/manual/time.html time user function] now uses the chronometer [https://en.wikipedia.org/wiki/Oxygen_Project Oxygen icon] in the GUI.
* Removed the line wrapping in the epydoc parameter section of the optimisation function docstrings. This is for the pipe_control.minimise module.
* Improved the relax version printouts for the dispersion model master profiling script. This now reports both relax versions.
* Removed a tonne of unused imports from the dispersion model profiling scripts. This is to allow most of the scripts to run on the relax 3.1.x versions, as well as to clean up the scripts. The unused imports were found using the command: pylint test_suite/shared_data/dispersion/profiling/*.py --disable=all --enable=unused-import.
* Added a relaxation dispersion model profiling log file for relax version [[relax 3.2.1|3.2.1]] vs. [[relax 3.2.0|3.2.0]]. This is the output from the dispersion model profiling master script. It shows a 2.2 times increase in speed for the [[B14]] and [[B14 full]] models, with all other models remaining at the same speed. This matches the changes for relax [[relax 3.2.1|3.2.1]] (https://gna.org/forum/forum.php?forum_id=2462), the main feature of which is a major bugfix for the [[B14]] models.
* The 'relax -v' command is now used for the dispersion model profiling script initial printout. This is to show the two different relax versions being compared.
* Modifications to the dispersion model profiling master script. The info.print_sys_info() function of the current relax version is being called at the start to show all information about the current system. This is useful to know the speed of the machine, the OS, the Python version and numpy version. The numpy version is important as future versions might optimise certain functions that are currently very slow, hence that could be a cause of model speed differences. In addition, the path variables path1 and path2 have been renamed to path_new and path_old to make it clearer which is which. And the individual profiling scripts are no longer copied to the base directory of the relax versions being compared, and are run in place.
* Added a relaxation dispersion model profiling log file for relax version [[relax 3.2.2|3.2.2]] vs. [[relax 3.2.1|3.2.1]]. This is the output from the dispersion model profiling master script. It shows that the relax [[relax 3.2.2|3.2.2]] release did not in fact feature "a large speed up of all analytic relaxation dispersion models" as described in the release notes at https://{{gna url|gna.org/forum/forum.php?forum_id=2465}}. For the CPMG models there is a 1 to 2 times increase in speed. But for the R<sub>1&rho;</sub> models, there is a 1 to 2 times decrease in speed.
* Added a relaxation dispersion model profiling log file for relax version [[relax 3.2.0|3.2.0]] vs. [[relax 3.1.7|3.1.7]]. This is the output from the dispersion model profiling master script. It shows that there are no speed differences.
* Added a relaxation dispersion model profiling log file for relax version [[relax 3.1.7|3.1.7]] vs. [[relax 3.1.6|3.1.6]]. This is the output from the dispersion model profiling master script. It shows that there are no speed differences.
* Removed unnecessary repetitive calculation of k<sub>ex</sub><sup>2</sup> in model [[DPL94]]. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* API documentation fixes, where a "\" is the last character on the line. There should be a space " ", ending this character. [https://gna.org/task/?7807 Task #7807: Speed-up of dispersion models for clustered analysis].
* Updated the [https://{{gna link|url=gna.org/forum/forum.php?forum_id=2472 |text=minfx version number to 1.0.9] }} in the release checklist document. This as of yet unreleased version contains an important fix for parallelised grid searches when the number of increments is set to one (i.e. a preset parameter).
* Fix for the _prompt.test_align_tensor.Test_align_tensor.test_init_argfail_params unit test. As the alignment tensor can now be initialised as None, the None value can be accepted and a different RelaxError is raised when the params argument is incorrectly supplied.
* Added a new set of icons for use with the minimisation user functions. These are of the Rosenbrock function and are much better suited for small icons than the current OpenDX 3D isosurface plots. The matplotlib figure originates from public domain code at http://commons.wikimedia.org/wiki/File:Rosenbrock_function.svg.
* Created two new model-free system tests. These are Mf.test_m0_grid_with_grid_search and Mf.test_m0_grid_vs_m1_with_grid_search. Their aim is to better test the grid search in a model-free analysis when parameters are preset.
* Converted the model-free analysis to the new grid bounds and scaling factor design. The parameter object now registers the grid bounds and scaling factors for all of the model-free parameters. This includes the functions rex_scaling() and rex_upper() in the specific_analyses.model_free.parameter_object module for calculating some of these values. The base parameter object has also been updated as that is where the diffusion parameters are defined. Here the da_lower() and da_upper() have been defined to handle the different Da value constraints. The specific_analyses.model_free.parameters.assemble_scaling_matrix() function has been deleted as this is now provided by the upstream code in pipe_control.minimise. And the API methods grid_search() and minimise() has been modified to accept the list of scaling matrices. As the grid bounds and increments are now handled by the upstream pipe_control.minimise.grid_setup() function, the grid_search_config(), grid_search_diff_bounds() and grid_search_spin_bounds() functions in the specific_analyses.model_free.optimisation module were redundant and were deleted. The new API function print_model_title() has been implemented to handle the grid search setup printouts.
* Modified the pipe_control.minimise.grid_setup() function for when no parameters are present. For the current version of minfx to function correctly ([https://{{gna link|url=gna.org/forum/forum.php?forum_id=2471 |text=1.0.8]}}), the lower, upper and inc values should be set to [] rather than None.
* Fix for the lib.arg_check.is_num_or_num_tuple(). When the can_be_none flag is set to True, the tuple of None values is now considered valid. This enable the [http://www.nmr-relax.com/manual/diffusion_tensor_init.html diffusion_tensor.init user function] to accept the spheroid tensor values of (None, None, None, None), and the ellipsoid tensor values as a tuple of 6 None.
* Fix for the _prompt.test_diffusion_tensor.Test_diffusion_tensor.test_init_argfail_params unit test. As the diffusion tensor can now be initialised as None, the None value can be accepted and a different RelaxError is raised when the params argument is incorrectly supplied.
* Added a derivation of the R<sub>2eff</sub>/R<sub>1&rho;</sub> error estimate for the two-point measurement to the manual. This is from http://thread.gmane.org/gmane.science.nmr.relax.devel/6929/focus=6993 and is for the rate uncertainty of a 2-parameter exponential curve when only two data points have been collected. The derivation has been added to the dispersion chapter of the manual.
* Equation fixes for the two-point exponential error derivation in the dispersion chapter of the manual.
* Updated the minfx version numbers in the release checklist document. The version is now [https://{{gna link|url=gna.org/forum/forum.php?forum_id=2475 |text=1.0.10]}}, which has not been released yet but will contain the implementation of the log-barrier constraint algorithm gradient and Hessian.
* Fix for the minfx version checking logic in the dep_check module. Now newer versions of minfx will be handled.
* Fixes for the Relax_disp.test_estimate_r2eff_err system test. The k<sub>ex</sub> parameter value checks have all been scaled by 1e<sup>-5</sup> to allow for a meaningful floating point number comparison. The number of significant figures have also been scaled. This allows the test to now pass on one 64-bit GNU/Linux system.
Trusted, Bureaucrats
4,223

edits