relax 4.1.1

From relax wiki
Revision as of 12:47, 8 March 2019 by Bugman (Talk | contribs) (Changes: Copied the changes list from the CHANGES file.)

Jump to: navigation, search

Official relax releases
relax logo
relax version 4.1.1
Previous version
← relax 4.1.0

Keywords Dispersion
Release type Major bugfix
Release date 8 March 2019

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



The new relax versions can be downloaded from 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,


Version 4.1.1
(8 March 2019, from master)


  • N/A.


  • Mac OS X distribution file: Fixes for the DMG file generation. The .git directories are no longer bundled (the check in was for .svn directories), and the script contained a bug that blocked the image generation.
  • Release Checklist: Rewrite for the shift to a git repository and to the SourceForge infrastructure.
  • Test suite: Temporary file fix for the Bmrb system and GUI tests. The temporary files normally used by these tests were accidentally removed in a previous commit. The result was temporary files being placed in the current directory.
  • development script: Conversion from SVN to git. A number of spacing bugs have also been removed, simplifying the release process.
  • relax manual: The script can now handle the presence of latex2html. If latex2html had been set up via the docs/devel/latex2html/setup script, then would fail due to the presence of *.tex files outside of docs/latex/.
  • Update from LaTeX2HTML 2008 to 2019. The instructions now point to the latex2html repository fork at SourceForge (, with the relax manual specific branches.
  • GUI tests: Addition of the User_functions.test_bug_2_structure_read_pdb_failure test. This is to catch bug #2 (, the failure of the structure.read_pdb user function in the GUI.
  • GUI tests: Addition of the User_functions.test_bug_3_no_argument_validation test. This is to catch bug #3 (, the absence of user function argument validation within the GUI.
  • Unit tests: Addition of two tests for specific_analyses.relax_disp.parameters.param_num(). This is to catch bug #6 (, the failure of the parameter counting for the 3-site relaxation dispersion models when spins are clustered. The two unit tests are Test_parameters.test_param_num_clustered_spins and Test_parameters.test_param_num_single_spin in the unit test module _specific_analyses._relax_disp.test_parameters.
  • Unit tests: Addition of two tests for specific_analyses.relax_disp.parameters.loop_parameters(). The two unit tests are Test_parameters.test_loop_parameters_clustered_spins and Test_parameters.test_loop_parameters_single_spin in the unit test module _specific_analyses._relax_disp.test_parameters. These were added to try to catch the typo error at the end of the function, where the 'dwH_AB' parameter appears twice (the second should be 'dwH_AC'). However the typo was not caught in the tests as no currently implemented dispersion model contains the 'dwH_AC' parameter. Hence it is a latent bug. The tests do catch a minor error with the 'R2eff' model in which the 'i0' parameter is always returned. 'i0' should only be returned when exponential curve data is present. This bug has no apparent affect on the current operation of relax, so the parameter is probably handled correctly downstream.
  • Module specific_analyses.relax_disp.parameters: Fix for loop_parameters() with the 'R2eff' model. This now only returns the 'i0' parameter when exponential curve data is present. This fix has no apparent affect on the operation of relax, so the 'i0' parameter is probably correctly handled in code that calls the loop_parameters() function.
  • Dispersion: Shift of the model parameters from the parameter loop to lib.dispersion.variables. This removes all references to specific model parameters from the loop_parameters() function in the specific_analyses.relax_disp.parameters module into lib.dispersion.variables. This simplifies the loop_parameters() function and should minimise latent bugs.
  • Unit tests: Addition of two tests for specific_analyses.relax_disp.parameters.linear_constraints(). The two unit tests are Test_parameters.test_linear_constraints_clustered_spins and Test_parameters.test_linear_constraints_single_spin in the unit test module _specific_analyses._relax_disp.test_parameters. These show that the linear constraints are correctly assembled for single and clustered spins for all models.
  • Module specific_analyses.relax_disp.parameters: Docstring, whitespace, and comment fixes.
  • Unit tests: Addition of tests for lib.dispersion.ns_mmq_3site and lib.dispersion.ns_r1rho_3site. These are to catch bug #9 (, and specifically test for when pA is 1.0 and the other probabilities are zero. Two new unit tests of the _lib._dispersion.test_ns_mmq_3site module include Test_ns_mmq_3site.test_ns_mmq_3site_mq and Test_ns_mmq_3site.test_ns_mmq_3site_sq_dq_zq, and a single new unit test of the _lib._dispersion.test_ns_r1rho_3site module is Test_ns_r1rho_3site.test_ns_r1rho_3site.
  • Unit tests: Addition of two tests for specific_analyses.relax_disp.parameters.param_conversion(). The two unit tests are Test_parameters.test_param_conversion_clustered_spins and Test_parameters.test_param_conversion_single_spin in the unit test module _specific_analyses._relax_disp.test_parameters. These tests uncovered that the pC parameter for the 3-site R1rho dispersion models 'NS R1rho 3-site' and 'NS R1rho 3-site linear' is not being calculated in the param_conversion() function. This is now reported as bug #11 (
  • Unit tests: Creation of the Test_parameters.test_param_conversion_clustered_spins_sim test. This is to check the specific_analyses.relax_disp.parameters.param_conversion() function for a cluster of 2 spins for Monte Carlo simulations. It was a failed attempt to catch bug #10 ( The problem probably lies in the Monte Carlo simulation setup functions in the specific analysis API rather than in the module specific_analyses.relax_disp.parameters.
  • Unit tests: Test of the dispersion specific analysis API function sim_init_values(). This is an attempt at catching bug #10 (, the failure of the 3-site dispersion models when setting the pC parameter for Monte Carlo simulations. The failing test however shows that the sim_init_values() function probably needs a complete overhaul.
  • Dispersion: Improved handling of deselected spins in the loop_parameters() function. This is from the specific_analyses.relax_disp.parameters module. The function can now handle the first spins in the cluster being deselected.
  • FSFCV configuration: Skip some false positive copyrights in the docs/CHANGES file.



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

Softpedia also has information about the newest relax releases:


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