Changes

Jump to navigation Jump to search

Relax 4.0.1

27 bytes removed, 11:30, 15 December 2015
The bug report summary is now included in the link.
* Updated all of relax to protect against future changes occurring in the numpy Python package. From numpy version 1.9, the FutureWarning "__main__:1: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future." is seen in a large percentage of all relax's user functions. This is caught and turned into a RelaxWarning with the same message. The issue is that the behaviour of the comparison operators '==' and '!=' will change with future numpy versions. These have been replaced with 'is' and 'is not' throughout the relax code base. Changes have also been made to the [[minfx]] and [[bmrblib]] packages to match.
* More future protection against numpy changes. The FutureWarning is "`rank` is deprecated; use the `ndim` attribute or function instead. To find the rank of a matrix see `numpy.linalg.matrix_rank`." Therefore the [http://www.nmr-relax.com/api/4.0/target_functions.n_state_model.N_state_opt-class.html#paramag_info N-state model target function method paramag_info()] has been updated to use the .ndim attribute and longer use numpy.rank() function.
* Created the [http://www.nmr-relax.com/api/4.0/test_suite.system_tests.model_free.Mf-class.html#test_bug_23933_relax_data_read_ids Mf.test_bug_23933_relax_data_read_ids system test]. This is designed to catch [https://gna.org/bugs/?23933 bug #23933], the "NameError: global name 'ids' is not defined" problem when loading relaxation data]. A truncated version of the PDB file and relaxation data, the full versions of which are attached to the bug report, consisting solely of residues 329, 330, and 331 have been added to the test suite shared data directories, and the system test written to catch the NameError.
* Updated the [http://www.nmr-relax.com/api/4.0/test_suite.system_tests.model_free.Mf-class.html#test_bug_23933_relax_data_read_ids Mf.test_bug_23933_relax_data_read_ids system test] to catch the RelaxMultiSpinIDError. This allows the system test to pass, as a RelaxMultiSpinIDError is expected.
* Updated the [[minfx]] and [[bmrblib]] versions in the release checklist document to 1.0.12 and 1.0.4. This is to remove the numpy FutureWarning messages about the '== None' and '=! None' comparisons to numpy data structures, which in the future will change in behaviour.
* Adding 2 tutorial scripts.
* Fix for small spin ID error in tutorial script.
* Created a system test for catching [https://gna.org/bugs/?24131 bug #24131]. This is , the BMRB export failure when the SpinContainer object has no {{:S2}} attribute], as reported by Martin Ballaschk.
* Modified the [http://www.nmr-relax.com/api/4.0/test_suite.system_tests.model_free.Mf-class.html#test_bug_24131_bmrb_deposition Mf.test_bug_24131_bmrb_deposition system test] to check for the RelaxError. The test results in a RelaxError, as the results file contains no selected spins.
* Added the [http://www.nmr-relax.com/api/4.0/test_suite.system_tests.model_free.Mf-class.html#test_bug_24131_missing_interaction Mf.test_bug_24131_missing_interaction system test] to catch another problem. This is part of [https://gna.org/bugs/?24131 bug #24131], the BMRB export failure with the SpinContainer object having no {{:S2}} value]. However the previous fix of skipping deselected spins introduced a new problem of relax still searching for the interatomic interactions for that deselected spin.
<section end=changes/>
<section begin=bugfixes/>
* Replicated titles in the [http://www.nmr-relax.com/manual/index.html HTML version of the relax manual], and hence replicated HTML file names overwriting earlier sections, have been eliminated.
* Fix for [https://gna.org/bugs/?23933 bug #23933]. This is , the "NameError: global name 'ids' is not defined" problem when loading relaxation data]. The bug was introduced back in November 2014, and is due to some incomplete error handling code. The problem is that the spin type that the relaxation data belongs to (@N vs. @H) has not been specified. Now the correct RelaxMultiSpinIDError is raised. The 'ids' variable did not exist - it was code that was planned to be added, but never was and was forgotten.
* Fix for the CSA constant equation in the model-free chapter of the manual. This was spotted by [https://mail-archive.com/relax-users%40gna.org/msg01776.html Christina Möller and reported on the relax-users mailing list].
* Bug fix for the storage of the XML structural object in the state and results files. Previously any objects added to cdp.structure (or any structure object) would not be saved by the [http://www.nmr-relax.com/api/4.0/lib.structure.internal.object.Internal-class.html#to_xml structural object to_xml() method] unless the function is explicitly modified to store that object. Now all objects present will be converted to XML.
* Fix for running relax at a server with no graphical display and using matplotlib. The error was found with the [http://www.nmr-relax.com/api/4.0/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_repeat_cpmg Relax_disp.test_repeat_cpmg system test]. And the error generated was: "QXcbConnection: Could not connect to display. Aborted (core dumped)". The backend of matplotlib has to be changed. This is for example described in: http://stackoverflow.com/questions/2766149/possible-to-use-pyplot-without-display and http://stackoverflow.com/questions/8257385/automatic-detection-of-display-availability-with-matplotlib.
* Modified the behaviour of the [http://www.nmr-relax.com/manual/bmrb_write.html bmrb.write user function] backend for a model-free analysis (fix for [https://gna.org/bugs/?24131 bug #24131]). This is in the [http://www.nmr-relax.com/api/4.0/specific_analyses.model_free.api.Model_free-class.html#bmrb_write bmrb_write() method of the model-free analysis API]. Deselected spins are now skipped and a check has been added to be sure that spin data has been assembled.
* Another fix for [https://gna.org/bugs/?24131 bug #24131]. This is , the BMRB export failure when the SpinContainer object has no {{:S2}} attribute]. Now no data is stored in the BMRB file if a model-free model has not been set up for the spin. This allows the test suite to pass.* Bug fix to allow the [http://www.nmr-relax.com/api/4.0/test_suite.system_tests.model_free.Mf-class.html#test_bug_24131_missing_interaction Mf.test_bug_24131_missing_interaction system test] to pass. This is part of [https://gna.org/bugs/?24131 bug #24131], the BMRB export failure with the SpinContainer object having no {{:S2}} value]. The problem was when assembling the diffusion tensor data. The [http://www.nmr-relax.com/api/4.0/pipe_control.mol_res_spin-module.html#spin_loop spin_loop() function] was being called, as the diffusion tensor is reported for all residues. Therefore the skip_desel=True has been added to match the model-free part.
<section end=bugfixes/>
Trusted, Bureaucrats
4,223

edits

Navigation menu