= Description =
<onlyincludesection begin=description/>
This is a major bugfix release which includes the equations for the [[B14]] and [[B14 full]] [[:Category:relaxation dispersion|relaxation dispersion]] models [Baldwin 2014] introduced with [[relax 2.2.0|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 [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function] correctly operating when multiple models are loaded into the data store.
<section end=description/onlyinclude>
= Download =
<section begin=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).
<section end=download/>
= CHANGES file =
<section begin=metadata/>
Version 3.2.1 <br/>
(23 May 2014, from /trunk) <br/>
http://svn.gna.org/svn/relax/tags/3.2.1
<section end=metadata/>
== Features ==
<section begin=features/>
* N/A
<section end=features/>
== Changes ==
<section begin=changes/>
* Punctuation fixes throughout the CHANGES document.
* Modified system test Relax_disp.test_cpmg_synthetic_ns3d_to_cr72 to catch [https://gna.org/bugs/?22017 bug #22017: LinAlgError, for all numerical CPMG models]. System test was renamed from test_cpmg_synthetic_cr72 to test_cpmg_synthetic_ns3d_to_cr72, to reflect which model create the data and which model fits the data.
* Speed up for the version module when using a repository copy of the code. The repository revision and URL and now stored as module variables, so that the 'svn info' and 'git svn info' commands are only run twice, once for the revision() function and once for the url() function.
* Large speed up for the relax start up times for svn and git-svn copies of the relax repository. The 'svn info' and 'git svn info' commands are now only executed once when the version module is first imported. The revision() and url() functions have been merged into the repo_info() function and this is called when the module is imported. This repo_info() function stores the repository revision and URL as the version.repo_revision and version.repo_url module variables. It also catches if these variables are already set, so that multiple imports of the module do not cause the repository information to be looked up each time. Previously the revision() and url() functions where called every time a relax state or result file was created, hence for repository copies the 'svn info' or 'git svn info' commands were being called each time. The functions were also called for each interpreter object instantiated, and for each import of the version module.
<section end=changes/>
== Bugfixes ==
<section begin=bugfixes/>
* Extremely important fix for the [[B14|model B14]]. This was discovered by author Andrew Baldwin by inspecting his code in relax. [https://gna.org/bugs/?22021 Bug #22021: model B14 shows bad fitting to data]. The implementation was performed wrong for calculation of g3 and g4. The implementations should be performed by trigonometric functions. The [[B14|model B14]] was previously in a state of non-functioning. The [[B14|B14 model]] now shows excellent performance.
* Fix for bug #22069 by only deleting helix and sheet data with structure.delete when it exists. This is [https://gna.org/bugs/?22069 bug #22069, the failure of the structure.delete user function with "AttributeError: Internal instance has no attribute 'helices'"].
* Fix for all edge case 'no R<sub>ex</sub>' failures of the [[NS CPMG 2-site expanded]] model. This uses the no exchange checking idea, modified to function in the relax trunk, from http://article.gmane.org/gmane.science.nmr.relax.devel/5847. This is importantly on line 1 of the function. The recently introduced set of 7 unit tests comprehensively showing these failures now all pass.
* Important bug fix for the [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function] when multiple models are present. This is to fix [https://gna.org/bugs/?22070 bug #22070, the failure of the structure.superimpose user function after deleting atoms with structure.delete]. The problem is that structure.delete was removing the atoms from the first model but none of the others. This is because it was using the structural object atom_loop() method to find the atoms to be deleted, but this method operates on the first model. So when the second model is reached, the atoms are already gone.
<section end=bugfixes/>
= Links =
<section begin=links/>
For reference, the following links are also part of the announcement for this release:
* [http://wiki.nmr-relax.com/Relax_3.2.1 Official release notes]
* [https://mail.gna.org/public/relax-announce/2014-05/msg00001.html Local archives]
* [http://marc.info/?l=relax-announce&m=140105764428563&w=2 MARC]
<section end=links/>
= Announcements =
= References =
<section start=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: [http://dx.doi.org/10.1016/j.jmr.2014.02.023 10.1016/j.jmr.2014.02.023]).
<section end=references/>
<HarvardReferences />