Switch to the {{bmrblib homepage}} template to remove dead Gna! links.
{{lowercase title}}
{{infobox relax release| version = 1.3.11| prev = 1.3.10| next = 1.3.12| type = Major feature| date = 12 August 2011| manual = yes}} == Description ==
<section begin=description/>
<section end=description/>
== Download ==
<section begin=download/>
<section end=download/>
== CHANGES file ==
<section begin=metadata/>
<section end=metadata/>
=== Features ===
<section begin=features/>
* Support for the creation of NMR-STAR version 3.1 files for BMRB deposition of model-free analysis results.
* Support for the reading of all versions of NMR-STAR files containing model-free or relaxation data from the BMRB.
* Use of the new [http://gna.org/projects/{{bmrblib homepage}} bmrblib library] for BMRB integration support.
* Activated the PDC peak intensity type reading.
* Added the Bruker PDC to the [http://www.nmr-relax.com/manual/bmrb_software_select.html exp_info.software_select user function] back end.
<section end=features/>
=== Changes ===
<section begin=changes/>
* Removed the Numeric module from the --info print out as it is completely unused now.
* Added the Bruker PDC software info to the exp_info module.
* The [http://www.nmr-relax.com/manual/pdc_read.html pdc.read user function ] back end is now reading the PDC version information.
* Added a catch for the "worst case per peak scenario" option in the PDC. This will now throw a RelaxError, telling the user to go back to the PDC and use the other option.
* Converted the [http://www.nmr-relax.com/manual/pdc_read.html pdc.read user function ] back-end to use the \t delimitation of the PDC file for parsing.* The R1 R<sub>1</sub> value and error are now being read directly from the PDC file.
* Added wrapper methods to the relaxation curve-fitting specific code for the new C modules. These allow the parameter numpy array from minfx to be converted into a Python list prior to sending it into the C module.
* Added a check for the runpy Python module.
* Scripts can now be run again under Python versions 2.4 or lower (by avoiding the runpy module).
* The auto_analyses package modules are now imported by __init__ to force their existence.
* The [http://www.nmr-relax.com/manual/relax_data_back_calc.html relax_data.back_calc user function ] arguments no longer need to be supplied.
* Shifted all of the model-free sample scripts into the new subdirectory sample_scripts/model_free.
* Added copyright headers to all of the sample scripts, and updated the introduction text. This allows users to determine the age of the scripts.
* Removed 'relax_disp' from the VALID_TYPES data pipe type array. This is supported in the relaxation dispersion 'relax_disp' branch and not in the main line.
* The RDC and PCS Q factor user functions now do nothing when data is missing rather than failing. A warning is given and the function now simply returns rather than raising an error.
* The grace file created by the [http://www.nmr-relax.com/manual/pcs_corr_plot.html pcs.corr_plot user function ] now separates each element into its own graph.
* Converted the summary from the final_data_extraction.py sample script into comma separated file (.csv).
* Added the PDB reading parts of Scientific python to relax so that Scientific python is no longer a relax dependency.
* Changed the "Help->Contact relaxGUI" to "Help->Mailing list contact".
* Renamed the "Relaxation time [s]" column to "Relaxation delay [s]" in the GUI as this is a more correct description.
* Deleted [https://gna.org/users/bugman {{relax developer link|username=Sw|text=Edward's] }} ancient Melbourne Uni email address from the MEDLINE info.
* Normalisation of the text in the auto model-free analysis GUI tab. The font sizes are now all the same, the text is not right aligned (not seen under Linux but very ugly in Windows), and semicolon usage and capitalisation is normalised.
* Regularisation of the font formatting in the steady-state NOE GUI tab.
* Shifted the title and subtitle creation for the NOE frame into a base class for all frames to use.
* Regularisation of the fonts, titles, and subtitles in the Rx R<sub>x</sub> auto-analysis frames.
* Created the add_subsubtitle() base class method for creating a sub-sub-title in the GUI.
* Regularised the text in the results tab.
* The create_molecule, create_residue, and create_spin functions now return the created container.
* Modified the create_spin() function to overwrite the first spin if empty.
* Redesign of the [http://www.nmr-relax.com/manual/structure_load_spins.html structure.load_spins user function ] back end for XYZ file reading support.
* Redesign of the main relax module. The module has been renamed to 'relax.py', and the original file 'relax' is now a very basic python script which simply loads the module and runs the new start() function for launching relax.
* The relax mode normally specified by the command line can now be overridden.
* The relax_io.read_spin_data() function no longer skips short lines so that a warning is given for it.
* generic_fns.sequence.validate_sequence() now also checks for the spin ID, data and error columns. This is now used by relax_io.read_spin_data().
* Files created by the [http://www.nmr-relax.com/manual/grace_write.html grace.write user function ] are now put into a new list cdp.results_files.* The [http://www.nmr-relax.com/manual/value_write.html value.write user function ] now also adds to the cdp.result_files structure.
* Modified the execution lock to have a mode. This allows for greater control and avoid string comparison of names to determine if a script or auto-analysis acquired the lock.
* The dauvergne_protocol is now more robust if the program is interrupted and restarted later[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b]. The opt/results.bz2 file is now searched for, and if not the round is assumed incomplete.
* The [http://www.nmr-relax.com/manual/pymol_tensor_pdb.html pymol.tensor_pdb() user function ] now shows the diffusion tensor using PyMOL sticks.* Creation of the new [http://www.nmr-relax.com/manual/structure_read_xyz.html structure.read_xyz user function].
* Addition of two new system tests Structure.test_read_xyz_internal() and Structure.test_read_xyz_internal2().
* Changing the description in the user functions [http://www.nmr-relax.com/manual/structure_load_spins.html structure.load_spins ] and [http://www.nmr-relax.com/manual/structure_read_xyz.html structure.read_xyz].
* Code for extracting a vector between specified spins in a XYZ file has been included in the generic_fns.structure.internal.
* Debugging in the function generic_fns.structure.main.load_spin() in order to load a spin for XYZ file properly.
<section end=changes/>
=== Bugfixes ===
<section begin=bugfixes/>
* The setting of the integration method in the [http://www.nmr-relax.com/manual/pdc_read.html pdc.read user function ] now works.* Fixes for the [http://www.nmr-relax.com/manual/pdc_read.html pdc.read user function ] back-end for the NOE PDC file.* Fix for the [http://www.nmr-relax.com/manual/pdc_read.html pdc.read user function ] back-end for reading NOE data out of the new PDC files.
* Fix for the relaxation curve-fitting back_calc_I C function so that it works under Python 2.5.
* Fix for the initialisation of the Bruker_import class. This allows this module to be loaded in Python 2.4.
* Loosened all of the model-free tests so that the minimisation statistics are no longer checked. This will stop users from thinking they have a problem with their version of relax, after running the test suite.
* Removed numpy from the relaxation curve-fitting C module code. This should help with incompatibilities (and segfault failures) between different Python versions, as this seems to be due to the numpy C interface.
* Improved the RelaxWarning for the reading of NMRView peaks with missing assignments ([https://gna.org/bugs/?17876 bug #17876]).
* Fix for the N-state model for when only the paramagnetic centre position is optimised.
* Fix for the grid search limits as they were being scaled iteratively for each successive spin system ([https://gna.org/bugs/?18030 bug #18030]). This only affects certain type of custom grid searches.* A ":" symbol in the description of a function variable was preventing the compilation of the user manual using scons ([https://gna.org/bugs/?18037 bug #18037]).
* Opened files are closed properly after writing in the final_data_extraction.py sample script.
* If no diffusion tensor is present, creation of diffusion pdb will be skipped (final_data_extraction.py sample script).
* Updates for the Dasha [[DASHA]] sample script for the current version of relax.
* Updates for the diffusion tensor optimization sample script for the current version of relax.
* Some fixes for the subprocess.Popen() calls on MS Windows.
* Removed event.skip due to conflict with Windows (auto-analysis Rx R<sub>x</sub> fix in the GUI).* Fixes for the [http://www.nmr-relax.com/manual/spin_copy.html spin.copy ] GUI user function element. This still had remnants of the residue.copy window.
* The relax icon is not shown in "Global relax settings" window if running on a Mac. This fixes a bug whereby closing the window causes the GUI to crash.
* Complete redesign of the relax global settings window to fix the Mac OS X crashing ([https://gna.org/bugs/?18197 bug #18197]).
* Fix for the global settings window - it needs to inherit from UF_window!
* Fix for the NOE auto-analysis - the column numbers for the deselected spins file are now assumed. The residue number is assumed to be in the first column. This is a hack until the spin selection part is better designed.
* Fix for the bug reported as [https://gna.org/support/?2764 sr #2764]. The problem was that the sequence file is now in the variable sequence_file.* Fix for the [http://www.nmr-relax.com/manual/sequence_read.html sequence.read user function ] - the force flag is now being passed on.* Fix for the [http://www.nmr-relax.com/manual/sequence_write.html sequence.write user function ] - the force flag is now passed to open_write_file().* Fix for the [http://www.nmr-relax.com/manual/sequence_write.html sequence.write user function ] when the column separator is not whitespace. The column widths are no longer fixed if the separator is not whitespace.
* Many bug fixes for the functions of the generic_fns.mol_res_spin module. These fixes are for when a data pipe other than the current data pipe is used.
* Fix for the relax save states - the current data pipe is now saved and restored. The info about which pipe was the current one was being blacklisted, so was not stored in the relax save file.
* Fix for the atomic position check in the [http://www.nmr-relax.com/manual/spin_create_pseudo.html spin.create_pseudo user function].
* Fix for pseudo-atom support when only a single structure is loaded. Pseudo-atom support was only working correctly for when multiple models were loaded and atomic positions were not averaged.
* Fix for the spectrum.read_intensities user function int_method argument for volumes. Volume integration should be called 'point sum', but the back end code was checking against the string 'volume'.
* Fix in one of the relaxation curve-fitting system tests - 'volume' should have been 'point sum'.
* Fix for the PCS back-calculation function - divide by zero is now avoided. The function was calculating the normalised bond vector between the lanthanide atom and itself. The normalisation in this case is now avoided.
* Fix for the spectrum user functions for when the ID order does not match those loaded. If the order of IDs sent to [http://www.nmr-relax.com/manual/spectrum_replicated.html spectrum.replicated ] did not match the order they were loaded by [http://www.nmr-relax.com/manual/spectrum_read_intensities.html spectrum.read_intensities], then the [http://www.nmr-relax.com/manual/spectrum_error_analysis.html spectrum.error_analysis ] user function would fail. The order is no longer important.
* Fix - the pipe switching flag is now propagated all the way to the data store add() method. The flag was previously not sent to the method so that the creation of a new data pipe always resulted in a switch to that pipe. This bug is normally harmless.
* Fix for the model-free _determine_model_type() method when the spin container has no 'local_tm'. This code was failing in certain rare circumstances (when the setting up of the diffusion tensor was forgotten).
* Fix for structure.read_pdb for when the file contains no PDB data. This is now caught, and a warning is given and the function exists cleanly.
* Fix for the RelaxWarning system on Mac OS X, the base class __str__ method now returns a simple string. On a Mac, the warning message text was in unicode whereas the __str__() method must return a standard string. So now __str__() is using the str() method to convert.
* Fix for the [http://www.nmr-relax.com/manual/structure_vectors.html structure.vectors user function]. It no longer complains about a PDB already loaded when no PDB has been loaded.
* Fix for the resetting of the global optimisation round in the dauvergne_protocol auto-analysis[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b]. The value was being reset to None at every round.
* Fix for the round determination in the dauvergne_protocol auto-analysis[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008b]. The 'opt' directory was missing in the path.
* Fix for the resetting of the relax data store - the cdp structure is now set to None. Previously the data store would be cleared, but the __builtin__.cdp structure would point to the old current data pipe, keeping it in existence and causing problems in the GUI.
* Fix for the xydxdy type Grace graphs - the dx data was not being placed in the file.
* Fix for the [http://www.nmr-relax.com/manual/structure_create_diff_tensor_pdb.html structure.create_diff_tensor_pdb user function ] for when no element info is available. These atoms where the element is not in the PDB file or cannot be determined should have been skipped.
* Fix for the molmol macro user functions - one of the args 'param' should have been 'data_type'.
* Fix for the spin_loop() calls when generating Molmol macros. The full_info argument should have been set to True.
* Fix for the [http://www.nmr-relax.com/manual/molmol_write.html molmol.write macro creation user function ] - the file arg can be None!* Fix for the [http://www.nmr-relax.com/manual/molmol_write.html molmol.write user function ] for model-free parameters. Some of the parameters were using the ancient self.relax code path which was eliminated with the redesign of relax 1.2 to 1.3.
* Fixes for the old scripts/optimisation_testing.py script. This was also using the ancient self.relax code path.
* Fix for the molmol macro of the ts τ<sub>s</sub> parameter, the spin container variable was spelt incorrectly.* Fix for the data.align_tensor.calc_eta() function - divide by zeros are now avoided. When Azz A<sub>zz</sub> is zero, &eta ; is now set to NaN.
* Typo fix in the unused and incomplete dfunc function to remove compilation warnings on MS Windows.
* Fix for the data.align_tensor.calc_R() function - divide by zeros are now avoided. When Aa A<sub>a</sub> is zero, Ar A<sub>r</sub> is now set to NaN.* Fix for the test_opt_constr_bfgs_mt_S2_0_970_te_2048_Rex_0_149 model-free system test on MS Windows. The te τ<sub>e</sub> parameter check was too strict.
* Another divide by zero problem is being caught in the RDC Q-factor code.
* The dipolar_constant() and pcs_constant() functions now catch division by zero problems.
<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_1.3.11 Official release notes]* {{gna link|url=gna.org/forum/forum.php?forum_id=2292|text=Gna! news item}}* [http://article.gmane.org/gmane.science.nmr.relax.announce/31 Gmane]* [http://www.mail-archive.com/relax-announce%40gna.org/msg00023.html Mail archive]* [https://mail.gna.org/public/relax-announce/2011-08/msg00000.html Local archives]* [http://marc.info/?l=relax-announce&m=135070664725014&w=2 MARC]<section end=links/> == Announcements ==
{{:relax release announcements}}
== References ==
<section start=references/>* [*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{{#lst://dx.doi.org/10.1039/b702202f 10.1039/b702202f).Citations|dAuvergneGooley07}}* [*d'Auvergne and Gooley, 2008b] 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: [http{{#lst://dx.doi.org/10.1007/s10858-007-9213-3 10.1007/s10858-007-9213-3]).<section end=references/>Citations|dAuvergneGooley08b}}
<HarvardReferences />
== See also ==
* [http://www.nmr-relax.com/api/1.3/ The relax 1.3 API documentation]