Open main menu

Changes

Relax 3.2.3

1,281 bytes added, 10:39, 16 October 2020
m
Switch to the {{gna task link}} template to remove dead Gna! links.
{{lowercase title}}
{{infobox relax release| version = 3.2.3| prev = 3.2.2| next = 3.3.0| keywords = <code><nowiki>^[[?1034h</nowiki></code> escape code, GUI user functions, relaxation dispersion, [http://www.nmr-relax.com/manual/structure_com.html structure.com user function]| type = Major bugfix| date = 1 July 2014| manual = yes}} == Description ==
<section begin=description/>
This is a major bugfix release and the first requiring numpy &ge; 1.6 to allow for faster calculations for certain analyses. There have been improvements to the GUI user functions, the <code><nowiki>^[[?1034h </nowiki></code> escape code is finally suppressed on Linux systems, and the [http://www.nmr-relax.com/manual/structure_com.html structure.com user function] has been added. Bugfixes include the proper handling of R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> parameters in the [[:Category:relaxation dispersionanalysis|relaxation dispersion]] models, the [[IT99]] dispersion model t<sub>ex</sub> parameter was incorrectly handled, the [[LM63 3-site]] dispersion models had a fatal mistake in its equations, files with multiple extensions (for example *.pdb.gz) are now correctly handled, and closing the free file format window in Mac OS X systems caused the GUI to freeze. Full details can be found below.
For this release, the Mac OS X framework used to build the universal 3-way (ppc, i386, x86_64) binaries for the stand-alone relax application has been updated. The relax application now bundles Python 2.7.8, numpy 1.8.1, scipy 0.14.0, nose 1.3.3, wxPython 2.9.3.1 osx-cocoa (classic), matplotlib 1.3.1, epydoc 3.0.1, [[OpenMPI|mpi4py 1.3.1]] and py2app 0.8.1. This should result in better formatted relax state and results files and give access to more advanced packages for power users to take advantage of.
<section end=description/>
== Download ==
<section begin=download/>
<section end=download/>
== CHANGES file ==
<section begin=metadata/>
<section end=metadata/>
=== Features ===
<section begin=features/>
* Improvements for a number of GUI elements used in the user function windows.
* The <code><nowiki>^[[?1034h </nowiki></code> escape code should now no longer be emitted by GNU readline on Linux systems.
* Created the very basic [http://www.nmr-relax.com/manual/structure_com.html structure.com user function] for calculating the centre of mass. This is to simply allow an easy interface to the pipe_control.structure.mass.pipe_centre_of_mass() function.
* Expansion of the REMARK section of the PDB file created for the internal structural object. This is visible when using the [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function], as well as the many other user functions which create PDB files. The relax version as well as the file creation date are now recorded in the PDB file. This extra information should be very useful. Empty lines in the REMARK section improve the formatting.
<section end=features/>
=== Changes ===
<section begin=changes/>
* Modified the Sequence GUI input element used for the user function list arguments. The first column is now of fixed with when titles are supplied. Previously when supplying titles, the width would be tiny and no text would be visible.
* Added titles for all 3D coordinate user function arguments. This is for the Sequence GUI input element, and affects the [http://www.nmr-relax.com/manual/frame_order_average_position.html frame_order.average_position], [http://www.nmr-relax.com/manual/n_state_model_CoM.html n_state_model.CoM] and [http://www.nmr-relax.com/manual/paramag_centre.html paramag.centre] user functions.
* The compilation of the C modules now respects the user defined environment. This is the patch from Justin (https://{{gna link|url=gna.org/users/jlec) |text=Justin}} attached to [https://gna.org/bugs/?22145 bug #22145]. It has been modified to include a comment and remove a double empty line.
* Bug fix for the compilation of the C modules now respects the user defined environment. The problem was that on Mac OS X (as well as other systems), that these environmental variables were not defined and hence the scons commands would all fail with a KeyError and traceback. Now the keys in the os.environ dictionary are being searched for before they are set.
* Fix for the wxPython link in the installation chapter of the manual. This was pointing to the scipy website for some reason.
* Split system test Relax_disp.test_bug_22146_unpacking_r2a_r2b_cluster up in different tests. A setup function which is: setup_bug_22146_unpacking_r2a_r2b_cluster(self, folder=None, model_analyse=None): And then the tests: test_bug_22146_unpacking_r2a_r2b_cluster_B14 test_bug_22146_unpacking_r2a_r2b_cluster_CR72 test_bug_22146_unpacking_r2a_r2b_cluster_NS_3D test_bug_22146_unpacking_r2a_r2b_cluster_NS_STAR. [https://gna.org/bugs/?22146 Bug #22146 Unpacking of R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> is performed wrong for clustered "full" dispersion models].
* Modified profiling script to get closer to the implementation in relax. An additional test function is setup to figure out how to reshape the numpy arrays in the target function. [https://gna.org/bugs/?22146 Bug #22146 Unpacking of R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> is performed wrong for clustered "full" dispersion models].
* Updated profiling text for [[CR72]] model. Now it is tested for 3 fields. This is related to: [https://{{gna.org/task/index.php?link|7807 |text=Task #7807: Speed-up of dispersion models for Clustered analysis]}}.
* Added searching for environment variable PYTHON_INCLUDE_DIR if Python.h is not found in standard Python library. This can be very handsome, if one has a Python virtual environment for multiple users. This relates to the wiki page: http://wiki.nmr-relax.com/Epd_canopy.
* The [http://www.nmr-relax.com/api/3.2/lib.compat-module.html#norm lib.compat.norm() replacement function ] for numpy.linalg.norm() now handles no axis argument. This is to allow the function to be used in all cases where numpy.linalg.norm() is used, while providing compatibility with the axis argument and all numpy versions.* Fix for the scons target for compiling the relax manual when using a repository checkout copy. The method for compiling the relax manual was calling the version.revision() function, however this has been replaced a while ago by the [http://www.nmr-relax.com/api/3.2/version-module.html version.repo_revision variable].* Created two unit tests for the [http://www.nmr-relax.com/api/3.2/lib.io-module.html#file_root lib.io.file_root() function]. The second of the tests demonstrate a failure of the function if multiple file extensions are present.
* Lowered &chi;<sup>2</sup> value test in system test Relax_disp.test_bug_22146_unpacking_r2a_r2b_cluster_NS_STAR. This is due to the data produced on 32 bit machine, and tested on 64 bit machines. The error was: AssertionError: 2.4659455670347743e-05 != 0.0 within 7 places. The reason for this is due to truncation artifacts.
* Fix for wrong path testing of Python.h. Python.h would be in PYTHON_PREFIX/include/pythonX.Y/Python.h and not in PYTHON_PREFIX/include/Python.h.
* Fixes for all of the relaxation dispersion system tests which were failing with the new minfx code. Due to the tuning of the log barrier constraint algorithm in minfx in the commit at http://article.gmane.org/gmane.science.mathematics.minfx.scm/25, many system tests needed to be slightly adjusted. Two of the Relax_disp.test_tp02_data_to_* system tests were also failing as the optimisation can no longer move out of the minimum at p<sub>A</sub> = 0.5 for one spin (due to the low quality grid search in the auto-analysis).
* Updated the release checklist document for the new 1.0.7 release of minfx.
* Fixes for the [http://www.nmr-relax.com/api/3.2/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_hansen_cpmg_data_missing_auto_analysis Relax_disp.test_hansen_cpmg_data_missing_auto_analysis system test]. The p<sub>A</sub> parameter is no longer tested for one spin as it moves to random values on different operating systems and 32 vs. 64-bit systems. This is because this spin experiences no exchange, both &Delta;&omega; and k<sub>ex</sub> are zero.
* Decreased the value checking precision in the Relax_disp.test_hansen_cpmg_data_to_lm63 system test. This is to allow the test to pass on certain operating systems and 32-bit systems.
* Modified the precision of the output from the [http://www.nmr-relax.com/manual/relax_disp_sherekhan_input.html relax_disp.sherekhan_input user function]. This is simply to allow the Relax_disp.test_sod1wt_t25_to_sherekhan_input system test to pass on certain 32-bit systems, as the float output to 15 decimal places is not always the same. This system test has been updated for the change.
* Modified the Relax_disp.test_sprangers_data_to_mmq_cr72 system test to pass on certain systems. This test fails on 32-bit Linux (and probably other systems as well). To fix the test, the k<sub>ex</sub> values are all divided by 100 before checking them to 4 decimal places of accuracy.
* Improved how the relax installation path is determined in the status object. If the path cannot be found, the current working directory is then checked if it is where relax is installed. This is needed when importing modules outside of relax.
* Hack to permanently eliminate the <code><nowiki>^[[?1034h </nowiki></code> escape code being produced on Linux systems. This is produced by importing the readline module. The escape code will be sent to STDOUT every time relax is executed, so it will be present in all log files. The problem is the TERM environmental variable being set to 'xterm'. The hack simply sets TERM to an empty string.* More hacks for permanently eliminating the <code><nowiki>^[[?1034h </nowiki></code> escape code being produced on Linux systems. This is a nasty feature of the GNU readline library. It is now also turned off in the dep_check module, suppressing <code><nowiki>^[[?1034h </nowiki></code> in Python scripts which import only parts of relax.
* Numpy version 1.6 or higher is now required to be able to run relax. This follows from the series of messages: http://www.mail-archive.com/relax-devel@gna.org/msg06288.html, http://www.mail-archive.com/relax-devel@gna.org/msg06289.html, http://www.mail-archive.com/relax-devel@gna.org/msg06327.html, and http://www.mail-archive.com/relax-devel@gna.org/msg06335.html. If too many users complain, maybe this change can be reverted later. This minimal numpy version is needed for many of the speed ups going in the relaxation dispersion and frame order analyses. It is required for the numpy ufunc out arguments and for the numpy.eigsum() function. These will likely be used in other analyses in the future for improving the speed of relax, so it might affect users of other analyses later on.
* Updated the numpy minimal dependency in the installation chapter of the manual to version 1.6.
* Added better epydoc sectioning to the lib.dispersion.ns_cpmg_2site_expanded module docstring. This is to better separate the original scripts used to document the code evolution.
* Empty lines are now handled by the [http://www.nmr-relax.com/api/3.2/lib.structure.pdb_write-module.html#remark lib.structure.pdb_write.recordremark() function]. By supplying the remark as None, empty lines can now be created in the REMARK section of a PDB file. This can be used for nicer formatting.
* Fixes for the Diffusion_tensor system tests due to the recent PDB file changes. Prior to the comparison of the generated PDB files, all REMARK PDB lines are now stripped out.
* Fixes for all system tests failing due to the expanded and improved PDB REMARK section. The system tests now remove all REMARK records prior to comparing file contents. The special strip_remarks() system test method has been created to simplify the stripping process.
* Fix for the software verification tests. The recent expansion and improvements of the REMARK records created by the internal structural object PDB writing method imported the relax version to place this information into the PDB files. However this breaks the relax library design, as shown by the verification tests. Instead the relax version information is being taken from the [http://www.nmr-relax.com/api/3.2/lib.structure.internal.object-module.html lib.structure.internal.object.RELAX_VERSION variable]. This defaults to None, however the version module now sets this variable directly when it is imported so that it is always set to the current relax version when running relax.
* General Python 3 fixes via the 2to3 script.
* Removed the lib.compat.sorted() function which was providing Python2.3 compatibility. For a while now, relax has been unable to run on Python versions less than 2.5. Therefore there is no use for having this replacement function for Python &le; 2.3 which was being placed into the builtins module.
* Python 3 fixes for the entire codebase using the 2to3 script. The command used was: 2to3 -j 4 -w -f xrange .
* The internal structural object add_molecule() and has_molecule() methods are now model specific. This allows for finer control of structural object.
* Created the new [http://www.nmr-relax.com/api/3.2/lib.structure.files -module.html lib.structure.files module]. This currently contains the single find_pdb_files() function which will be used to find all *.pdb, *.pdb.gz and *.pdb.bz2 versions of the PDB file in a given path.* Fix for the breakage of the relax help system. This was reported at http://thread.gmane.org/gmane.science.nmr.relax.devel/6481. The problem was that the TERM environmental variable was turned off to avoid the GNU readline library on Linux systems emitting the <code><nowiki>^[[?1034h </nowiki></code> escape code. See the message at http://thread.gmane.org/gmane.science.nmr.relax.devel/6481/focus=6489 for more details. However the Python help system obviously requires this environmental variable. Now only if the TERM variable is set to 'xterm' will it be reset, and to 'linux' instead of the blank string "". This does not affect any relax releases.
<section end=changes/>
=== Bugfixes ===
<section begin=bugfixes/>
<section end=bugfixes/>
== Links ==
<section begin=links/>
For reference, the following links are also part of the announcement for this releasecan also be found at following links: * [http://wiki.nmr-relax.com/Relax_3.2.3 Official release noteson the relax wiki].* [https://{{gna link|url=gna.org/forum/forum.php?forum_id=2469 |text=Gna! news item]}}.* [http://article.gmane.org/gmane.science.nmr.relax.announce/57 Gmanemailing list archive].* [http://www.mail-archive.com/relax-announce%40gna.org/msg00049.html The Mail Archive].* [httpshttp://www.nmr-relax.com/mail.gna.org/public/relax-announce/2014-07/msg00000.html Local archives].* [http://marc.info/?l=relax-announce&m=140442704628884&w=2 Mailing list ARChives (MARC)]. {{:Softpedia}}
<section end=links/>
== Announcements ==
{{:relax release announcements}}
== See also ==
* [http://www.nmr-relax.com/api/3.2/ The relax 3.2 API documentation]
{{:relax release see also}}
[[Category:GUI]]
[[Category:Mac OS X]]
[[Category:Relaxation dispersion analysis]]
Trusted, Bureaucrats
4,228

edits