Changes

Jump to navigation Jump to search

Relax 4.1.2

3,274 bytes added, 11:55, 26 April 2019
→‎Bugfixes: Copied the bugfix list from the CHANGES file.
<section begin=bugfixes/>
* relax GUI: wxPython-Phoenix 4.x fix to allow relax to start again. In the later wxPython versions, relax would not be able to start either the GUI or any of the test suite due to a new error "wx._core.PyNoAppError: The wx.App object must be created first!". This was not present in wxPython-Phoenix 3. The Relax_icons class (a wx.IconBundle derived class) is no longer instantiated on import.
* Structure loading: Fix for bug #12, the acceptance of the invalid '#' character in molecule names. See https://sourceforge.net/p/nmr-relax/tickets/12/. A simple check has not been added to the load_pdb() and load_xyz() functions of the internal structural object in lib.structure.internal.object. This ensures that the '#' character can never be set as the molecule name, independently if it was taken from a file name or set via the set_mol_name arguments of the structure.read_pdb or structure.read_xyz user functions.
* Bruker DC: Complete redesign of the backend to support reading newer (or older) file versions. This fixes bug #13 (https://sourceforge.net/p/nmr-relax/tickets/13/), the failure of reading newer Bruker DC files. The backend has been resigned so that the relax library produces a complex Python object representation of the Bruker DC results file. This object now stores all of the data present within the Bruker DC file. The design is more flexible as precise column ordering no longer matters.
* Fix for bug #14, the freezing of user functions in the GUI. See https://sourceforge.net/p/nmr-relax/tickets/14/. The user functions freeze if an error occurs that is not a RelaxError, with the mouse pointer stuck on the busy cursor. These non-RelaxErrors are now caught and manually dealt with by the GUI interpreter. Like all GUI freezing bugs, this was introduced with the huge GUI speed up prior in relax 4.1.0. These also only to appear to be a freeze, but it is actually the failure to update and show the relax controller combined with not turning off the busy mouse cursor.
* GUI bug fix: Avoidance of the numpy depreciation of '== None'. This deprecation causes the GUI to fail with recent numpy versions.
* Relaxation dispersion: Protection of all of the MODEL_PARAMS_* variables from modification. These are now only used with copy.deepcopy(). This removes a number of bugs in which the lists, which should be read-only, are permanently modified by the addition of 'r1'. The system tests add 'r1' and then the unit tests subsequently fail. This would also be an issue if an experiment without the 'r1' parameter is analysed after one with that parameter, without restarting relax.
* Relaxation dispersion bug fix: The 'r1' parameter was missing from the nested parameter algorithm. This is the nesting_param() function of the specific_analyses.relax_disp.model module. The 'r1' parameter must be treated differently from the other model parameters, just as the 'r2*' parameters are.
* Dispersion auto-analysis: Bug fix for the plotting of the R1 parameter. The plotting relied on the insertion of the 'r1' parameter into the read only MODEL_PARAMS_* variables of lib.dispersion.variables. Now the Model_class class from specific_analyses.relax_disp.models is being used to dynamically determine the parameters of the model.
<section end=bugfixes/>
Trusted, Bureaucrats
4,223

edits

Navigation menu