Open main menu

Changes

Relax 3.0.0

174 bytes added, 12:24, 15 October 2020
Switch to the {{relax developer link}} template to remove dead Gna! links.
* Shifted the lib.xplor module into the lib.software package.
* Shifted the Bruker Dynamics Centre parsing code into the new lib.software.bruker_dc module.
* Deleted the completely unused pipe_control.spectrum.Bruker_import class. This was added by {{gna relax developer link|urlusername=gna.org/users/michaelbieri|text=Michael Bieri}} in Oct 2011, but the code has never been used. Other, simpler code has replaced its functionality.
* Created the Ct.test_bug_20674_ct_analysis_failure system test for catching bug #20674. This was reported by Mengjun Xue <mengjun dott xue att mailbox dott tu-berlin dot de> at https://gna.org/bugs/?20674.
* Decreased the number of Monte Carlo simulations in the Ct.test_bug_20674_ct_analysis_failure system test.
* The [http://www.nmr-relax.com/manual/frq_set.html frq.set user function] 'id' argument is no longer read only - this was causing test suite failures.
* Removed a nasty kludge for releasing the execution lock on failure. This kludge, after the bug fix for https://gna.org/bugs/?20756, was causing failures in the test suite.
* Changed the 'Execute relax' button in all analyses in the GUI to 'Execute analysis'. It makes no sense to execute relax as relax has been executing during the analysis initialisation and the user setting up all the data for the analysis. This is a remnant of ancient design of {{gna relax developer link|urlusername=gna.org/users/michaelbieri|text=Michael Bieri's}} GUI being a separate program to relax, which would execute relax with the click of this button.
* Restored the Py_INCREF() function call in the relaxation curve-fitting C module. This was deleted at r12632 along with Py_XDECREF() and Py_DECREF() calls. The absence of a Py_INCREF() function call causes the module to crash the Python interpreter under certain conditions. The problem was found in the relax_disp branch.
* Clean up of unused headers and declarations in the exponential curve C module.
* The spectrum.peak_intensities is now more robust when reading in a generic formatted file. Firstly there is a check that the intensity column number has been supplied. And then there is a checks that all relevant data could be extracted from each row of the file. This replaces traceback errors with RelaxErrors explaining the problem if the user inputs bad data or forgets the intensity column argument.
* Changed the "Execute analysis" button text back to the original "Execute" text of the old relax GUI.
* Added the 'test.seq' file from [http://gna.org/bugs/?20873 bug report #20873]. This is from [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels E. Linnet]}}. The bug report and link to http://thread.gmane.org/gmane.science.nmr.relax.user/1452 explains the contents. The file will be used to construct a system test to catch the bug.* Created the Peak_lists.test_bug_20873_peak_lists system test to catch [https://gna.org/bugs/?20873 bug #20873]. This was reported by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels E. Linnet]}}. The test has been created by copying the user function calls from the original bug report and slightly modifying them to suite a 'relax_fit' analysis type.
* Fix for the Peak_lists.test_bug_20873_peak_lists system test. The spectrum IDs are now strings.
* Added checks of the peak intensities to the Peak_lists.test_bug_20873_peak_lists system test.
* More cleanups of unused imports throughout relax.
* Fixes and expansion of the test_suite.unit_tests._lib package __all__ list.
* Fixes and improvements to {{gna relax developer link|urlusername=gna.org/users/varioustoxins|text=Gary Thompson's}} unit_test_runner.py script. The printouts have been improved and the script can now handle more than 3 levels of directories for a package.
* The unit_test_runner.py script now defaults to verbose mode.
* More cleanups of the unit_test_runner.py script.
* Spacing fix in an import statement (found using the 2to3 conversion program).
* Added the relax wiki backup script for dumping the MySQL database contents locally. This is from http://article.gmane.org/gmane.science.nmr.relax.devel/4163.
* Added the script from [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels Linnet] }} for backing up the relax wiki via FTP. This is from the post http://article.gmane.org/gmane.science.nmr.relax.devel/4168.* Added a link to [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels'] }} post to the relax-devel mailing list to the relax wiki FTP backup script. The link is http://article.gmane.org/gmane.science.nmr.relax.devel/4168
* The relax info printout now works in the absence of the bmrblib module.
* Added some Oxygen icons for a boolean GUI input element. The media-record-relax-green.png files are the media-record.png files with the hue set to 117.
* Fixed the extraction of NMRPipe seriestab data in pipe_control.spectrum.read(). Progress [https://gna.org/support/?3043 sr #3043 - support for NMRPipe seriesTab format *.ser].
* Fix for handling reading spin of type heteronuc='NE1' and proton='HE1'. Progress [https://gna.org/support/?3043 sr #3043 - support for NMRPipe seriesTab format *.ser].
* Adding NMR seriesTab data file for a multiple column / multiple spectrum formatted file. This file is from https://gna.org/support/download.php?file_id=18618 attached to the support request https://gna.org/support/?3043 by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels Linnet]}}. This is if the command "seriesTab -in ../../peaks.dat -out seriesTab_multi.ser -list nmrfiles.list -sum -dx 1 -dy 1" where nmrfiles.list contains file reference to 10 .ft2 files.
* Fix for unit test of nmrpipe. Progress [https://gna.org/support/?3043 sr #3043 - support for NMRPipe seriesTab format *.ser].
* Replacing a pointer-reference structure to an empty creation of list of lists. Progress [https://gna.org/support/?3043 sr #3043 - support for NMRPipe seriesTab format *.ser].
* Big bug fix for the [http://www.nmr-relax.com/manual/value_copy.html value.copy user function] - it is now functional again.
* Bug fix for the [http://www.nmr-relax.com/manual/value_copy.html value.copy user function]. The user function can now handle parameter errors, and the values are set in the correct data pipe.
* Bug fix for an incorrect print statement in the N_state_model.test_paramag_centre_fit system test. This is in the script, and was uncovered using WinPython by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels E. Linnet] }} via the relax system tests at http://thread.gmane.org/gmane.science.nmr.relax.devel/3863. The Python bug was detailed at http://thread.gmane.org/gmane.science.nmr.relax.devel/3863/focus=3867.* Fix for the package checking as part of the unit tests. This was identified from the [https://gna.org/bugs/?20820 bug report #20820] submitted by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels E. Linnet]}}. The problem was that on some systems, the full path is required for checking the presence of the directories which are the sub-packages of the main package being checked. The result was that checking for the package in the __all__ list was skipped. Note that this change does not fix the bug reported.
* Fixes for the Jw.test_calc system test - the spectral density value comparison is now significant.
* Bug fix for the pipe_control.spectrometer.get_frequencies() function. The units argument was incorrectly referenced.
* Fix for [https://gna.org/bugs/?20820 bug #20820]. Solution found - 'software' was not mentioned in __init__.py, and failed at import.
* Partial fix for [https://gna.org/bugs/?20873 bug #20873]. The spectrum_id argument for the [http://www.nmr-relax.com/manual/spectrum_read_intensities.html spectrum.read_intensities user function] can now be both a string and a list of strings.
* Fix for [http://gna.org/bugs/?20873 bug #20873]. This was reported by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels E. Linnet]}}. The ability to load multiple peak intensities from a single generic formatted file has been correctly implemented. This involves added checks to make sure that the user supplies reasonable arguments and to then loop over the intensity column argument.
* Python 3 fixes via the 2to3 program.
* Bug fix for the [http://www.nmr-relax.com/manual/value_write.html value.write user function] for list or dictionary type data. This is for the case where the variable of one spin is set to None rather than a list or dictionary type.
* Fix for [https://gna.org/bugs/?20888 bug #20888, the autoscaling of Grace graphs]. This solution was mentioned in the post at http://thread.gmane.org/gmane.science.nmr.relax.devel/3920/focus=3930. Instead of using minimum and maximum values for the axes in the Grace graphs produced by the lib.software.grace module, which was the old solution for having the graphs scaled to reasonable values, instead the '@autoscale' command is appended to the end of all graphs. This is performed by the write_xy_data() function.
* Bug fix for the running of the test suite in the relax GUI. The fix of r19727 was extended to apply to the GUI as well. Too many arguments were being sent into TextTestRunner Python class on certain Python versions (3.1 and &le; 2.6).
* Big bug fix - the relax execution lock now truly supports nesting. This fixes [https://gna.org/bugs/?20891 bug #20891] reported by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels Linnet]}}. Scripts can now be executed from the GUI. Note that this is a very dangerous fix.
* Completed the fix for [https://gna.org/bugs/?20889 bug #20889]. The problem was that the [http://www.nmr-relax.com/manual/spectrum_read_intensities.html spectrum.read_intensities user function] was incorrectly updating the cdp.spectrum_ids list when the spectrum_id argument is set to a list. The list of IDs was being set as a single element of cdp.spectrum_ids, causing problems with the GUI when updating the ComboBox choices and then subsequent setting of the spectrum IDs. This bug and fix is independent of the relax_disp branch, despite being uncovered there and being caught by the Relax_disp.test_bug_20889_multi_col_peak_list GUI test in that branch.
* Bug fix for the GUI element for the [http://www.nmr-relax.com/manual/interatom_define.html interatom.define user function]. The special spin ID GUI elements can not be set to the get_spin_ids() function as then SetValue can no longer work for IDs not in the list.
* Fixes for the unit tests of the lib.selection module. The contains_*() methods now should be used. And the test_Selection_ful_spin_id() unit test has been completely deleted as this way of checking the selection object is no longer valid.
* Fix for [https://gna.org/bugs/?20910 bug #20910 - the broken grace.write GUI interface]. The problem was that the Value GUI input element was not detecting list-type data returned by the wiz_combo_iter method.
* Fix for [ (https://gna.org/bugs/?20915 bug #2091 - Failure of Grace opening in MS Windows]. [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels E. Linnet] }} provided this patch, and was discovered during work on a Windows 7 system: telinnet aaattt bio_dot_ku_dot_dk. This is a small fix for a wrong call to "raise RelaxMissingBinaryError(binary)", when issuing an external call to xmgrace. The "path_sep" would be equal = [\/], and the RE search would not find(True) the full path specified for the xmgrace file. This is now shifted to python: os.path.isfile http://docs.python.org/2/library/os.path.html. Another fix, is that as a standard the command "xmgrace" is provided. This will work fine through windows cmd, but the true name for program in windows is "xmgrace.exe", and so an additional search for +".exe" is also performed.
* Fix for the N_state_model.test_absolute_T system test for Mac OS X. The precision of the check needed to be decreased.
* Fix for [https://gna.org/bugs/?20918 bug #20918, the hanging of the data pipe editor]. This was reported by [https://gna.org/users/{{relax developer link|username=tlinnet |text=Troels Linnet] }} and is an MS Windows only problem. The problem is in the wxMSW part of wxPython, and it may be fixed in newer wxPython versions. The issue is nevertheless now avoided by calling the GUI user function store objects with the arguments wx_wizard_sync=True and wx_wizard_modal=True. This appears to solve the problem.
* Decreased the precision of the check in the Frame_order.test_rigid_data_to_rigid_model system test. This is to allow the test to pass on a MS Windows 7 test machine.
* More MS Windows fixes, this time a nasty kludge, for the relax system tests. This is strangely needed for the relax_disp branch and not the trunk for a 64-bit MS Windows 7 test system. The reason why this WindowsError is triggered by the base tearDown() method in the relax_disp branch and not trunk is a total mystery. Actually why Windows refuses to complete the file close() operations of the [http://www.nmr-relax.com/manual/results_write.html results.write] and [http://www.nmr-relax.com/manual/state_save.html state.save] user functions before calling the tearDown() method is the greater mystery.
Trusted, Bureaucrats
4,228

edits