Difference between revisions of "Relax 3.1.6"
(Category link updates for the specific analyses.) |
m (→Changes: Switch to the {{relax developer link}} template to remove dead Gna! links.) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{lowercase title}} | {{lowercase title}} | ||
− | = Description = | + | {{infobox relax release |
+ | | version = 3.1.6 | ||
+ | | prev = 3.1.5 | ||
+ | | next = 3.1.7 | ||
+ | | type = Major feature and bugfix | ||
+ | | date = 28 February 2014 | ||
+ | | manual = yes | ||
+ | }} | ||
+ | |||
+ | == Description == | ||
<section begin=description/> | <section begin=description/> | ||
Line 7: | Line 16: | ||
<section end=description/> | <section end=description/> | ||
− | = Download = | + | == Download == |
<section begin=download/> | <section begin=download/> | ||
Line 13: | Line 22: | ||
<section end=download/> | <section end=download/> | ||
− | = CHANGES file = | + | == CHANGES file == |
<section begin=metadata/> | <section begin=metadata/> | ||
Line 21: | Line 30: | ||
<section end=metadata/> | <section end=metadata/> | ||
− | == Features == | + | === Features === |
<section begin=features/> | <section begin=features/> | ||
Line 40: | Line 49: | ||
<section end=features/> | <section end=features/> | ||
− | == Changes == | + | === Changes === |
<section begin=changes/> | <section begin=changes/> | ||
Line 65: | Line 74: | ||
* Epydoc docstring fix for the pipe_control.structure.main.load_spins() function. | * Epydoc docstring fix for the pipe_control.structure.main.load_spins() function. | ||
* Created the Mf.test_bug_21615_incomplete_setup_failure GUI tests. This is designed to catch [https://gna.org/bugs/?21615 bug #21615] as reported by Ivan Leung (ivanhoe dott leung att chem dott ox dot ac dot uk). Included are the data files Ivan attached to the bug report truncated to two residues. The GUI test follows exactly the steps outlined by Ivan. | * Created the Mf.test_bug_21615_incomplete_setup_failure GUI tests. This is designed to catch [https://gna.org/bugs/?21615 bug #21615] as reported by Ivan Leung (ivanhoe dott leung att chem dott ox dot ac dot uk). Included are the data files Ivan attached to the bug report truncated to two residues. The GUI test follows exactly the steps outlined by Ivan. | ||
− | * Deleted the ancient, unused 'quit' argument of the relax interpreter object. This code was identified in a post by Troels Linnet at http://thread.gmane.org/gmane.science.nmr.relax.devel/5000/focus=5003. This argument never worked correctly and has not been used for many, many years. Many code paths in relax needed to be updated to remove the argument. | + | * Deleted the ancient, unused 'quit' argument of the relax interpreter object. This code was identified in a post by {{relax developer link|username=tlinnet|text=Troels Linnet}} at http://thread.gmane.org/gmane.science.nmr.relax.devel/5000/focus=5003. This argument never worked correctly and has not been used for many, many years. Many code paths in relax needed to be updated to remove the argument. |
* Shifted the pedantic flag to escalate flag. The option -p would instead be used for the option --prompt. Fix for [https://gna.org/support/?3117 sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i]. | * Shifted the pedantic flag to escalate flag. The option -p would instead be used for the option --prompt. Fix for [https://gna.org/support/?3117 sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i]. | ||
* Added the -p --prompt option for running a relax script and inspect interactively. Fix for [https://gna.org/support/?3117 sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i]. | * Added the -p --prompt option for running a relax script and inspect interactively. Fix for [https://gna.org/support/?3117 sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i]. | ||
Line 84: | Line 93: | ||
* Added the unit test infrastructure for testing the specific_analyses.relax_disp package. This currently includes the package __all__ list unit test. | * Added the unit test infrastructure for testing the specific_analyses.relax_disp package. This currently includes the package __all__ list unit test. | ||
* Updated the specific_analyses.relax_disp package __all__ list. This was identified in the previously committed unit test. | * Updated the specific_analyses.relax_disp package __all__ list. This was identified in the previously committed unit test. | ||
− | * Added the infrastructure for the unit tests of the specific_analyses.relax_disp.disp_data module. This is in response to the post http://thread.gmane.org/gmane.science.nmr.relax.scm/19963/focus=5046 by Troels, and is described in my response at http://thread.gmane.org/gmane.science.nmr.relax.scm/19963/focus=5048. | + | * Added the infrastructure for the unit tests of the specific_analyses.relax_disp.disp_data module. This is in response to the post http://thread.gmane.org/gmane.science.nmr.relax.scm/19963/focus=5046 by {{relax developer link|username=tlinnet|text=Troels}}, and is described in my response at http://thread.gmane.org/gmane.science.nmr.relax.scm/19963/focus=5048. |
* Created two new LaTeX commands for improving the layout of Python code in the relax manual. These are \pysep and \pyus which will be used to format the Python module separator character and the Python underscore character respectively. They are used in the \module{}, \pycode{}, etc. commands to add the '.\linebreak[0]' and '\_\linebreak[0]' text to allow for improved and consistent line breaking. | * Created two new LaTeX commands for improving the layout of Python code in the relax manual. These are \pysep and \pyus which will be used to format the Python module separator character and the Python underscore character respectively. They are used in the \module{}, \pycode{}, etc. commands to add the '.\linebreak[0]' and '\_\linebreak[0]' text to allow for improved and consistent line breaking. | ||
* Complete reformatting of the base LaTeX files. The paragraph structure has been changed so that each sentence now starts on a new line. This is for better tracking of changes (via 'svn diff' for example), for better searchability of certain text elements using command line tools such as 'grep', and for easier easier use of the 'sed' tool. The change tracking is most important as it allows for finer granularity - a small change will now only be shown as a change in one sentence rather than the whole paragraph, allowing the change to be identified more easily. It also allows for easier commit maintenance. | * Complete reformatting of the base LaTeX files. The paragraph structure has been changed so that each sentence now starts on a new line. This is for better tracking of changes (via 'svn diff' for example), for better searchability of certain text elements using command line tools such as 'grep', and for easier easier use of the 'sed' tool. The change tracking is most important as it allows for finer granularity - a small change will now only be shown as a change in one sentence rather than the whole paragraph, allowing the change to be identified more easily. It also allows for easier commit maintenance. | ||
Line 200: | Line 209: | ||
<section end=changes/> | <section end=changes/> | ||
− | == Bugfixes == | + | === Bugfixes === |
<section begin=bugfixes/> | <section begin=bugfixes/> | ||
Line 214: | Line 223: | ||
<section end=bugfixes/> | <section end=bugfixes/> | ||
− | = Links = | + | == Links == |
<section begin=links/> | <section begin=links/> | ||
− | For reference, | + | For reference, the announcement for this release can also be found at following links: |
− | * [http://wiki.nmr-relax.com/Relax_3.1.6 Official release notes] | + | |
− | * | + | * [http://wiki.nmr-relax.com/Relax_3.1.6 Official release notes on the relax wiki]. |
− | * [http://article.gmane.org/gmane.science.nmr.relax.announce/52 Gmane] | + | * {{gna link|url=gna.org/forum/forum.php?forum_id=2443|text=Gna! news item}}. |
− | * [http://www.mail-archive.com/relax-announce%40gna.org/msg00046.html Mail Archive] | + | * [http://article.gmane.org/gmane.science.nmr.relax.announce/52 Gmane mailing list archive]. |
− | * [https://mail.gna.org/public/relax-announce/2014-03/msg00000.html Local archives] | + | * [http://www.mail-archive.com/relax-announce%40gna.org/msg00046.html The Mail Archive]. |
− | * [http://marc.info/?l=relax-announce&m=139380076732405&w=2 MARC] | + | * [https://mail.gna.org/public/relax-announce/2014-03/msg00000.html Local archives]. |
+ | * [http://marc.info/?l=relax-announce&m=139380076732405&w=2 Mailing list ARChives (MARC)]. | ||
+ | |||
+ | {{:Softpedia}} | ||
<section end=links/> | <section end=links/> | ||
− | = Announcements = | + | == Announcements == |
{{:relax release announcements}} | {{:relax release announcements}} | ||
− | = See also = | + | == See also == |
+ | * [http://www.nmr-relax.com/api/3.1/ The relax 3.1 API documentation] | ||
{{:relax release see also}} | {{:relax release see also}} | ||
[[Category:Relaxation dispersion analysis]] | [[Category:Relaxation dispersion analysis]] |
Latest revision as of 11:43, 15 October 2020
relax version 3.1.6 | |||||
| |||||
Release type | Major feature and bugfix | ||||
---|---|---|---|---|---|
Release date | 28 February 2014 | ||||
| |||||
The relax 3.1.6 user manual |
Contents
Description
This is a major feature and bugfix release. A comprehensive tutorial has been added to the relaxation dispersion chapter of the manual which shows, step-by-step, the dispersion analysis in the GUI using screenshots. Other changes include improved PDB chain ID support, a new mode for running a relax script and then entering the prompt UI mode, multiple file reading by the spectrum.read_intensities user function, and improvements to the relaxation dispersion analysis. A number of major bugs in the dispersion analysis concerning different relaxation delay times for different experiments and for improved handling of the offset have also been fixed. A number of important GUI bugs have also been fixed. All users are recommended to upgrade to this version of relax.
Download
The new relax versions can be downloaded from http://www.nmr-relax.com/download.html. 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, http://www.nmr-relax.com/manual/relax_distribution_archives.html).
CHANGES file
Version 3.1.6
(28 February 2014, from /trunk)
http://svn.gna.org/svn/relax/tags/3.1.6
Features
- Full support for PDB chain IDs in the internal structural object.
- Improvements for the devel_scripts/python_seek.py for finding all installed Python versions and modules. Individual modules can now be specified on the command line.
- The pedantic command line option -p, --pedantic has been renamed to -e, --escalate.
- The new prompt command line option -p, --prompt causes the relax prompt mode to launch after running a script to allow relax to be inspected interactively.
- Better organisation of the relax command line options into groups, as shown by running 'relax -h'.
- A tutorial for using the relaxation dispersion analysis in the GUI has been added to the manual. This includes step-by-step instructions with many screenshots.
- Improvements to the manual including better and consistent line breaking for the GUI menu item text, user functions, file and directory paths, and Python module paths.
- The spectrum.read_intensities user function can now load multiple files simultaneously, allowing for simplified use in the GUI.
- Addition of a new GUI window element for loading multiple files.
- Improvements to the sequence data input GUI window including the item count being displayed and a 'Delete' button to remove the last element.
- Improvement for the relaxation dispersion auto-analysis - the names of the automatically created data pipes are now unique by appending the name of the data pipe bundle to the end. This allows multiple dispersion auto-analyses to exist simultaneously in the GUI or within one relax state file.
- The relaxation dispersion analysis now handles deselected spins.
- Improved colour coding of relax log messages in the relax manual.
- The relaxation dispersion auto-analysis now creates the chi2.out text file. This is for more easily comparing the chi-squared values between analyses.
Changes
- Converted the chain ID list in the internal structural object to the CHAIN_ID_LIST module variable.
- The internal structure object method _pdb_chain_id_to_mol_index() now uses the CHAIN_ID_LIST string. This allows for the full PDB chain ID range to be supported.
- Small improvement for the devel_scripts/python_seek.py script. The list of detected Python binaries files are now sorted prior to determining the installed modules.
- Updated the N_state_model.5_state_xz system test to allow it to complete on i586 Linux systems. The optimisation would continue for a huge amount of time on a test system (Mageia 4 i586 VM) and would make it appear as though the test suite has hung. By limiting the maximum number of iterations in the optimisation to 1000, the test will complete successfully and the parameters optimised to the same precision.
- Loosened the checks for the Frame_order.test_korzhnev_2005_15n_zq_data system test. This is to allow the test to pass on a 32-bit test system (Mageia 4 i586 VM).
- Decreased the accuracy of the Relax_disp.test_korzhnev_2005_15n_dq_data system test. This is to allow the test to pass on a 32-bit test system (Mageia 4 i586 VM).
- Decreased the precision of the Relax_disp.test_hansen_cpmg_data_auto_analysis system test. This is to allow the test to pass on a 32-bit test system using Python 2.5 and Python 3.1 (Mageia 4i586 VM).
- Decreased the precision of the Relax_disp.test_hansen_cpmg_data_auto_analysis_r2eff system test. This is to allow the test to pass on a 32-bit test system using Python 2.5 and Python 3.1 (Mageia 4i586 VM).
- Decreased the precision of the Relax_disp.test_hansen_cpmg_data_to_cr72 system test. This is to allow the test to pass on a 32-bit test system using Python 2.5 and Python 3.1 (Mageia 4i586 VM).
- Fix for the test_suite/system_tests/scripts/noe/bug_21562_noe_replicate_fail.py system test script. There was some invisible binary junk at the start of the file which as causing the Noe.test_bug_21562_noe_replicate_fail system test to fail, as the script could not load. This was only affecting one 32-bit test system using Python 3.1 and Python 3.2 (Mageia 4 i586 VM).
- Fixes for the unit tests of the package __all__ lists for Python 3. When Python 3 generates byte-compiled *.pyc files, these are stored in __pycache__ directories. These directories are now skipped for the package content unit tests, allowing the test to pass.
- Loosened the checks of some of the Relax_fit system tests. These are the Relax_fit.test_curve_fitting_height and Relax_fit.test_curve_fitting_volume system tests. The minor change is required to allow the tests to pass on a 32-bit system with Python 3.3.3.
- The python_seek.py development script now allows the modules to be specified on the command line. This speeds up the script and allows individual modules to be checked and the version displayed.
- Added a copyright notice to the python_seek.py script. The descriptive text has also been converted into a docstring. The copyright is simply to show who wrote the script and how old it is.
- The python_seek.py script can now check for the ancient Numeric module.
- The python_seek.py script can now check for the ancient Scientific module.
- The python_seek.py now lists the Python version again (broken in the last few commits).
- The python_seek.py script now accepts the 'all' argument to display all modules supported by the script.
- Output formatting improvements for the python_seek.py development script.
- Changed the module ordering in the python_seek.py development script.
- Epydoc docstring fix for the pipe_control.structure.main.load_spins() function.
- Created the Mf.test_bug_21615_incomplete_setup_failure GUI tests. This is designed to catch bug #21615 as reported by Ivan Leung (ivanhoe dott leung att chem dott ox dot ac dot uk). Included are the data files Ivan attached to the bug report truncated to two residues. The GUI test follows exactly the steps outlined by Ivan.
- Deleted the ancient, unused 'quit' argument of the relax interpreter object. This code was identified in a post by Troels Linnet at http://thread.gmane.org/gmane.science.nmr.relax.devel/5000/focus=5003. This argument never worked correctly and has not been used for many, many years. Many code paths in relax needed to be updated to remove the argument.
- Shifted the pedantic flag to escalate flag. The option -p would instead be used for the option --prompt. Fix for sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i.
- Added the -p --prompt option for running a relax script and inspect interactively. Fix for sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i.
- Modified the help text to explain that -p will launch relax in prompt mode after running any optionally supplied scripts. Fix for sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i. This is to allow the -p --prompt option to be given without a script. relax should support this so that a user doesn't get too confused when trying to start in prompt mode with the --prompt flag and support the --prompt argument without a script being supplied.
- Finished implementing the functionality of interacting with variables after executing a script. Fix for sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i. For getting access to variables after executing a script, the variable should be saved under: cdp.X, where X define a container. The name space issue is discussed in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5012.
- Organisation of the relax command line options into distinct groups. This follows from the message at http://thread.gmane.org/gmane.science.nmr.relax.devel/5024. The optparse.OptionGroup object is now used to cluster the arguments. This cleans up the output of 'relax -h' and explains the options to the user in a clearer way.
- Fix for the user function intro flag. Fix for sr #3117 - Functionality to inspect interactively after running script - The equivalence to python -i. It should be turned on for the script so you see the "relax>" messages, and then turned off again for the prompt so that the user function text and "relax>" is not printed out twice.
- Updated the copyright statement shown in the GUI for 2014.
- Save state added for bug #21665. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added system test to catch bug: relax -s Relax_disp.test_bug_21665_cpmg_two_fields_two_delaytimes_fail. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added a system test for using both calc() and a system test for relax_disp auto analysis. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added some initial screenshots of the dispersion GUI analysis. These will be used to create a tutorial for using the relaxation dispersion analysis in the GUI to be added to the dispersion chapter of the relax manual.
- Started to create the tutorial in the manual for using the dispersion GUI. This is at the end of the relaxation dispersion chapter of the manual and covers the basic setup of spin systems. It includes the recently added screenshots.
- Improvement to the formatting of the GUI menu item text in the manual. The text can now have a line break between the items, just after the arrows. This significantly improves the paragraph layout in the manual.
- Created two new LaTeX commands for improving the layout of the relax manual. These are \ossep and \osus which will be used to format the file and directory separator character and the underscore character respectively. They will be used in the \file{} and \directory{}commands to add the '/\linebreak[0]' and '\_\linebreak[0]' text to allow for better line breaking.
- Converted all LaTeX files of the manual to use the new \ossep and \osus commands. This will result in better formatting of the manual by making the linebreaking after '/' and '_'characters consistent and universal.
- Created two new LaTeX commands for improving the layout of user functions in the relax manual. These are \ufsep and \ufus which will be used to format the user function separator character and the underscore character respectively. They are used in the \uf{} commands to add the '.\linebreak[0]' and '\_\linebreak[0]' text to allow for improved and consistent line breaking.
- Added the unit test infrastructure for testing the specific_analyses.relax_disp package. This currently includes the package __all__ list unit test.
- Updated the specific_analyses.relax_disp package __all__ list. This was identified in the previously committed unit test.
- Added the infrastructure for the unit tests of the specific_analyses.relax_disp.disp_data module. This is in response to the post http://thread.gmane.org/gmane.science.nmr.relax.scm/19963/focus=5046 by Troels, and is described in my response at http://thread.gmane.org/gmane.science.nmr.relax.scm/19963/focus=5048.
- Created two new LaTeX commands for improving the layout of Python code in the relax manual. These are \pysep and \pyus which will be used to format the Python module separator character and the Python underscore character respectively. They are used in the \module{}, \pycode{}, etc. commands to add the '.\linebreak[0]' and '\_\linebreak[0]' text to allow for improved and consistent line breaking.
- Complete reformatting of the base LaTeX files. The paragraph structure has been changed so that each sentence now starts on a new line. This is for better tracking of changes (via 'svn diff' for example), for better searchability of certain text elements using command line tools such as 'grep', and for easier easier use of the 'sed' tool. The change tracking is most important as it allows for finer granularity - a small change will now only be shown as a change in one sentence rather than the whole paragraph, allowing the change to be identified more easily. It also allows for easier commit maintenance.
- Reformatting of all of the LaTeX code for the figures in the relax manual. The aim is to have as many parts as possible on separate lines to allow for better control of changes in the subversion repository and for improved usage of command line tools.
- Reformatting of all of the LaTeX code for the itemize and description lists in the relax manual. This is to regularise the LaTeX code throughout the *.tex files of the manual. All items are now indented for easier viewing. And leading empty lines before the lists have all been removed.
- The docstring fetching script for the manual now creates lists in the new, cleaner format.
- Implemented unit test for catching the correct return of loop_exp_frq_offset_point_time. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Grammar corrections - changed the 'eg.' abbreviation to 'e.g.' in a couple of places.
- Modified the unit test name for testing the correct return of the relaxation time periods. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added more to the dispersion GUI analysis tutorial. This includes a screenshot showing the use of the 'Spin isotope' button in the GUI. Descriptions for all five 'metadata' buttons have been added as well.
- Expanded the relaxation dispersion GUI tutorial in the manual. This now includes the first steps for loading the peak intensity data.
- Added the The relaxation time period to be used when returning cpmg frqs. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added test for skipping non-matching time points. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added the time point to be sent into the return function of cpmg frequencies. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Improved unit test for cathing both time and dispersion point when looping over experiment and time points. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Modified the spectrum.read_intensities user function frontend to load multiple files. This follows from the thread http://thread.gmane.org/gmane.science.nmr.relax.devel/5057/focus=5062.
- Implemented the GUI element for loading multiple files. This follows from the thread http://thread.gmane.org/gmane.science.nmr.relax.devel/5057/focus=5062. This is via the new user function argument type "file sel multi", now used by the spectrum.read_intensities user function. The file selection element consists of two parts. The GUI element embedded in the user function wizard page is similar to the "file sel" element, except that the preview button is not present. The file selection button behaviour is also different in that it launches the new multiple file selection window. The multiple file selection window is based on the 'sequence' data window, as used in the spectrum ID argument for the spectrum.read_intensities user function. However the ListCtrl element has been replaced by a custom scrolled panel. The 'Add' button adds a new file selection GUI element consisting of a TextCtrl for displaying and manual editing of the file name, the file selection button for launching the relax file selection dialog, and the preview button lost in the parent GUI element. The scrolled panel allows more elements in the panel than can fit in the window. The 'Delete all' and 'OK' buttons from the 'sequence' data window are also present and function as expected.
- Modification of the new multiple file selection GUI element. The multiple file selection window now shows the index (plus one) of each file selection element at the front of that element. This way the user can easily see how many file elements there are and can match file names to numbers. This will help in making sure that the file names and spectrum ID elements correspond to each other.
- Added a 'Delete' button to the new multiple file selection GUI window. This simply deletes the last item in the list. This will be useful if the user clicks on the 'Add' button too many times - instead of clicking 'Delete all' and having to re-select all files, now the last element can be removed.
- Improved the behaviour of the multiple file selection GUI window. The RelaxFileDialog GUI element is now initialised when the file selection button is clicked rather than in the __init__() method. The result of this change is that the current working directory is dynamically changed in the RelaxFileDialog, hence if the directory is changed in one file selection element, it will look like it is changed in all.
- Renamed the test_loop_exp_time() dispersion unit test to test_loop_exp_frq_offset_point_time(). This is for the specific_analyses.relax_disp.disp_data.Test_disp_data.test_loop_exp_frq_offset_point_time() unit test. The name better reflects the function being tested.
- Created the test_loop_exp_frq() dispersion unit test. This checks the operation of the loop_exp_frq() function from the module specific_analyses.relax_disp.disp_data. It uses the data attached to the bug report at https://gna.org/bugs/?21665.
- Fixes for the unit tests of the spectrum.read_intensities user function. A number of checks were not correctly set up, and the recent changes caused others to now fail.
- Modified the GUI window for inputting sequence data to include item numbers. An non-editable initial column with the number of each item has been added. This is to help the user when, for example, the items of one sequence element should match another (for example in the spectrum.read_intensities user function where multiple file names should match multiple spectrum IDs).
- Added a 'Delete' button to the sequence input GUI window. This is to match the multiple file selection GUI window. The button allows the user to delete the last item from the list. So if 'Add' has been clicked too many times, the user does not have to start again from scratch by clicking on 'Delete all'.
- More modifications to the sequence input GUI window to match the multiple file selection element. The window now starts with a single element rather than nothing.
- Continued expanding the tutorial for performing a relaxation dispersion analysis in the GUI. This is for the dispersion chapter of the manual.
- Created the Peak_lists.test_read_peak_list_sparky_double system test. This is used to test the loading of multiple files simultaneously by the spectrum.read_intensities user function.
- Expanded the Peak_lists.test_read_peak_list_sparky_double system test to check all intensities. This now checks all of the peak heights read by the spectrum.read_intensities user function.
- Expanded the capabilities of the spectrum.read_intensities user function. Now multiple files can be loaded simultaneously.
- Fix for the multiple file selection GUI element. The GUI element now returns single values rather than lists from the GetValue() function when only a single file is selected. This allows the spectrum.read_intensities user function to operate normally again in the GUI.
- Minor fix for the Relax_disp.test_bug_21076_multi_col_peak_list system test. The spectrum ID argument ['auto'] has been changed to the single value of 'auto'. This argument should not be a list.
- Expansion of the tutorial for running the relaxation dispersion analysis in the GUI. The tutorial is now close to complete. The peak intensity loading wizard section is complete as well the model selection window and optimisation settings sections and the relax execution.
- More additions for the tutorial on using the dispersion analysis in the GUI. This is for the relaxation dispersion chapter of the manual. The tutorial is almost complete with descriptions and screenshots for completing the non-clustered analysis and conducting the clustered analysis all the way to execution.
- Created the State.test_bug_21716_no_cdp_state_save system test. This is for catching bug #21716, the failure to save the relax state just after deleting the current data pipe, even if other data pipes exist.
- Created the General.test_bug_21720_pipe_switching_with_tab_closure GUI test. This is to catch bug #21720, the failure to set the current data pipe in the GUI when the current and non-last analysis tab is closed. The test replicates the steps as outlined in the bug report.
- Added unit test for looping over: exp frq offset point. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This follows recommendation in thread: http://thread.gmane.org/gmane.science.nmr.relax.devel/5070.
- Added unit test for looping over: exp frq offset point. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This follows recommendation in thread: http://thread.gmane.org/gmane.science.nmr.relax.devel/5070.
- Changes for the relaxation dispersion auto-analysis. The final data pipe name now includes the data pipe bundle name. This is so the pipe name is unique, allowing multiple analyses to be executed in one relax state.
- Fixes for all of the Relax_disp system tests for the changes to the dispersion auto-analysis. The automatically created pipe names now include the pipe bundle name to make them unique, so the system tests have been updated to match this behaviour.
- Increased the grid search size in the r1rho_on_res_m61.py dispersion system test script. This is to allow the Relax_disp.test_m61_exp_data_to_m61 system test to pass more often. The increase does not cause a large increase in computation time as less time is spent in the optimisation and Monte Carlo simulation steps.
- Renamed unit test, to follow previous namings of unit tests. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Fix for the relaxation dispersion auto-analysis to improve its behaviour in the test suite. The problem is that the auto-analysis acquires the execution lock (status.exec_lock) but if the analysis cannot complete due to a bug, the lock is never released. This causes nasty problems for many subsequent tests, resulting in a cascade of test failures. This is especially problematic in the GUI tests where the execution lock controls many aspects of the interface. The solution was simply to run the auto-analysis run() method within a try-finally statement. The release of the lock occurs in the 'finally' clause, guaranteeing its release.
- Improvement for GUI test base tearDown() clean up method. A wx.Yield() call has been added to allow all GUI operations after a relax reset to complete prior to the next test starting. This should avoid certain racing conditions which can cause a cascade of tests to fail.
- Added unit test for looping over: exp, frq, offset, point, time. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This unit test will fail, since the last loop over the time points has a weak assumption just to loop over all time points, instead of checking for existence of such time point. This unit test follows recommendation in thread: http://thread.gmane.org/gmane.science.nmr.relax.devel/5070.
- Expanded the loop_time function to optional take the spectrometer frequency as input for restricting looping. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Replaced print commands to be compatible with Python 3.x. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- More fixes for the relaxation dispersion auto-analysis for the pipe names now including the bundle name.
- Added some missing RelaxError imports to the dispersion auto-analysis.
- Created the Relax_disp.test_bug_21715_clustered_indexerror system test. This is to catch bug #21715, the failure of the relaxation dispersion auto-analysis when running a clustered analysis due to an IndexError during minimisation.
- Modified unit test to pass. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. Implemented as suggested in: https://mail.gna.org/public/relax-devel/2014-02/msg00142.html.
- Expanded the loop_time function to optional take the offset and dispersion point as input for restricting looping. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This is implemented as suggested in: https://mail.gna.org/public/relax-devel/2014-02/msg00143.html.
- Added system test for loop_time. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This system can be extended later for purposes to test the restriction of the looping.
- Replacing looping over time points from cdp.relax_time_list to loop_time(frq=frq). Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. loop_time has been modified to accept spectrometer frequency as input to restrict the looping.
- Complete support for deselected spins has been added to the relaxation dispersion analysis. This fixes bug #21715, the failure of the relaxation dispersion auto-analysis when running a clustered analysis due to an IndexError during minimisation.
- Added exp_type, frq, offset, point to the loop_time() function. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. Implemented as suggested in: http://www.mail-archive.com/relax-devel@gna.org/msg04993.html. In all these cases, that information is available, so it should be used. If one are analysing a combination of data types simultaneously (SQ CPMG, DQ CPMG, R1ρ), one will not have the same relaxation time for each. For different spin-lock or 180 degree pulse offsets and even different dispersion points, the time may also be different.
- Made count_relax_times() take optional arguments as: exp_type, frq, offset, point. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This is prepare for restricting the looping over time points in the function: loop_time(). This is implemented as suggested in: http://www.mail-archive.com/relax-devel@gna.org/msg04993.html.
- Modified to pass exp_typ, frq, offset or point to loop_time() where such information is available. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added unit test for count_relax_times. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times. This follows the suggestion in: http://www.mail-archive.com/relax-devel@gna.org/msg04993.html.
- Added test for return of get_curve_type(), to match 'fixed time'. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added check for return of has_exponential_exp_type to be False. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added test for the return of get_times(). Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Re-ordered unit tests for test of get_curve_type() and has_exponential_exp_type(). Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added the extraction of exp_type and frq from cdp, to be sent into count_relax_times. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Modified check_exp_type_fixed_time to loop over ID's and use count_relax_times for each ID. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- The fetch_docstrings.py script now creates a new LaTeX listing language for relax log messages. This is in the script_definitions() method which creates the script_definition.tex file. The idea is to avoid colouring relax/Python keywords such as 'as', 'from', etc. in the log messages.
- Moved the unit test get_times() to its own test. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Moved the unit test of has_exponential_exp_type() to its own test. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Moved the unit test get_curve_type() to its own test. Regarding bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Added save state for bug 21344. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Completed the tutorial for using the dispersion analysis in the GUI. This is for the relaxation dispersion chapter of the manual.
- Some edits for the tutorial on using the dispersion GUI analysis. The results of the relax_disp.insignificance user function are now shown to demonstrate what this does.
- Fixes for some incorrectly reported results in the dispersion GUI tutorial in the manual. The non-clustered results had been incorrectly copied from the log messages.
- More incorrect value fixes for the dispersion GUI tutorial in the manual. The pA and kex values were also somehow incorrect.
- Added system test for bug #21344. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths. This test will fail with: No intensity data could be found corresponding to the spectrometer frequency of 799.7773991 MHz, dispersion point of 431.0 and relaxation time of 0.14 s. Data for a dispersion point of 431.0 and time 0.14 does not exist, and so some of the looping in collecting data for calculation must be wrong. This behaviour and probably its solution is related to bug 21665, "Running a CPMG analysis with two fields at two delay times" (https://gna.org/bugs/?21665).
- Renamed previous disp_data unit tests, to reflect they were from a CPMG setup. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added unit test for count_relax_times() for and R1ρ setup. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fixes for the Grace kex plot for the tutorial for dispersion GUI analysis. The values for the Grace plot were not correct.
- Added unit test for loop_time() for R1ρ setup. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Renamed system test. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths. The previous test name was rubbish.
- Editing of the dispersion GUI analysis tutorial in the manual. The whole section has been proofed and improved.
- A concluding statement has been added to the dispersion GUI analysis tutorial in the manual.
- Added spacing in front of all lstlisting environments in the relaxation dispersion chapter of the manual.
- Spelling fix for the spectrometer frequency checks of the spectrometer.frequency user function.
- Spell checking of the entire relaxation dispersion chapter of the manual.
- Correction for some text in the dispersion chapter of the manual. The text 'are differentially defined' has been changed to 'are dually defined', as the word differentially was incorrect.
- Fixes for the spacing after e.g. and i.e. in the relax manual. The character '\' needs to be used after the final dot to indicate that this is not a sentence stop, hence the double spacing normally used between sentences should not be used.
- Extended system test to count number of settings iterations and match with len(cdp.exp_type.keys()). Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths. There is something wrong, since cdp.exp_type.keys()) is not matching.
- Fix for using a wrong index slicing. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fixes for the wrong use of reading settings file and extracting parameters. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Expanded unit test for test_loop_time() in R1ρ. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fix for the loop_time function to include point filtering for R1ρ experiments. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fix for wrong values of "1341.11" in unit test. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths. Replaced 1341.10, and 1341.10 with 1341.11.
- Added truncated SeriesTab intensity file for only 5 spins. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Modified system test for setting up R1ρ analysis to use truncated spin list with 5 spins. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added 5 spins truncated state file for bug #21344. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Modified unit and system test to use 5 spins truncated state file. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added unit test for find_intensity_keys() in R1ρ analysis. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Manually reverted the temporary change of r22349 and 22348. The command used was:svn merge -r22349:r22347Reference: http://www.mail-archive.com/relax-devel@gna.org/msg05012.html.
- Modified unit test for find_intensity_keys() to simulate method in sim_pack_data(). Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Re-created the testing dictionary to easier to convert to collections.OrderedDict() if this can be supported in all relax Python versions. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Replaced dictionary keys in unit test, to easier access the original data. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added experiment ID to dictionary, where dict() keys are offset_point_time. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fixed to send in offset to find_intensity_keys() which allow system test to pass. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths. This is the first fix to allow system test to pass: relax -s Relax_disp.test_bug_21344_sparse_time_spinlock_acquired_r1rho_fail_relax_disp A better solution is described in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5107 which will be implemented.
- Added text about '~' on MS Windows to the dispersion GUI tutorial in the manual. The home directory ~ on MS Windows will not work, so this is now explained.
- Parsed offset to find_intensity_keys() where such information is available. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added unit test for return_intensity() for a R1ρ setup. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fix for wrong use of variable name key and list return from find_intensity_key(). Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added offset to be sent to return_intensity() function. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Extended return_intensity() unit test to also test for flag ref=True, which return reference intensity instead. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Added offset to be sent to loop_spectrum_ids() function. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Fix for wrong variable spectrometer_frq used instead of frq. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Removed functional return of reference intensity in R1ρ, since this does not exists. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
- Removed function return_intensity(), as this is no longer in use. Regarding bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths. Reference: http://www.mail-archive.com/relax-devel@gna.org/msg05020.html.
Bugfixes
- Minor bugfix for the internal structural object add_model() method. The internal structural object was being called with self as an argument, which would default to the chain_id keyword argument. The result would be relax state files with multiple copies of the internal structural object embedded in the structural XML section.
- Fix for bug #21605, the failure of the Frame_order.test_generate_rotor2_distribution system test. The bug is due to the fact that numpy.float16 is not defined on all systems. Older numpy versions do not have this. Therefore the float16 value is now imported from lib.check_types where it is aliased to float32 when not defined.
- Fix for bug #21615, the missing data dialog failure when executing the GUI model-free analysis, as reported by Ivan Leung (ivanhoe dott leung att chem dott ox dot ac dot uk). The problem is that the spin container's "isotope" variable is being accessed directly after a test showing that this variable does not exist. This is now fixed so that the missing data dialog is now presented explaining that the spin isotope information is not set.
- Fix for bug #21704, the failure of the GUI analyses when the home directory '~' character is used. The problem is located in many parts of the program, and other problematic areas may still be present. In all cases where the directory or file is accessed, the os.path.expanduser() function must be called.
- Fix for bug #21716, the failure to save the relax state just after deleting the current data pipe, even if other data pipes exist. The problem was that the specific analysis functions data_names() and return_data_desc() were being retrieved using the current data pipe rather than the actual data pipe that the data structures belong to. So if the current data pipe is None, then these fail. Now the data pipe type is being passed through all of the to_xml() methods so that the correct data_names() and return_data_desc()methods are retrieved.
- Fix for bug #21720, the faulty pipe switching behaviour when a non-last analysis tab is deleted in the GUI. Now the correct data pipe should be always switched to when closing an analysis tab.
- Fix for bug #21695, the failure of the relaxation dispersion system tests on a 64-bit MS Windows system due to lower precision of the platform. Two of the errors have already been found on a 64-bit Windows Vista virtual machine and fixed. The last test should now also pass.
- Fix for bug #21665 - Running a CPMG analysis with two fields at two delay times.
- Fix for bug #21344 - Handling of in sparse acquired R1ρ dataset with missing combinations of time and spin-lock field strengths.
Links
For reference, the announcement for this release can also be found at following links:
- Official release notes on the relax wiki.
- Gna! news item.
- Gmane mailing list archive.
- The Mail Archive.
- Local archives.
- Mailing list ARChives (MARC).
Softpedia also has information about the newest relax releases:
- Softpedia page for relax on GNU/Linux.
- Softpedia page for relax on MS Windows.
- Softpedia page for relax on Mac OS X.
Announcements
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
- The combined release notes for all relax versions (warning, this is very large).
- The combined release descriptions for all relax versions.
- The combined release metadata for all relax versions.
- The combined release features for all relax versions.
- The combined release changes for all relax versions (warning, this is very large).
- The combined release bugfixes for all relax versions.
- The combined release announcement links for all relax versions.