Open main menu

relax release descriptions

Revision as of 16:20, 10 September 2014 by Bugman (talk | contribs) (→‎relax 1.0.2: removal of the non-functional transclusion. This obsolete extension (https://www.mediawiki.org/wiki/Extension:MathJax) is used to fix this old mediawiki bug.)

Version 3 of relax

relax 3.3 series

relax 3.3.0

This is a major feature release which includes a huge number of changes, as can be seen below. The most important change is an incredible speed up of all relaxation dispersion models. See the table below for a comparison to the previous relax 3.2.3 release. The maximum possible advantage of linear algebra operations are used to eliminate all of the slow Python looping and to obtain the ultimate algorithms for speed. As this is using NumPy, conversion to C or FORTRAN will not result in any significant speed advantage. With these huge speed ups, relax should now be one of the fastest software packages for analysing relaxation dispersion phenomena.

Other important features include the implementation of a zooming grid search algorithm for use in all analysis types, expanded plotting capabilities for R values in the relaxation dispersion analysis, the ability to optimise the R1 parameter in all off-resonance dispersion models, proper minimisation statistics resetting by the minimisation user functions, and a large expansion of the periodic table information for all elements in the relax library for correctly estimating molecular masses. Additional features are that there is better tab completion support in the prompt UI for Mac OS X, the addition of the time user function for printing the current date and time, the value.copy user function accepting a force argument for overwriting values, model nesting in the dispersion auto-analysis has been extended, the spin-lock offset is now shown in the dispersion analysis in the GUI, the relax_disp.r2eff_estimate user function has been added for fast R2eff and I0 parameter value and error estimation, and gradient and Hessian functions have been added to the exponential curve-fitting C module allowing for more advanced optimisation in the relaxation curve-fitting and dispersion analyses.

Note that this new 3.3 relax series breaks compatibility with old relax scripts. The important change, which is the main reason for starting the relax 3.3.x line, is the renaming of the calc, grid_search and minimise user functions to minimise.calculate, minimise.grid_search and minimise.execute respectively. Please update your scripts appropriately. A new relax feature is that old user function calls are detected in the prompt and script UIs and a RelaxError raised explaining what to rename the user function to.

Important bugfixes in this release include that relax can run on MS Windows systems again, numerous Python 3 fixes, the ability to load Bruker DC files when the file format has corrupted whitespace, the GUI "close all analyses" feature works and no longer raises an error, structure.create_diff_tensor_pdb user function now works when no structural data is present, the geometric prolate diffusion 3D PDB representation in a model-free analysis now aligns with the axis in the PDB as it was previously rotated by 90 degrees, and the Monte Carlo simulations in the relaxation dispersion analysis for exponential curve-fitting for R2eff/R parameter errors is now correct and no longer underestimating the errors by half. For more details about the new features and the bug fixes, please see below. For fully formatted and easy to navigate release notes, please see http://wiki.nmr-relax.com/Relax_3.3.0.

To demonstrate the huge speeds ups in the relaxation dispersion analysis, the following table compares the speed of dispersion models in relax 3.2.3 compared to the new 3.3.0 version:

100 single spins analysis (times in seconds):
Dispersion model relax 3.2.3 timings relax 3.3.0 timings Speed change
No Rex 0.824±0.017 0.269±0.016 3.068x faster.
LM63 1.616±0.017 0.749±0.008 2.157x faster.
LM63 3-site 3.218±0.039 0.996±0.013 3.230x faster.
CR72 2.639±0.042 1.536±0.019 1.718x faster.
CR72 full 2.808±0.027 1.689±0.075 1.663x faster.
IT99 1.838±0.032 0.868±0.011 2.118x faster.
TSMFK01 1.643±0.033 0.718±0.011 2.289x faster.
B14 5.841±0.050 3.747±0.044 1.559x faster.
B14 full 5.942±0.053 3.841±0.044 1.547x faster.
NS CPMG 2-site expanded 8.309±0.066 4.070±0.073 2.041x faster.
NS CPMG 2-site 3D 245.180±2.162 45.410±0.399 5.399x faster.
NS CPMG 2-site 3D full 237.217±2.582 45.177±0.415 5.251x faster.
NS CPMG 2-site star 183.423±1.966 36.542±0.451 5.020x faster.
NS CPMG 2-site star full 183.622±1.326 36.788±0.343 4.991x faster.
MMQ CR72 5.920±0.105 4.078±0.105 1.452x faster.
NS MMQ 2-site 363.659±2.610 82.588±1.197 4.403x faster.
NS MMQ 3-site linear 386.798±4.480 92.060±0.754 4.202x faster.
NS MMQ 3-site 391.195±3.442 93.025±0.829 4.205x faster.
M61 1.576±0.022 0.862±0.009 1.828x faster.
DPL94 22.794±0.517 1.101±0.008 20.705x faster.
TP02 19.892±0.363 1.232±0.007 16.152x faster.
TAP03 31.701±0.378 1.936±0.017 16.377x faster.
MP05 24.918±0.572 1.428±0.015 17.454x faster.
NS R1rho 2-site 244.604±2.493 35.125±0.202 6.964x faster.
NS R1rho 3-site linear 287.181±2.939 68.245±0.536 4.208x faster.
NS R1rho 3-site 290.486±3.614 70.449±0.686 4.123x faster.
Cluster of 100 spins analysis (times in seconds):
Dispersion model relax 3.2.3 timings relax 3.3.0 timings Speed change
No Rex 0.818±0.016 0.008±0.001 97.333x faster.
LM63 1.593±0.018 0.037±0.000 43.401x faster.
LM63 3-site 3.134±0.039 0.067±0.001 47.128x faster.
CR72 2.610±0.047 0.115±0.001 22.732x faster.
CR72 full 2.679±0.034 0.122±0.005 22.017x faster.
IT99 1.807±0.025 0.063±0.001 28.687x faster.
TSMFK01 1.636±0.036 0.039±0.001 42.170x faster.
B14 5.799±0.054 0.488±0.010 11.879x faster.
B14 full 5.803±0.043 0.484±0.006 11.990x faster.
NS CPMG 2-site expanded 8.326±0.081 0.685±0.012 12.160x faster.
NS CPMG 2-site 3D 244.869±2.382 41.217±0.467 5.941x faster.
NS CPMG 2-site 3D full 236.760±2.575 41.001±0.466 5.775x faster.
NS CPMG 2-site star 183.786±2.089 30.896±0.417 5.948x faster.
NS CPMG 2-site star full 183.243±1.615 30.898±0.343 5.931x faster.
MMQ CR72 5.978±0.094 0.847±0.007 7.061x faster.
NS MMQ 2-site 363.138±3.041 75.906±0.845 4.784x faster.
NS MMQ 3-site linear 384.978±5.402 83.703±0.773 4.599x faster.
NS MMQ 3-site 388.557±3.261 84.702±0.762 4.587x faster.
M61 1.555±0.021 0.034±0.001 45.335x faster.
DPL94 22.837±0.494 0.140±0.002 163.004x faster.
TP02 19.958±0.407 0.167±0.002 119.222x faster.
TAP03 31.698±0.424 0.287±0.003 110.484x faster.
MP05 25.009±0.683 0.187±0.007 133.953x faster.
NS R1rho 2-site 242.096±1.483 32.043±0.157 7.555x faster.
NS R1rho 3-site linear 280.778±2.589 62.866±0.616 4.466x faster.
NS R1rho 3-site 282.192±5.195 63.174±0.816 4.467x faster.

Full details of this comparison can be seen in the test_suite/shared_data/dispersion/profiling directory. For information about each of these models, please see the links: http://wiki.nmr-relax.com/No_Rex, http://wiki.nmr-relax.com/LM63, http://wiki.nmr-relax.com/LM63_3-site, http://wiki.nmr-relax.com/CR72, http://wiki.nmr-relax.com/CR72_full, http://wiki.nmr-relax.com/IT99, http://wiki.nmr-relax.com/TSMFK01, http://wiki.nmr-relax.com/B14, http://wiki.nmr-relax.com/B14_full, http://wiki.nmr-relax.com/NS_CPMG_2-site_expanded, http://wiki.nmr-relax.com/NS_CPMG_2-site_3D, http://wiki.nmr-relax.com/NS_CPMG_2-site_3D_full, http://wiki.nmr-relax.com/NS_CPMG_2-site_star, http://wiki.nmr-relax.com/NS_CPMG_2-site_star_full, http://wiki.nmr-relax.com/MMQ_CR72, http://wiki.nmr-relax.com/NS_MMQ_2-site, http://wiki.nmr-relax.com/NS_MMQ_3-site_linear, http://wiki.nmr-relax.com/NS_MMQ_3-site, http://wiki.nmr-relax.com/M61, http://wiki.nmr-relax.com/DPL94, http://wiki.nmr-relax.com/TP02, http://wiki.nmr-relax.com/TAP03, http://wiki.nmr-relax.com/MP05, http://wiki.nmr-relax.com/NS_R1rho_2-site, http://wiki.nmr-relax.com/NS_R1rho_3-site_linear, http://wiki.nmr-relax.com/NS_R1rho_3-site.

For CPMG statistics: 3 fields, each with 20 CPMG points. Total number of dispersion points per spin is 60.

For R experiments: 3 fields, each with 10 spin lock offsets, and each offset has been measured at 5 different spin lock fields. Per field there is 50 dispersion points. Total number of dispersion points per spin is 150.


relax 3.2 series

relax 3.2.3

This is a major bugfix release and the first requiring numpy ≥ 1.6 to allow for faster calculations for certain analyses. There have been improvements to the GUI user functions, the ^[[?1034h escape code is finally suppressed on Linux systems, and the structure.com user function has been added. Bugfixes include the proper handling of R2A0 and R2B0 parameters in the relaxation dispersion models, the IT99 dispersion model tex 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, 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.


relax 3.2.2

This is a major feature and bugfix release. It includes a large speed up of all analytic relaxation dispersion models, the correct handling of edge case failures in all models of the dispersion analysis, a number of fixes for the handling of list-type data in the GUI user function windows including the fatal GUI crashes on Mac OS X systems, and many other bug fixes. Please see below for a full list of features, changes and bugfixes. All users of the dispersion analysis, the relax GUI, or Mac OS X systems are recommended to upgrade to this newest version.


relax 3.2.1

This is a major bugfix release which includes the equations for the B14 and B14 full relaxation dispersion models [Baldwin 2014] introduced with relax version 3.2.0, now being calculated correctly, the NS CPMG 2-site expanded model correctly handling edge cases where no exchange is expected, and the structure.delete user function correctly operating when multiple models are loaded into the data store.


relax 3.2.0

This is a major feature release. It includes the addition of the new B14 and B14 full relaxation dispersion models [Baldwin 2014], a complete rearrangement of the module layout of the specific analyses packages, a number of new user functions, documentation improvements including the addition of a new chapter to the manual for the N-state model or ensemble analysis, and numerous of other features. This is also a major bugfix release, so all users are recommended to upgrade. This is essential if you are using the new relaxation dispersion analysis in relax as a severe bug in the error calculation has been corrected. See below for a comprehensive list of new features, the rather large number of changes, and the long list of all bugs fixed.


relax 3.1 series

relax 3.1.7

This is a minor feature and bugfix release which includes improvements to the relaxation dispersion chapter of the manual and the addition of new infrastructure for R data handling in the dispersion analysis. More details are given below.


relax 3.1.6

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.


relax 3.1.5

This is a major bugfix release which fixes the complete failure of the NOE analysis for most users, a bug introduced in the last relax release. All users of relax 3.1.4 should upgrade to this version.


relax 3.1.4

This is a minor feature and bugfix release which has improvements for the handling of structural data involving multiple molecules or models and improved support in the NOE analysis for replicated spectra. Included are fixes for the failure of the structure.create_diff_tensor_pdb user function for non-spherical diffusion tensors when no Monte Carlo simulations are present and for the failure of the rdc.write user function for back calculated RDC data. Full details are given below.


relax 3.1.3

This is a minor documentation release which includes small improvements to the documentation of the relaxation dispersion analysis in the manual as well as the API documentation for the lib.dispersion package. As the manual is available from http://download.gna.org/relax/manual/relax.pdf, installing this newer version of relax is not necessary.


relax 3.1.2

This relax version is a minor bugfix release which repairs a number of icons on newer operating systems and a solves a problem caused by accidentally setting an incorrect spectrometer frequency.


relax 3.1.1

This is a major feature and bugfix release which adds support for reading 3D structures of organic molecules from Gaussian log files, the new lib.periodic_table and lib.nmr modules, the NS MMQ 3-site linear, NS MMQ 3-site, NS R1rho 3-site linear, and NS R1rho 3-site relaxation dispersion models, R dispersion data sets where multiple offsets and multiple spin-lock fields have been collected for each spin, the loading of spins directly from peak lists, and the reading of NMRPipe seriesTab files. Due to the improvements and the bugs fixed in the relaxation dispersion analysis, all users are recommended to upgrade to this version.


relax 3.1.0

After four years of development by numerous NMR spectroscopists, the relaxation dispersion analysis in relax is finally ready for release [Morin et al., 2014]! This support is complete and includes almost all analytic and numeric dispersion models in existence. These have been labelled as R2eff, No Rex, LM63 [Luz and Meiboom 1963], LM63 3-site [Luz and Meiboom 1963], CR72 [Carver and Richards 1972], IT99 [Ishima and Torchia 1999], TSMFK01 [Tollinger et al., 2001], NS CPMG 2-site expanded, NS CPMG 2-site 3D, NS CPMG 2-site star, M61 [Meiboom 1961], DPL94 [Davis et al., 1994], TP02 [Trott and Palmer 2002], TAP03 [Trott et al., 2003], MP05 [Miloushev and Palmer 2005], NS R1rho 2-site, MQ CR72, and MMQ 2-site, mainly named after the authors and publication date. It includes support for single, zero, double, and multiple quantum CPMG data, including combined proton-heteronuclear data, and off-resonance R data. An automated protocol has been developed to simplify the analysis and a GUI has been designed around this auto-analysis. Calculations have been parallelised at the spin cluster and Monte Carlo simulation level for speed.


relax 3.0 series

relax 3.0.2

This version is a minor feature and bugfix release which includes better pseudo-atom support, support of the value.write user function to allow model information to be written to file, improvements to the 2D Grace plots, and fixes for missing log messages when running on a cluster using OpenMPI.


relax 3.0.1

This version is a minor feature and bugfix release. The handling of peak lists has been enhanced and chemical shifts can now be read into relax, there are a number of improvements throughout the GUI, and a number of minor bugs have been solved. If these changes affect you, please upgrade to this latest version.


relax 3.0.0

This is the first release of the new relax 3 series. This release marks a major shift of relax towards becoming a scientific computing environment specialised for the study of molecular dynamics using experimental biophysical data. It is designed to be a replacement for numerical computational environments such as GNU Octave, MATLAB, Mathematica, Maple, etc. From the perspective of a user, however, not much has changed. There are only a few modifications to the prompt, script, or graphical user interfaces. Most changes are for the power user as they are rather in the backend. The infrastructure changes are comprehensive and include the reorganisation of most of the relax code base, a large expansion of the relax library, and general improvements and fixes to the user manual, the GUI, and the whole code base. The huge number of changes can be seen below.


Version 2 of relax

relax 2.2 series

relax 2.2.5

This is a minor feature release. Improvements include the creation of Rex value files scaled to all spectrometer frequencies for the model-free auto-analysis [d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b] and some new capabilities in the structural API. Feel free to upgrade if you wish to use these new features.


relax 2.2.4

This is a major bugfix release. System and unit test bugs in the Mac OS X application have been eliminated, the RMSD related functions for systems with old Numpy versions installed have been fixed, the system information printout when the relax path contains spaces now works, Python 3 fixes have been made throughout, problems with the last steps of the model-free auto-analysis under certain conditions have been resolved, and the value.write and value.display user functions no longer present a list of zero values when very small number are encountered (for example the field-strength independent Rex values from a model-free analysis). Upgrading is recommended.


relax 2.2.3

This relax version is a major feature and bugfix release. It adds the new structure.add_model, structure.rmsd and structure.web_of_motion user functions, enhances the structure.load_spins and structure.find_pivot functions, and PDB support for the internal structural object has been improved and updated. The new 'lib' package is introduced which will, in the future, be extensive collection of functions and special objects for all types of molecular dynamics analyses. The relax controller in the relax GUI has been improved with line wrapping to allow all messages to be seen. And some major bugs affecting the model-free auto-analysis and PDB file creation have been fixed. All users are recommended to upgrade.


relax 2.2.2

This is a minor bug fix release which resolves an important issue, introduced somewhere within the last few relax releases, whereby missing relaxation data is not handled properly in a model-free analysis. A number of other small bugs have also been fixed - please see below for details. If you plan on performing a new model-free analysis, upgrading to this version is recommended.


relax 2.2.1

This is a quick bugfix release solving a number of issues uncovered since the release of relax 2.2.0 last week. Upgrading to this newest version is highly recommended.


relax 2.2.0

This is a major feature and bugfix release which marks the completion of the N-state model analysis implementation. The N-state model allows single structures or ensembles of static structures to be analysed and compared using residual dipolar couplings (RDCs), pseudo-contact shifts (PCSs), distance restraints via NOEs. In addition to alignment tensors, the populations or probabilities of each state can be optimised as well as the position of the paramagnetic centre when PCSs are used.


relax 2.1 series

relax 2.1.2

This is the Python super-compatibility release - relax will now run on Python 2.3 all the way to Python 3.3, a span of over 9 years of Python development. Some exceptions are Python 3.0 as numpy and scipy are not compatible with that release, the execution of external programs in Python 2.3 not being supported, and the GUI currently not available on Python 3 due to the wxPython project not being compatible with this new Python design yet. A number of important bug fixes are also included. For more details please see below.


relax 2.1.1

This release includes a major overhaul of the relax user manual with the addition of new chapters and tutorials for all analyses and major expansions and improvements overall. It also includes a major set of bug fixes to re-enable the NOE, R1 and R2 analyses of multiple spin types (e.g. the Trp sidechain indole NH), window ordering fixes for the GUI, and numerous other small bug fixes. More details are given below. All users are recommended to upgrade to this newest version.


relax 2.1.0

This major feature release introduces the new concept of a container for data linking two atoms or spins - the interatomic data design. This is for NMR data such as the magnetic dipole-dipole interaction between two spins (including relaxation and RDC data) and NOESY data. This design significantly extends relax's flexibility and opens up new analysis type possibilities. As this is a highly invasive change, touching almost all of the relax analysis types and modifying the GUI, the minor version number has been incremented and all of the 2.0.x version numbering has been skipped. Additional features and changes include the update of the relax copyright license to GPLv3, support for absolute or signless RDCs has been added, and elimination of many GUI bugs in MS Windows. Due to the large number of improvements, changes, and bug fixes, all users are recommended to upgrade.


relax 2.0 series

relax 2.0.0

This is the first relax version of the new 2.0 line. Due to incredible number of changes to the core and large improvements visible throughout prompt and graphical user interfaces (UIs), it was decided that a brand new development line would be created. The 1.3 line will now be discontinued as it quite old - it came into existence 6 years ago (see https://www.nmr-relax.com/mail.gna.org/public/relax-devel/2006-10/msg00053.html.

The features of these release include a complete restructuring of the user functions so that special 'definitions' are used to automatically create the user function front ends in all UIs. This now means that all user functions are now accessible from the GUI. The help system in the prompt UI mode has been revamped and is now better formatted (with better line wrapping for MS Windows). The core of the specific analysis API has been redesigned to make it much easier for NMR spectroscopists to add their own analysis types to relax. The GUI test suite has been significantly expanded so that the GUI should now be, and remain, robust. The XML formatted relax results and save files have been redesigned and improved for both numerical accuracy and readability. Data pipes can now be grouped together in special data bundles, and analysis tabs in the GUI are now associated with a specific bundle. BMRB export (as well as import) and support for Bruker Dynamics Centre relaxation data files are now tightly integrated into the GUI. Many other improvements can be found throughout the GUI. The incredible number of changes that have gone into this release can be seen below!

As this is the first release of a new line, a few minor bugs should be expected. All feedback is appreciated. Bugs can be reported at the official relax bug tracker through the link https://web.archive.org/web/gna.org/bugs/?func=additem&group=relax. Any error messages that are not 'RelaxErrors', any strange behaviour in the GUI such as windows disappearing out the back, elements not updating, etc., or anything that does not behave exactly as you would expect should be treated as a bug!


Version 1 of relax

relax 1.3 series

relax 1.3.16

This is mainly a documentation release. The relax user manual has been significantly updated - changes include the expansion and completion of the model-free analysis chapter, addition of graphical user interface (GUI) screenshots and descriptions, a description of Gary Thompson's multi-processor framework, and general updates and improvements throughout. For those who install relax using the scons 'install' target, the pyc and pyo files are now properly created for faster startup. The Bruker Protein Dynamics Centre user function class 'pdc' has been renamed to 'bruker' because of Bruker's absorption of the PDC into the Bruker Dynamics Centre. These user functions, as well as the BMRB user functions, have been added to the menu system in the GUI. Finally a test suite bug triggered in the Fink relax installation has been eliminated. If you would like improved documentation or would like to use any of the other changes, please update to this version.


relax 1.3.15

This is a major feature release focusing on more complete Mac OS X support and prettifying all of the user interfaces (UIs). The new features include full Mac OS X support via fink and the Mac application DMG file (for Leopard, Snow Leopard and Lion with PPC, i386 and x86_64 CPUs), coloured terminal output in the prompt/script UI modes, the ability to run the full relax test suite within the GUI mode, general improvements throughout the GUI, support for wxPython 2.9, faster program start up, improved formatting of the HTML version of the user manual, and expansion of the multi-processor framework. Many additional changes are listed below. If you are a Mac OS X user, you are affected by one of the bugs listed below, or you would like to use the new features, then I would recommend upgrading to this new version.


relax 1.3.14

This is a major bug fix release focusing on memory usage, performance, and IO. The parallised model-free optimisation code (for running on clusters/grids using the multi-processor package) was causing relax to crash on 32-bit systems due to the system running out of virtual memory. The new version should only require about a third of the memory of relax 1.3.13. The parts of relax dealing with atomic or spin specific data (reading of spin systems from PDB files, reading and writing of spin specific data, etc.) have been rewritten for efficiency and should now be many orders of magnitude faster for certain work loads. There have also been large improvements to the multi-processor framework, specifically the creation of a public API and a reference implementation. In addition there are improvements for IO capture on both the uni-processor and mpi4py-processor fabrics for relaying slave messages back to the master, better integration with the GUI and compatibility with the logging and teeing command line flags. Other changes include expansion of the relax information print out, support for numpy data structures in save files, and the addition of the rdc.delete and pcs.delete user functions. Feel free to upgrade if you would like the benefits of this new version.


relax 1.3.13

This major release introduces the second version of the relax graphical user interface (GUI). This is a major rewrite of the entire GUI code base. The GUI should now be much more flexible, being able to handle all the different ways NMR data is collected and errors are measured. It now has the much of the flexibility of the prompt / scripting interface by the implementation of GUI versions of many of the user functions, and the GUI now has support for small organic molecules, RNA, DNA, sugars, etc. This flexibility will allow all other analysis types (reduced spectral density mapping, N-state model, the frame order theory, consistency testing, etc.) to be added to the GUI in the future. The GUI is now fully tested and functional on the three major platforms of GNU/Linux, Mac OS X and MS Windows.

In addition, there have been significant bugs fixed throughout the program in both the GUI and the rest of the code base. There are a number of improvements to the frame order theory. A number of new structure user functions have been added for structure creation and structure displacement and superimposition. There have been improvements to the N-state model analysis and to the handling of RDC and PCS values. New user functions have been added for visual representation of model-free results in PyMOL. And finally, the auto-analyses have been redesigned to have all input data pre-loaded into a relax data pipe and that data pipe passed into the the analysis. This grants more flexibility, specifically for non-protein organic molecules which can now be used with the dauvergne_protocol auto-analysis[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b].

Due to the incredible number of changes and fixes which are part of this release (see below), all users are recommended to upgrade to this newest version.


relax 1.3.12

This is a major feature release which adds the ability to run relax on clusters or grids of computers via the MPI protocol. This merges in Gary Thompson's multi-processor branch which was started all the way back in 2007. The 'multi' package introduces two processor fabrics, the standard uni-processor mode and the mpi4py mode for using the MPI protocol with Python. The model-free analysis code has been parallelised to take advantage of the multi-processor modes, significantly speeding up calculations on clusters with near perfect scaling efficiency. The flexible 'multi' package can easily be extended for other multi-processor modes such as additional MPI implementations using different Python libraries (pypar, etc.), the use of SSH tunnels for parallel programming, use of the twisted framework for communication, or the parallel virtual machine (PVM) via pypvm. For more information on how to use this, see https://www.nmr-relax.com/mail.gna.org/public/relax-devel/2007-05/msg00000.html.


relax 1.3.11

This is a major feature release - all users are recommend to upgrade to this version. The major features include the integration of relax and the BMRB via the reading and writing of the BMRB NMR-STAR format files for model-free analyses, support for reading the XYZ 3D structure files used in organic chemistry, significant GUI improvements, and better support for the Bruker Protein Dynamics Centre (PDC) files. In addition a large number of bugs have been resolved. All together, this is a large release consisting of just under 2000 individual changes.


relax 1.3.10

This is a major feature release which introduces support for reading Bruker Protein Dynamics Centre (PDC) files. It also fixes a bug in the N-state model Q factor values when run in combination with Monte Carlo simulations for error analysis.


relax 1.3.9

This is a major feature release which introduces the new graphical user interface written by Michael Bieri [Bieri et al, 2011]. This GUI provides easy access to a sub-set of relax's features - the R1 and R2 relaxation rate curve-fitting, NOE calculations, and the fully automatic model-free analysis of the dauvergne_protocol module [d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b].


relax 1.3.8

This is a minor bugfix release in preparation for the impending merger of relaxGUI [Bieri et al, 2011]. New features include a sample script for creating CSV files from model-free results for import into spreadsheet programs, extensive system testing of all model-free models, fixes for a system test on 32-bit GNU/Linux, and a fix for running scripts with certain versions of Python.


relax 1.3.7

This is a major bug fix release - all model-free users of relax version 1.3.6 must upgrade to this version. The fatal bug is that the prolate diffusion tensor when initialised with Da set to zero will be converted to an oblate tensor. Other bugs fixed include support for volume integration together with replicated spectra, the scipy dependency now bing optional, 32-bit GNU/Linux test suite fixes, and better support for the reading of old version 1.2.x results files. An additional feature is that the relax packages/modules can now be imported and used outside of relax.


relax 1.3.6

This is a major feature release which includes many bug fixes and a security fix. Major additions include the addition of 9 new frame order models, execution locking, support for CCPN Analysis 2.1 peak lists, Monte Carlo simulations for the N-state model, optimisation of the Ln3+ position in the N-state model, weighting of RDCs and PCSs during optimisation, and no longer using execfile() closing a security hole.


relax 1.3.5

This is a major feature release consisting of over a year's worth of improvements and bug fixes, with close to 2000 code changes. All users are recommended to upgrade to this newest version. New features include the ability to determine the stereochemistry of flexible organic molecules, expansion of the frame order theory, better support for RDCs and PCSs, 2D Grace plot improvements, and many new rotation_matrix module conversion functions.


relax 1.3.4

This is a major feature release featuring innumerous changes and bugfixes. New features include support for spin containers for psuedo atoms, NOE distance restraints, improved structure handling with multiple molecules and multiple models, the N-state model with equal and fixed probabilities, handling of the Bruker ncproc parameter, return of hybridisation, return of MOLMOL macros for illustrating model-free parameters, and initial support for the new Frame Order theories.


relax 1.3.3

This is a major bugfix and feature release. Support for the programs Dasha, Modelfree4 and OpenDX has returned and XEasy and NMRView peak lists can now be read. Upgrading to this version is highly recommended as it fixes a number of very important bugs. Some of these are include faulty error analysis when performing relaxation curve-fitting, results.write failure, model selection failure if spins were deselected, diffusion tensor optimisation failure, and internal PDB reader problems.


relax 1.3.2

This release solves many major bugs in the final stages of model-free analysis, especially when using the 'full_analysis.py' script [d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b]. This version also marks the return of the NOE analysis. If you are using relax version 1.3.1, it is recommended that you upgrade to 1.3.2. Bugs which have been resolved include: problems reading PDB files; failure of the value.set, fix and value.write user functions; non-functional model elimination; model selection issues in certain situations; and various Monte Carlo simulation issues.


relax 1.3.1

Finally, it's arrived! The new and improved relax is finally ready for release. It's taken 2 years to get here, 4400 individual changes, and a complete rewrite of almost every last line of code - all in all an impressive team effort. Although the jump from 1.3.0 to 1.3.1 appears small, the changes are so expansive that hardly any code is preserved between these versions. In addition, the release includes all changes which occurred between relax versions 1.2.10 and 1.2.14. For this shiny new version, we have had complete redesign of relax. This started all the way back in October of 2006 with the post https://www.nmr-relax.com/mail.gna.org/public/relax-devel/2006-10/msg00053.html. This overhaul involves the new molecule-residue-spin data structure and the elimination of the 'run' concept replacing it with the data pipe paradigm.

No longer is relax constrained to handling a single spin type for the entire system, or a single spin per residue. Multiple structures, multiple residues per structure, and multiple spins per residue can be handled, paving the way for using relax with small organic molecules, with RNA and DNA, and for protein systems using not only 15N data but also any data from carbons or other spin types. As for the data pipe concept, this is the next logical step in the evolution of relax. The 'run' had significantly diverged from its original meaning, so now it has been renamed to the pipe. Everything in relax is now associated with a data pipe. These pipes can be created, merged with user functions such as model_selection, branched by copying, and the entire contents preserved at any time into an XML formatted results file - imagination is the only limitation as to what can be done with these pipes. The progress of relax can be considered as the flow of data through these pipes, with each user function modifying or using the contents.

For for identifying and selecting spins, the spin identification string concept has been introduced. The string is composed of three components: the molecule id token beginning with the '#' character, the residue id token beginning with the ':' character, and the atom or spin system id token beginning with the '@' character. Each token can be composed of multiple elements separated by the ',' character and each individual element can either be a number, name, or range of numbers separated by the '-' character. Hence the full id string specification is "#<mol_name> :<res_id>[, <res_id>[, <res_id>, ...]] @<atom_id>[, <atom_id>[, <atom_id>, ...]],". Basic usage of the Boolean operators and ('&') and or ('|') is also supported.

Note that in this version, not all parts of relax are currently functional. Many, such as relaxation curve fitting, model-free analysis, reduced spectral density mapping, consistency testing, etc. are fully functional but if you do uncover a non-operational user function, please submit a bug report or use the stable 1.2.14 version. Conversion of the last parts of relax to the new design will not be too hard, especially if all issues are reported. Note that this is a development line and that scripts written for version 1.3.1 may not work automatically in future 1.3 versions.


relax 1.3.0

This is the first release of the unstable 1.3 development line. In addition to all the capabilities of relax 1.2.10 the new features of this release include the addition of a unit test framework, preliminary support for PyMOL, the creation of PDB files, the ability to display the diffusion tensor encoded as a PDB file using PyMOL, the ability to display the distribution of XH bond vectors used in the analysis via a PDB file, the new user function class 'structure' containing the old user function pdb which has been split and redesigned, removal of apply(func, args) calls from the minimisation code, improved spin system selection using Boolean operators, and a few other small features, bugfixes, and program changes. As the user function names have been and will continue to be modified please do not expect either the backwards or forwards compatibility of relax scripts written for the 1.3 relax versions.


relax 1.2 series

relax 1.2.15

This is a very minor bugfix release solving issues with the value.write user function and with error analysis when performing relaxation curve-fitting.


relax 1.2.14

This is a minor bug fix release which fixes a minor bug in the consistency testing analysis and the compilation of the C modules in Windows when using Python 2.5. The relax manual has also had a minor facelift.


relax 1.2.13

This release introduces new features and fixes a number of important bugs. The most significant feature is the consistency testing of relaxation data from different field strengths using the J(0), Fη and FR2 values [Morin and Gagné, 2009][Fushman et al., 1998]. Important bugs which have been fixed include the failure of Monte Carlo simulations when model-free model m0 is encountered causing the parameter errors for all subsequent residues to be zero, the failure of reading of Art Palmer's Modelfree4 'mfout' file, and the handling of missing structural data. For a full description of the additions and fixes, please see below.


relax 1.2.12

This is an important bug fix release. It fixes major issues with the writing of results files and with the failure of model elimination. The 'latex_mf_table.py' sample script has also been fixed. More details are given below. If you have encountered these problems, please consider upgrading to this version to solve the issues.


relax 1.2.11

This is another major bug fix release. Please upgrade to this version if you wish to use relax for reduced spectral density mapping as significant bugs in that part of relax have been identified and fixed. Other significant changes include this being the only version of relax which will run with Python 2.5, the addition of Grace plotting abilities improving the analysis of relaxation exponential curve-fitting, large simplifications for the user and automatic looping over iterations in the 'full_analysis.py' script [d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b], and improvements to the reading and writing of model-free results files. See below for additional improvements.


relax 1.2.10

This is a major bug fix release which includes a number of feature enhancements. Significant changes include the addition of convergence tests to the 'full_analysis.py' script [d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b], the ability to compile the C modules on Mac OS X, more advanced spin system selection, the model-free and reduced spectral density mapping results files no longer being truncated, and improvements to the model-free section of the user manual by the addition of flow diagrams detailing the steps of different model-free analysis protocols. Significant bugfixes include more flexibility in the reading of XEasy text files, a number of fixes in the 'full_analysis.py' sample script, the proper setup of Monte Carlo simulation when reading results files, and a couple of MS Windows fixes. More details and additional features, changes, and bugfixes are detailed below.


relax 1.2.9

This release fixes a important bug introduced into relax version 1.2.8. If you have installed 1.2.8, please upgrade to this new version. The problem was that relax was throwing a RelaxError saying that an infinite chi-squared value had been encountered when the chi-squared value was actually zero (see bug #7641). A few other small changes are detailed below.


relax 1.2.8

This is a major bug fix release. A number of important bugs have been fixed including the failure of model selection between global diffusion models when using the local τm models (bug #7616), the failure of model elimination when the model m0 is used (bug #7226), and the failure in the reading of old model-free results files from relax versions prior to 1.2.5 (bug #7587). Additional bug fixes are detailed below. New features include preliminary support for RNA/DNA data and support for the grace.write user function for reduced spectral density mapping.


relax 1.2.7

This release adds full compatibility for MS Windows. Unless you would like to use relax on Windows or are a developer (a few debugging features have been added), this release can be safely ignored. To allow relax to properly function on MS Windows a number of changes were necessary. This includes a number of bug fixes, the creation of the 'relax.bat' batch file, and modifications to allow the C modules to be compiled. Pre-compiled Windows zip files will now be available for download from the relax download page.


relax 1.2.6

A quick release to fix the fatal 'devnull' ImportError (bug #6403). This bug effects those using Python versions < 2.4 and prevents relax from starting up. The solution was to import the object using a try statement to allow execution of the program. However if relax ever attempts to use 'devnull' a RelaxError is thrown, a message saying to upgrade to Python ≥ 2.4 is printed, and the program terminates. This is currently only a problem in the test-suite.


relax 1.2.5

This is mainly a bugfix release. A large number of bugs have been eliminated including bug #5977, bug #6288, bug #6383, bug #5806, bug #6384, bug #6388, bug #6389, and bug #5746. These are described in more detail below. To fix a few of these bugs large disruptive changes were required. This included the change of the local τm parameter name from 'tm' to 'local_tm' and the simplification of the model-free model_statistics() function and modification of the model-free calculate() function. Therefore regressions and new bugs may appear in this release, most likely when the local τm parameter is encountered or during model selection.


relax 1.2.4

This is a long overdue release which includes many new features, changes, and bugfixes. Molmol macros which plot parameter values onto the structure using arbitrary colour gradients through the X11 colours, Molmol colours, or RGB vectors can now be created by the program. A test suite has been added to aid in debugging and checking that new code does not break the functionality of the program. The relax manual has been significantly updated. Hyperlinks are now present. The chapter Open source infrastructure has been added and the development chapter has been rewritten. Hybrid runs are now supported. Half the protein can be analysed in one run, the other half in another, and then the two combined into one hybrid run.


relax 1.2.3

This is a bug fix release which corrects a segfault crash of the exponential relaxation curve-fitting modules. The bug was introduced by the shift from the makefile to Sconstruct build system. The full descriptions of all bug fixes are:

  • Sconstruct now does not use the '-fPIC' option during compilation which caused the exponential relaxation curve-fitting modules to segfault.
  • The distribution binary and source file creation Sconstruct functions now properly compress the archives.
  • The value.read function contained a bug where the residue number from the file was not being read. Instead the integer position within the file was being used as the residue number.

  • The model-free spectral density function 'calc_S2f_S2s_ts_djw_dS2s' does not exist. Therefore when using the model with the parameters {Sf2, Ss2, τs}, the program would throw an error and stop. The function is actually calc_S2f_tf_S2s_ts_djw_dS2s. The factor 'data.s2f_s2' also had to be calculated in maths_fns/jw_mf_comps.py.


relax 1.2.2

This release improves compatibility for different operating systems including Unix, Mac OS X, and Windows. To achieve this, the make system has been replaced by the Sconstruct system. Both the Dasha and Modelfree4 code has been significantly improved. A number of bugs have also been fixed including:

  • The automatically generated Dasha script has been fixed. Previously the optimise command used was min all or lmin all. This is incorrect and the proper syntax is min m n or lmin m n where m is the first residue number while n is the last.
  • The optimisation code has been fixed to handle the unstable, broken Numeric Python packages so that the Cholesky Hessian modification works again and the eigenvalue decomposition (which now freezes Python) is avoided.
  • The file generic_fns/palmer.py has been modified to gracefully handle a Modelfree4 bug whereby the mfout output file has been corrupted due to the fusion of columns.


relax 1.2.1

This release fixes a number of bugs affecting the creation of DASHA scripts for specific model-free models (two time scale motions but without the τf parameter) and the reading of DASHA results for models with motions on two time scales. The function value.write which was broken when trying to write out relaxation data (R1, R2, or the NOE) has been fixed as well as the out of date generate_ri.py sample script.


relax 1.2.0

Introducing the newest 1.2 stable feature release of relax. The major feature of this release is that relaxation curve fitting is now supported within relax. Now relax can calculate the R1, R2, and NOE, as well as their associated errors, from peak intensities.

Other features include a shift to the 'make' system. Installation is now through makefiles and the command 'make install' as root will install relax into /usr/local/. Many of the development related scripts for compiling the manual, removing temporary files, creating the distribution packages, etc have been moved into makefiles as well. C modules have been added which interface with relax through the Python/C API. These implement the functions using in the optimisation of relaxation curves. To create the C shared objects, the command 'make' is used.

The minor version number which can be downloaded is relax version 1.2.0. This is the first release of the new 1.2 branch.


relax 1.0 series

relax 1.0.10

This is a maintenance release which incorporates Chris MacRaild's bug fix of the loading of the model-free results file. Chris has also incorporated the fix into the new 1.2 feature release.


relax 1.0.9

A HTML version of the manual can now be created via latex2html.


relax 1.0.8

The Dasha release. The program Dasha can now be fully controlled from within relax. Three functions have been added to create the Dasha script, execute Dasha using this script, and finally to extract all the minimisation results.


relax 1.0.7

This release corresponds to solely cosmetic changes. An internal version number is now used within relax. This replaced the previous 1.0.7 version which was copied a bit to early.


relax 1.0.6

This release includes both added features and bug fixes. The Euler angle β of the diffusion tensor is now treated as a glide reflection when between π and 2π rather than a translation of the space between 0 and π. The glide reflection and translation symmetries of the spheroid and ellipsoid diffusion tensors are now collapsed such that all angles are between 0 and π, and the simulated values lie π/2 either side of the fitted value.


relax 1.0.5

This is a bugfix release, improving the user function diffusion_tensor.init. This fixes problems when using the ellipsoid parameters Dx, Dy, and Dz.


relax 1.0.4

This is a feature release. Significant improvements to the OpenDX mapping functions have been made, including the ability to map any three parameters of all models within any order. Significantly diffusion tensor parameters can now by mapped.


relax 1.0.3

This is a bugfix release. Two bugs affecting specific calculations of the spectral density gradient and Hessian have been removed. One occurs in the Hessian when optimising the spherical diffusion parameters simultaneously with the parameters Sf2, τf, S2, and τs. The other affects the gradient when optimising the parameters Sf2, Ss2, and τs.


relax 1.0.2

This release corresponds to many changes to the Brownian rotational diffusion tensor.

It includes the shift to the geometric parameters:

[math] D_{iso} = \frac{1}{3} \left( D_x + D_y + D_z \right), \\ D_a = D_z - \frac{1}{2} \left( D_x + D_y \right) , \\ D_r = D_y - \frac{D_x}{2D_a} . [/math]

Numerous bugs in the old correlation time, weights, and direction cosine code have been fixed. A few of these bugs had been fixed previously but those fixes were somehow lost. Two major problems in the calculation of the Hessian of the ellipsoid direction cosines have been fixed and the ellipsoid diffusion tensor now minimises orders of magnitude faster.

relax 1.0.1

relax 1.0.0

The initial relax release.


References

  • [*Baldwin 2014] A. Baldwin (2014). An exact solution for R2,eff in CPMG experiments in the case of two site chemical exchange. J. Magn. Reson., 244, 114-124. (DOI: 10.1016/j.jmr.2014.02.023).
  • [*Bieri et al, 2011] Bieri, M., d'Auvergne, E., and Gooley, P. (2011). relaxGUI: a new software for fast and simple NMR relaxation data analysis and calculation of ps-ns and μs motion of proteins. J. Biomol. NMR, 50, 147-155. (DOI: 10.1007/s10858-011-9509-1).
  • [*Carver and Richards 1972] Carver, J. P. and Richards, R. E. (1972). General 2-site solution for chemical exchange produced dependence of T2 upon Carr-Purcell pulse separation. J. Magn. Reson., 6(1), 89-105. (DOI 10.1016/0022-2364(72)90090-X).
  • [*d'Auvergne and Gooley, 2007] d'Auvergne, E. J. and Gooley, P. R. (2007). Set theory formulation of the model-free problem and the diffusion seeded model-free paradigm. Mol. BioSyst., 3(7), 483–494. (DOI: [http://dx.doi.org/10.1039/b702202f 10.1039/b702202f).
  • [*d'Auvergne and Gooley, 2008] d'Auvergne, E. J. and Gooley, P. R. (2008). Optimisation of NMR dynamic models II. A new methodology for the dual optimisation of the model-free parameters and the Brownian rotational diffusion tensor. J. Biomol. NMR, 40(2), 121-133. (DOI: 10.1007/s10858-007-9213-3).
  • [*Davis et al., 1994] Davis, D. G., Perlman, M. E., and London, R. E. (1994). Direct measurements of the dissociation-rate constant for inhibitor-enzyme complexes via the T1rho and T2 (CPMG) methods. J. Magn. Reson., 104(3), 266-275. (DOI 10.1006/jmrb.1994.1084).
  • [*Fushman et al., 1998] Fushman, D., Tjandra, N., and Cowburn, D. (1998). Direct measurement of 15N chemical shift anisotropy in solution. J. Am. Chem. Soc., 120(42), 10947-10952. (DOI: 10.1021/ja981686m).
  • [*Ishima and Torchia 1999] Ishima, R. and Torchia, D. A. (2005). Error estimation and global fitting in transverse-relaxation dispersion experiments to determine chemical-exchange parameters. J. Biomol. NMR, 32(1), 41-54. (DOI 10.1007/s10858-005-3593-z).
  • [*Luz and Meiboom 1963] Luz, Z. and Meiboom, S. (1963). Nuclear magnetic resonance study of protolysis of trimethylammonium ion in aqueous solution - order of reaction with respect to solvent. J. Chem. Phys., 39(2), 366-370. (DOI 10.1063/1.1734254).
  • [*Meiboom 1961] Meiboom, S. (1961). Nuclear magnetic resonance study of proton transfer in water. J. Chem. Phys., 34(2), 375-388. (DOI 10.1063/1.1700960).
  • [*Miloushev and Palmer 2005] Miloushev, V. Z. and Palmer, 3rd, A. G. (2005). R(1rho) relaxation for two-site chemical exchange: general approximations and some exact solutions. J. Magn. Reson., 177(2), 221-227. (DOI 10.1016/j.jmr.2005.07.023).
  • [*Morin and Gagné, 2009] Morin, S. and Gagné, S. (2009). Simple tests for the validation of multiple field spin relaxation data. J. Biomol. NMR, 45, 361-372. (DOI: 10.1007/s10858-009-9381-4).
  • [*Morin et al., 2014] Morin, S., Linnet, T. E., Lescanne, M., Schanda, P., Thompson, G. S., Tollinger, M., Teilum, K., Gagne, S., Marion, D., Griesinger, C., Blackledge, M., and d’Auvergne, E. J. (2014). relax: the analysis of biomolecular kinetics and thermodynamics using NMR relaxation dispersion data. Bioinformatics, 30(15), 2219-2220. (DOI 10.1093/bioinformatics/btu166).
  • [*Tollinger et al., 2001] Tollinger, M., Skrynnikov, N. R., Mulder, F. A. A., Forman-Kay, J. D., and Kay, L. E. (2001). Slow dynamics in folded and unfolded states of an sh3 domain. J. Am. Chem. Soc., 123(46), 11341-11352. (DOI 10.1021/ja011300z).
  • [*Trott and Palmer 2002] Trott, O. and Palmer, 3rd, A. G. (2002). R1rho relaxation outside of the fast-exchange limit. J. Magn. Reson., 154(1), 157-160. (DOI 10.1006/jmre.2001.2466).
  • [*Trott et al., 2003] Trott, O., Abergel, D., and Palmer, A. (2003). An average-magnetization analysis of R-1 rho relaxation outside of the fast exchange. Mol. Phys., 101(6), 753-763. (DOI 10.1080/0026897021000054826).

<HarvardReferences />

See also