Difference between revisions of "Relax 2.1.2"

From relax wiki
Jump to navigation Jump to search
m (Line breaks.)
(Tracker links with full descriptions.)
Line 4: Line 4:
  
 
<section begin=description/>
 
<section begin=description/>
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 includedFor more details please see below.
+
This release includes a major overhaul of the [http://www.nmr-relax.com/manual/ 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, R<sub>1</sub> and R<sub>2</sub> 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.
 
<section end=description/>
 
<section end=description/>
  
Line 16: Line 16:
  
 
<section begin=metadata/>
 
<section begin=metadata/>
Version 2.1.2 <br/>
+
Version 2.1.1 <br/>
(17 October 2012, from /trunk) <br/>
+
(21 September 2012, from /trunk) <br/>
http://svn.gna.org/svn/relax/tags/2.1.2
+
http://svn.gna.org/svn/relax/tags/2.1.1
 
<section end=metadata/>
 
<section end=metadata/>
  
Line 24: Line 24:
  
 
<section begin=features/>
 
<section begin=features/>
Python 2.3 to 3.3 support, including large changes throughout the code to be able to run on Python 3.
+
Creation of extensive tutorials for both the script and GUI modes for the NOE, R1 and R2, model-free chapters with screenshots in of the GUI in operation.
*  Improvements to the [http://www.nmr-relax.com/manual/new_protocol_in_GUI.html GUI tutorial in the model-free chapter] of the relax manual.
+
*  Restored support for multiple spin types in the NOE, R1 and R2 analyses allowing, for example, tryptophan sidechain indole NE1 data to be analysed.
*  A number of bugfixes.
+
*  The activation and expansion of the [http://www.nmr-relax.com/manual/Consistency_testing.html consistency testing chapter] to the user manual.
Small improvements overall.
+
*  The completion of the [http://www.nmr-relax.com/manual/Reduced_spectral_density_mapping.html reduced spectral density mapping chapter] of the user manual.
 +
*  Improvements to the user function section of the user manual with better visual separation and the inclusion of the icons used in the GUI.
 +
*  Creation of the [http://www.nmr-relax.com/manual/relax_data_model.html relax data model chapter] of the user manual to explain how to set up data in relax in all UI modes (with screenshots in the GUI mode).
 +
*  Creation of the [http://www.nmr-relax.com/manual/Preface_citing_relax.html citations chapter] of the user manual to help users properly cite the parts of relax that they use.
 +
*  A complete rewrite of the [http://www.nmr-relax.com/manual/Relaxation_curve_fitting.html relaxation curve-fitting chapter] of the relax manual.
 +
General improvements and expansions throughout the user manual (the manual is now 15 Mb compared to 4.3 Mb for relax 2.1.0).
 
<section end=features/>
 
<section end=features/>
  
Line 33: Line 38:
  
 
<section begin=changes/>
 
<section begin=changes/>
*  The scons 'clean' target now removes the Python 3 __pycache__ directories.
+
* Modified the model-free optimisation final printout to be more multi-processor friendly. The message saying that the optimised chi2 is an improvement or not now includes the spin ID string if presentThis is more informative for the multi-processor mpi4py printouts.
* Small edit to the installation chapter of the user manual.
+
*  Added the use of the program 'nice' to the model-free GUI tutorial in the user manual.
Decreased the Python version dependency from 2.5 to 2.3 in the installation chapter of the user manual.
+
Removed the out of date and useless README file for the HTML version of the user manual.
More error checking for the associate_auto() method of the data pipe editor window.
+
Added a BMRB section to the end of the model-free chapter of the user manual.
Added data pipe bundle error checking for the GUI pipe editor window associate_auto() method.
+
Massive expansion of the model-free chapter of the user manual including script and GUI tutorials.  The model-free chapter now has step-by-step tutorials for both the prompt/script mode and GUI mode for the new automated model-free protocol (the d'Auvergne protocol)[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008]This includes a large set of screenshots for the GUI mode.
*  Added some error checking for the data pipe bundle in the auto model-free analysis GUI code.
+
Created the User_functions.test_value_set GUI test demonstrating the failure of the value.set user function.
* Added some special RelaxErrors for data pipe bundles.
+
* Modified the dauvergne_protocol sample script[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008] to handle tryptophan indole NE1 data.
Added some bug catching code for the observer objects. In some rare cases a registered method's key was set to NoneThis is now caught and a RelaxError thrown to prevent later indecipherable errors.
+
*  The graphics.fetch_icon() function argument 'format' can now be set to None.  This will return the file path without the extension.
*  The setup.py application building script now complains if the Python setuptools are not installed.
+
Improvements to the duplicate user manual title finding script.
Updated the relax prompt mode figure in the intro chapter of the user manual to the more modern prompt.
+
Created a simple shell script to find duplicate titles in the relax user manualThis is important for the HTML version of the manual as duplicated titles causes HTML pages to be overwritten.  For example all chapters, sections and subsections titled "Introduction" will load the introduction.html file which will contain the text of the last section with that title!
Improvements to the API documentation compilationThe excluded files and directories, as well as hidden ones, are no longer included in the list of files/directories to add to the documentation.
+
* Additions to the scripting section of the relaxation curve-fitting chapter of the user manual.
*  Added a file with the relax user functions used for the prompt screenshots. This is for the manual and the website.
+
A small edit to the intro chapter for the multi-processor operation and logging.
Added the public domain LaTeX nth.sty style file for the user manualSome LaTeX distributions do not have this style file and, as it is public domain, it can be legally distributed with relax allowing the PDF manual to compile on more systems.
+
* Added some labelling to the infrastructure chapter of the user manual for referencing.
Fixes for weird print statements with double brackets generated by the 2to3 Python conversion script.
+
A number of updates and edits to the intro chapter of the user manual.  The model-free GUI screenshot has been shifted to the intro chapter in preparation for a full tutorial with screenshots in the model-free chapter.
Removed a debugging printout.
+
Updated the data model chapter of the user manual to cover the handling of protonsThis change includes the modification of the PDB reading screenshot to demonstrate the reading of a specific model and the naming of the molecule.
* Python 3 fixes for one of the test data scripts - print statement with function call replacements.
+
All of the GUI strings and text are now formatted with a small sans serif font in the user manual.  This is because in the GUI, a sans serif font is almost always used be default.
Python 3 fixes for non-used Python code - converted print statements to function calls.
+
Modified the User_functions.test_structure_pdb_read() GUI test to catch another bugThis is a bug recently introduced with the fixes to the other sequence editor GUI window problems.
Python 3 fixes for the script for generating plots of magnetic field lines.
+
Created the User_functions.test_structure_pdb_read GUI test for checking the sequence editor window.  This new user function GUI testing class is to be used for testing out the special GUI elements not invoked within the unit testing. The test_structure_pdb_read() test specifically shows a number of failures of the sequence editor window.
* Another print statement to function Python 3 fix for the user manual.
+
Modified the operation of the sequence GUI element to have access to the sequence editor window.  This is to allow this GUI element to be blasted within the test suite.
The Python print statements in the user manual are now function calls to be Python 3 compatible.
+
Improvements to the descriptions of the structure.read_xyz user function arguments.
*  Python 3 fix for the generic_fns.structure.geometric.angles_regular() function.  Integer divisions no longer produce integers.
+
Improvements to the descriptions of the structure.read_pdb user function arguments.
Better formatting of the test suite summary.
+
Added @HE1 to the spin ID list of the structure.load_spins user function. This is only seen in the GUI.
The text relax controller log is no longer cleared when a reset occurs. This allows the test suite results to still be presented in GUI mode.
+
Created the new generic_fns.result_files for standardising the handling of results files. This fixes the bug where results files are repetitively added to the listAll of the code touching cdp.result_files now uses this module instead.
Even cleaner exiting of the GUI - the interpreter thread is terminated by the exit_gui() method.
+
Updated the scripting section of the intro chapter of the user manual for non-technical users.
The GUI is now cleanly exited with a call to wx.App.ExitMainLoop rather than wx.Exit.
+
Expanded the spin ID list for the structure.load_spins user function.  This now includes the spins "@N", "@NE1", "@C", "@H", "@O", "@P", ":A@C2", ":A@C8", ":G@N1",":G@C8", ":C@C5", ":C@C5", ":U@N3", ":U@C5", ":U@C6".
Python 3 fix for the compat module - the Queue2 object needs to always be defined.
+
Changed the RelaxError for missing relaxation times in the relaxation curve-fitting analyses.
*  Added support for Python 2.2 and earlier for the compilation of the C modules.
+
Modified the test_bug_20152_read_dc_file() GUI test to catch the RelaxErrorThis error is because of the old PDC format.
* Removed an unused import of the Queue module from the multi-processor.
+
Created the test_bug_20152_read_dc_file() GUI test for catching [https://gna.org/bugs/?20152 bug #20152]This includes truncated data taken from the bug report (with data for only the first 3 residues).
Python 3 fix for the ScientificPython PDB reader unit tests.  The order of the keys returned by a dictionary's keys() method changes randomly in Python 3, so now they are sorted prior to comparison.
+
*  Set up the Bruker Dynamics Center system tests as GUI tests.  This is in preparation for catching [https://gna.org/bugs/?20152 bug #20152].
Redesigned the reset user function backend.  This now no only clears out the relax data store, but it also resets the GUI if present.  Some of the reset code comes from the tearDown() method of the GUI tests.  All windows but the main GUI window are closed and the relax controller gauges are set to zero and the log window text cleared.  These changes should allow GUI tests after an error or failure to pass, something which is currently problematic.
+
Re-added Dominique Marion's solvent suppression to the NMRPipe script in the curve-fitting chapter.
*  Disabled the initial relax intro printout from the GUI when running the test suite.  This prevents the intro text from appearing in the first failed test.
+
* A few small edits of the relaxation curve-fitting chapterThis is to reinforce the exact time of the relaxation time period.
Fix for the Mf.test_read_results_1_3_v2_broken() system test for Python 3.2.  The object comparison method no longer converts dictionaries to strings for the comparison, as the string version is different in different Python versions.
+
Added some text to explain why test only J(0) is discussed whereas the script also calculated F_R2 and F_etaThis was suggested by [https://gna.org/users/bugman Edward d'Auvergne] in a post at:https://mail.gna.org/public/relax-devel/2012-09/msg00044.html.
Fix for the Mf.test_write_results() system test for the Python 3 versionsThe logic for determining Python 3 versions was broken and the incorrect files was used for Python 3.1.
+
Big clean up of the Bibtex bibliography file for the relax user manual.
Better Python 2.3 support.  The compat module is now imported at the very start to allow the builtins to be set before any other importsThe sorted() builtin method is now mimicked and the os.devnull string set for Python 2.3 and earlier.
+
* Small edits of the consistency testing figure caption in the relax user manual.
Fix for the Mf.test_write_results() system test for Python 3.1The XML version in Python 3.1 is the old styleTherefore the old results file is being used to check this Python 3.1 result.
+
Editing and a number of fixes/cleanups for the consistency testing chapter of the user manual.
Small improvements to the multiple Python version test suite testing script.
+
Editing of the "Values, gradients, and Hessians" chapter of the user manual to make it fit better.  The context of this chapter has been specified by changing the title to "Optimisation of relaxation data -- values, gradients, and Hessians" and the intro text has been updatedAs this chapter is no longer straight after the model-free chapter, this is needed.
* Reactivated support for Python 2.3.  This mainly skips the missing 'subprocess' module.  This however decreases relax's functionality a little.
+
* Made a small correction to a reference such that a superscript is correctly displayed.
Created a special script for testing out relax with Python versions 1.0 all the way to 3.3This builds the C modules for each Python version in ~/bin and then runs the test suite, outputting everything to log files.
+
Added the bounding box and a centerline command to the code for the figure for consistency testingThis follows two remarks by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00030.html and https://mail.gna.org/public/relax-devel/2012-09/msg00032.html.
The Results system tests are no longer dependent on the relaxation curve-fitting C modules.  This allows these tests to run when the module cannot be imported.
+
Added more text to describe the consistency testing approachAlso includes a very basic point by point protocol for consistency testingThis was proposed by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00028.htmlThis also follows a discussion started by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
Python 2.5 and lower fix for the test_write_protein_sequence() unit test.  The byte array is wrapped in an eval() statement to allow Python 2.5 and lower to parse the code without failing, and the byte array comparison is now only used for Python 3+.
+
Added some text to describe the consistency testing example figureThis follows a discussion started by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
* All system and GUI tests reliant on the relax-fit C modules are deactivated if import failsThis removes a pile of useless error messages from the test suite and presents a table of skipped tests at the end.
+
Added a modified version of Figure 1 from Morin and Gagne (JBNMR, 2009 (http://dx.doi.org/10.1007/s10858-009-9381-4))File formats are .agr (xmgrace), eps (gzipped), and png.  This follows a discussion started by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
More Python 3 fixes for the use of now non-existent string module functions.
+
Added a directory for placing consistency testing graphicsThis follows a discussion started by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
*  Python 3 fix for the model-free BMRB export - many string module methods no longer exist.
+
Corrected the bibliography entries whih were still in plain text and not as a Latex \cite call. Also renamed the MorinGagne09 entry to MorinGagne09a as there is now also MorinGagne09b.  This was proposed by Edward d'Auvergne in a post at https://mail.gna.org/public/relax-devel/2012-09/msg00025.html.
* Mass conversion of the alignment tensor data structures to the same new design as the diffusion tensor. This large set of changes matches all of those revisions for the diffusion tensor already committed. The alignment tensor data structures are now read only, and can only be modified via the set() method. This is a much simplified design which works on all Python versions.
+
Added the DOI to reference Morin11 and fixed indentation (10.1016/j.pnmrs.2010.12.003).  This follows a comment by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00022.html.
Small clean ups of the diffusion tensor data structure code.
+
Deletion of the relax version LaTeX file - this is automatically created anyway.
* Deleted the now unused _update_sim_set() method of the diffusion tensor data structure.
+
Added text to detail the usage of the consistency testing scriptThis text was modified from the corresponding text for jw_mappingThis follows a discussion started by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
* Removed the now unused _update_sim_append() method from the diffusion tensor data structure.
+
Added some text and a reference to the consistency testing chapterThis follows a discussion started by [https://gna.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
*  Cleaned up the docstring of the diffusion tensor data object __setattr__() method.
+
* Editing of the nmrPipe script in the Rx curve-fitting chapter of the manual.
* Updated all of the diffusion tensor unit tests to the new design.
+
Some editing of the NOE chapter of the relax user manual.
Fix for the reading of model-free results files from relax 1.2 when simulation data is missing.
+
* The old R1 and R2 analysis screenshots have been shifted to the intro chapter.
* Fix for the reading of relax 1.2 model-free results files for the diffusion tensor structure redesign.
+
Editing of the relax data model chapter of the user manual.
*  Another fix for the fold_angles() diffusion tensor function - again an incomplete design conversion.
+
Large expansion and lots of editing of the relaxation curve-fitting chapter of the user manual.  The GUI section has been added which includes step-by-step instructions on how to use relax,illustrated with screenshots at each stepThere has been general editing of the whole of the chapter as well.
Fix for the setting of the diffusion tensor parameter errors in the model-free specific analysis code.
+
Added a tonne of GUI screenshots of an R1 analysisThese will be used in the relaxation curve-fitting chapter of the user manual.
*  Fix for the setup of the model-free Monte Carlo simulations for the new diffusion tensor design.
+
Added some Grace plots from an NOE analysis for use in the user manual.
* Another fix for the diffusion_tensor.init user function - it was not completely converted.
+
* Small edits of the relax data model chapter of the user manual.
Fix for the fixing of parameters in the model-free analysesThe diffusion tensor set_fixed() method is now used.
+
Editing of the relaxation curve-fitting and NOE chapters of the user manual.  This is to synchronise the format of the two chapters, and includes the swapping of text between them.
*  Fix for the XML output of the diffusion tensor - only the modifiable parameters are output. This was the previous behaviour and is needed for the test suite to pass.
+
Added trp indole NH loading into the relaxation curve-fitting sample script.
Converted the palmer.extract user function to use the new diffusion tensor design.
+
* Large edits of the consistency testing chapter of the user manual.
The diffusion tensor bmrb_read() function now uses the set_fixed() method instead of fixed().
+
Activated the consistency testing chapter of the user manual.
The fix user function now uses the diffusion tensor set_fixed() method.
+
Added a LaTeX label to the J(w) mapping chapter.
Renamed the diffusion tensor fixed() method to set_fixed() to avoid clashing with the 'fixed' object.
+
Added the other consistency testing references to the citation chapter of the manual.
* Fix for the model-free specific analysis duplicate_data() method for the new designThe diffusion tensor __mod_attr__ object is now called _mod_attr.
+
Added the Fushman et al., 1998 reference.
*  Fix for the diffusion tensor to_xml() method for the new design. For some reason the methods of the Element class are no longer blacklisted.
+
* Fix for the Farrow et al., 1995 DOI number.
Converted the diffusion tensor data structure from_xml() method to the new tensor design.
+
Changed the order of the Rx curve-fitting and NOE chapters in the relax manualThis is because the NOE chapter references passages from the Rx curve-fitting chapter, so it's more logical to have the Rx curve-fitting chapter first.
* Fix for the Diffusion_tensor.test_copy system test - the simulation parameters are now read-onlyInstead, the diffusion tensor set() method needs to be called.
+
Clean up of a paragraph of the data model chapter of the user manual.
The setting of list values for the DiffTensorSimList object now works correctly.  The private _set() method now works correctly by calling the base class method, and the normal setting of diffusion tensor simulation values produces a RelaxError.
+
* Improved the consistency in the user manual by using the new LaTeX commandsThese changes are throughout the manual and affect all the text of user functions, menu items, prompt examples, GUI elements, files, directories, etc.
Fix for the diffusion tensor __deepcopy__() replacement method for the new design.
+
Removed some '()' text from the end of the user functions in the user function documentation.
The model-free specific analysis _disassemble_param_vector() method now uses the new diffusion tensor design.
+
Added some more LaTeX functions for formatting consistency.
*  Modified the setUp() method for the diffusion tensor system tests to use the new design.
+
* Defined a new set of LaTeX commands for prompt/script/GUI strings and elements for the user manualThese will be used to regularize the text throughout the manual, as this is currently quite mixed up.
*  Redesigned how diffusion tensor simulation structures are handled.  The design is now much cleaner and works with all Python versions.
+
More rearrangements of data model and NOE chapters of the relax manual.  The GUI spin deselection part of the NOE chapter has been shifted into the data model chapter.  And the GUI loading of spins from a sequence file section has been completed.
* Removed all the unused imports from specific_fns.model_free.main.
+
Added screenshots of the spin viewer spin loading wizard sequence.read page.
A number of private diffusion tensor objects and methods have switched to the single leading '_' format.
+
* Redesign of the data model chapter of the user manual. This includes the moving of all of the spin viewer window text and screenshots from the NOE chapter.
* Improvements to the diffusion tensor set() method.  The parameters, errors and simulations are now properly differentiated and stored.
+
Shifted the spin viewer screenshots into their own directory.
Converted the old diffusion tensor __setattr__() method into the set() methodThis is the only way in which diffusion tensor parameters, errors and simulations can be set.
+
* Changed the "View->Spin view" menu item to "View->Spin viewer".
Renamed the diffusion tensor data structure type() method to set_type().  This is because the type is stored as the 'type' object, clashing with the method name.
+
Created a directory for screenshots of the spin viewer window operation.
Created the diffusion tensor data structure type() method for setting the tensor typeThis is to remove the "cdp.diff_tensor.type = 'x'" code from the core of relax, as the structure is now read only.
+
The NOE auto-analysis GUI test now checks the support for Trp indole N data as well.
The new diffusion tensor fixed() method has been created to allow the fixed flag to be changed.
+
The spectrum.read_intensities user function now prints out a list of the intensities read inThis is for better user feedback as to what the user function has actually done.
Fix for the initialisation of the diffusion tensor data structure, now that it is read-only.
+
Created the GUI wizard _apply() method for executing the current page's _apply() method.  This is for the GUI tests to simulate a click on the 'Apply' button.
The diffusion tensor data structure has been completely converted into a read-only structure.  The __setattr__() method now will always raise a RelaxError, and the diffusion tensor simulation data structure objects __setitem__() method will raise the same error.
+
* Removed a debugging print out.
Updated the relax version numbers and 'trunk' used relax user manual. For example the information about checking out the main development line was still talking about 1.3 rather than the trunk.
+
Modified the NOE system test to catch [https://gna.org/bugs/?20120 bug #20120].
Python 3 fix for the setting of diffusion and alignment tensor simulation valuesThe previous code somehow worked in Python 2 but was not formally correct and broke in Python 3.
+
Lots of editing of the NOE chapter of the user manual.
Python 3 fix for the model-free results file reading testsThe ordering of dictionaries is different in Python 3, so now these are properly converted from strings to dictionaries before comparisonThis was not happening because of the XML changes from Python 2.7.3 onwards.
+
* Significant update of the NOE chapter of the user manual.  The sample script used in this chapter was incredibly out of date.
The relaxation curve-fitting system tests are now skipped if the module is missing or broken.  This improves the printouts from the test suite and shows a summary of skipped tests rather than a pile of traceback messages and errors.
+
Modified the NOE system test to test the usage of Trp indole <sup>15</sup>N dataThis is to catch [https://gna.org/bugs/?20119 bug #20119].
The message about skipping the GUI tests due to wxPython being missing is now more specificThis was being shown for all runs of the test suite when it only needs to appear if GUI tests have been run.
+
* Added some Trp peak data (backbone and indole N) to the Sparky steady-state NOE peak lists. This is in preparation for the modification of the NOE system test to catch [https://gna.org/bugs/?20119 bug #20119].
* Added a Python 3 version of the truncated OMP model-free results file.  This was created with trunk.
+
Modified the NOE sample script to include Trp indole NH data.
Removed the Python 3 byte array hack which should have been removed earlier.
+
Added a step-by-step tutorial for the GUI NOE auto-analysis to the user manualThis includes 22 screenshots of all the steps.
* The OMP model-free results file generation script now outputs for any relax version.
+
*  Added a section label.
Python 3 fix for the Mf.test_latex_table system testThe latex_mf_table.py model-free system test script docstring contains backslashes, so the raw string format r"""Text""" is now used.
+
Added some Sparky info to the Rx curve-fitting chapter of the user manual.
Python 3 support for Modelfree4 and DashaThe subprocess.Popen class works with byte arrays rather than strings in Python 3+.  The Python objects are now interconverted when the Python 3 encode() and decode() methods are detected.
+
Allowed the raggedbottom LaTeX setting as this is better for the screenshot layout in the user manual.
Removed the pickle format information and arguments from the state user function definitions.
+
Added the nth package for the user manual LaTeX compilation.
Eliminated the State.test_state_pickle() system test as pickled states are no longer supported.
+
*  The NOE chapter now points to the recommendations in the Rx fitting chapter.
Removed the ability to save and restore states using the pickle module. A pickled state is of no use to relax anymoreIt's removal is needed for Python 3 support.  So now everything defaults to the XML formatted output.
+
*  Added a new section called 'From spectra to peak intensities' to the Rx fitting chapter of the manual. This adds a number of recommendations for high quality relaxation rates.
Python 3 fix - removed the use of the string module from generic_fns.spectrum.
+
* Added the Viles et al., 2001 reference.
*  Python 3 fix for the relax_io.open_write_file() function.  This now matches the behaviour of open_read_file() in that there are three different behaviours for opening bz2 and gz files for writing to for the different Python versions (one for Python 2, one for Python 3.0 to 3.2, and one for Python 3.3+). All byte streams have been eliminated as open_write_file() is for creating text files.
+
*  Small description edit for the relax_data.temp_control user function.
Python 3 fix for the Noe.test_noe_analysis() system test for the grace.write precision changes.
+
*  Added a LaTeX label to the NOE chapter of the user manual.
For consistency between Python 2 and 3, the grace.write user function outputs to 15 decimal placesThis increased precision will only be of use in the relax test suite.
+
Added a paragraph to the model-free chapter of the user manual explaining the J(w) equation forms.
*  Python 3 fix for the Pipes.test_pipe_bundle() system test.  The order of bundle names returned by generic_fns.pipes.bundle_names() is not guaranteed in Python 3.
+
Added a label to the data model chapter of the user manual.
The C module compilation testing script now accepts the Python version as a first argument.
+
Created an initial rough version of the RSDM chapter of the user manual.
* The relax_io.open_read_file() now supports all Python versions over 2.4This required some really nasty hacks for Python 3.0, 3.1 and 3.2 with the Bzip2Fixed and GzipFixed classes overriding the incomplete and buggy bz2.BZ2File and gzip.GzipFile modules, and being wrapped around io.TextIOWrapper().
+
Better figure layout in the NOE chapter of the user manual.
Added the IO module to the relax information printout and dependency checks.
+
The relax data model chapter of the user manual now uses the higher quality graphics.
The manual C module compilation script is now executable.
+
*  Some more high quality graphics.
*  Renamed the 'scripts' directory to 'devel_scripts' so that users are less likely to ask about the scripts.
+
Added more high resolution graphics for use in the relax user manual.
* Finished off the C module compilation testing script.
+
Expanded the size of the specific analysis graphics - mainly for use in the relax user manual.
*  Added a script for testing out the C module compilation on multiple Python targets.
+
Added the specific analysis graphics to the start of each chapter of the relax user manual.
The relax_fit specific analysis module now supports both Python 2 and 3.
+
Small edit of the 'Citations' chapter of the relax user manual.
*  The relaxation curve-fitting C module now supports compilation on both Python 2 and 3.
+
Added EPS versions of the specific analysis graphics for use in the user manual.
Created the simple Sequence.test_sequence_copy() system test to catch bug #20213 (https://gna.org/bugs/?20213).
+
Added the Fushman et al., 1999 reference for consistency testing to the intro chapter of the user manual.
The Mf.test_bug_20213_asn_sidechain() system test now uses a temporary directory for output.
+
More chapter cross referencing in the relax user manual.
*  Added the Mf.test_bug_20213_asn_sidechain() system test to catch bug #20213The data and script comes from the files 'sh3-47.2.zip' and 'run.py' attached to the bug report https://gna.org/bugs/?20213.  The PDB now only contains Asp47, the optimisation parameters have been made almost insignificant, and all models but 'tm0' have been removed from the analysis.
+
*  Added the Horne 2007 paper to the 'Citations' chapter of the user manualWhitespace has also been cleaned up, and a chapter label added.
The Python 3 dictionary values() method no longer returns a list, so a list() call is needed.
+
Added the Horne 2007 paper to the 'Supported NMR theories' subsection of the user manual intro.
Python 3 bug fix for the geometric structure module - another integer division to float problem.
+
Shortened the Literature subsection of the intro chapter to point to the citations chapter.  This part of the user manual is now redundant.
The Mf.test_write_results system test can now select the correct file to compare against in Python 3.  The algorithm for determining if the 'final_results_trunc_1.3_v2' or 'final_results_trunc_1.3_pre_py2.7.3_v2' file should be used could not handle Python 3.
+
Small edits of the relax user manual.
Python 3 fix for the format detection of results and save files.
+
* Edits to the abbreviations chapter of the relax user manual.
Python 3 import fixes for the generic_fns.structure package using relative paths.
+
Added another abbreviation.
Python 3 fix - removed the use of the string.lower() function in the OpenDX mapping code.
+
Expansion of the abbreviations chapter of the relax user manual.
Python 3 fix for the frame order system tests.  As float to string conversions behave differently, the %.1f formatting is used to force only a single decimal place float.
+
Added a tonne of DOI numbers to the relax user manual bibliography.  This will simplify accessing these references for the user.
Python 3 fix for the frame order system tests - float to string conversions behave differently.  Now the explicit %.1f formatting is used to force only a single decimal place float.
+
* Added and fixed DOI numbers for many bibliographic entries.
Python 3 integer division to float fix for the frame order analysis.
+
The LaTeX bibliography style for PhD theses now includes the DOI hyperlinkThis is for the user manual.
Python 3 bug fix for the frame order analysis - another int division problem.
+
* Slight modification of the DOI hyperlink formatting bibliography style for the user manual.
Python 3 fixes - eliminated all usage of the dictionary has_key() calls as they are no longer present.
+
Modified the relax LaTeX bibliography style file relax.bst to convert DOI numbers to hyperlinksThis is to add links to the references within the relax user manual.
Python 2 and 3 support in the generic_fns.relax_data module using 2to3One print call was fixed after running 2to3.
+
Created the new 'Citations' chapter of the relax user manual.  This is to clearly outline to the user the citations required for the various components of relax.
Python 3 bug fix for the Structure.test_read_pdb_mol_2_model_scientific system tests.  This is again an integer division problem returning a float.
+
Added the Fushman 1999 reference and a few formatting fixes in other references.
Python 3 fix for the test_write_protein_sequence() unit test.  This is again a string verses byte verses unicode problem.
+
* Improvements to the 'Supported NMR theories' section of the user manual introduction.  This includes the addition of the Morin and Gagne 2009 reference.
Python 3 fix for the user function docstring creation in the prompt UI modeAgain this is the problem of a division now returning a float rather than an int.
+
*  Added the Morin and Gagne 2009 reference for the consistency testing.
Python 3 bug fix for the N-state model target function setup.  The num_tensors variable needs to be an integer, but the Python 3 division will create a float type.
+
Added some more abbreviations to the relax user manual.
Python 3 fix for the results.read user function matching that of state.load.
+
Created a new chapter for the relax user manual titled 'The relax data model'.
Python 3 bug fix for the relax_io.read_spin_data() functionThe built in max() function cannot handle the value of None, therefore the filter() function is used to remove all instances of None from the list.
+
*  Fix for the pipe editor window screenshot width in the relax manual.
Python 3 bug fix for the state.load user functionThe header line of pickled states (rather than the standard XML states) is of the b'' byte formatThis is now converted to a string, and the search expression is comparing it to the raw string r"<\?xml".
+
Converted some more wizard graphics to the EPS format for the user manual.
Better support for both Python 2 and 3 in the relax data storeThe 2to3 script was used on all of the files in the data package.
+
Updates and small expansion of the intro chapter of the relax user manual.
Python 3 preparation - the relax data store (the data package) now supports both Python 2 and 3.
+
* The user manual now specifies the repository revision if a non-tagged version is built.  This enables easier tracking and editing of the manual.
Python 3 fix - the relax_errors.AllRelaxErrors object is now a proper tupleDue to bad coding, it was previously a nested tuple.  This nested tuple worked in Python 2, but is fatal for Python 3.
+
Updates to the generic_fns.mol_res_spin.id_string_doc documentation structure.
Python 3 fixes - the character '\' is now properly escaped as '\\' in the stereochemistry auto-analysis.
+
Updated the screenshot of the pipe editor window.
Fix for the test suite summary for Python 3.  The test suite now runs, but fails miserably, under Python 3.
+
* Created EPS versions of a number of wizard graphics for use in the user manual.
*  Fix for the running of the test suite under Python 3.  The zip() function used in the loadTestsFromTestCase() function is now an iterator, so it needs to be passed through the list() function to generate a list.
+
* Removed some now useless whitespace from the top of each user function subsection of the manual.
Fix for the test_parse_token_multi_element_name() unit test, as parse_token() no longer sorts.
+
Redesigned the formatting of the user function chapter of the relax manual.  The fetch_docstrings.py now forces each user function to start in a new columnThis increases the size of the manual, but makes the reading of the user function documentation much easierThe user function class and function icons (128x128 format) are now placed between the top bar and the subsection title and are left and right justified.  This prettification simply allows the user functions to be more quickly identified.
Python 3 fix for the generic_fns.mol_res_spin.parse_token() functionMixed lists for int and string can no longer be sorted.  This sort call is not needed anyway.
+
Large expansion of the relax icon setAll 128x128 versions of the icons used by the user functions have been added as both PNG and gzipped EPS filesA few gzipped SVG and non-sized icons have been added as well.
Automatically converted the generic_fns.mol_res_spin module to support both Python 2 and 3.
+
Large expansion of the Oxygen icons within relax.  All 128x128 versions of the icons used by the user functions have been added as both PNG and gzipped EPS filesA number of gzipped SVG icons has been added as well.
For running relax with Python 2, the __builtin__.range() function has been replaced with xrangeThis causes large speed ups (speed that was lost with the earlier xrange() to range() conversions), and memory decreasesFor example on one system, the system test time decreased from 513.029s to 487.586s.
+
*  Modified the graphics.fetch_icon function to return different file formats.  This will be used for the relax manual where eps.gz files are required.
The compat module now has the py_version variable specifying if this is Python 2 or 3.
+
Improvements to the final section of the relaxation curve-fitting chapter. The Xmgrace screenshot and page references for the user functions have been added.
* Import fix for the OpenDX mapping package, recently broken with the relative import for Python 3 change.
+
Added screenshots of Xmgrace displaying relaxation curves.
*  More usage of the is_unicode() function in the generic_fns.mol_res_spin module.
+
The fetch_docstrings.py now adds LaTeX labels to each user function sectionThis has the form of 'uf: ' followed by the user function name, and is for referencing purposes within the main text.
* Created the check_types.is_unicode() function for Python 2+3 compatibility.  This is used in the generic_fns.mol_res_spin module.
+
Rewrote the relaxation curve-fitting chapter of the relax manualThis chapter was quite out of date and was of no use to modern relax versions.
Another raise() function call to statement change for 2to3 preparations.
+
Redesign of how the GPL license is presented to the userThe old prompt.gpl module with the version 2 of the license has been deletedNow the text form the docs/COPYING file is passed through pydoc.pager for the './relax --licence' and the prompt mode GPL object, and is simply printed to STDOUT for the GUI help system.
* Converted some raise() function calls to raise statements in preparation for the 2to3 conversion.
+
Import clean ups for the N-state model specific module.
*  Converted the ScientificPython PDB reader to support both Python 2 and 3The __repr__() method was manually modified due to the 'list' variable clashing with the 'list'type.
+
Added the 'unit' argument to the dipole_pair.read_dist and dipole_pair.set_dist user functions.  This is to allow distances in Angstroms to be read into relax and converted to meters.
Created a new module for simultaneous Python 2 and 3 support in relax called 'compat'.
 
* Python 3 fixes - the list() function is now used in combination with range() to generate the ordered listrange() in Python 3 is an iterator object (just as xrange was), so now the list() function has to be called.
 
Python 3 preparations - mass conversion of all xrange() calls to range().
 
*  Created the special check_types.is_filetype() function for checking for files in all Python versions.
 
Python 3 - eliminated an unneeded xrange call.
 
Python 3 - eliminated the use of the map() function, as this behaves differently in Python 3.
 
* Python 3 - removed the use of the string.lower() function as it is missing in Python 3.
 
Python 3 fix for the relax information printoutThe try blocks seem to now operate slightly differently in Python 3.
 
Python 2 fixes - the Python 3 fixes for the ScientificPython module imports broke Python 2.
 
* Python 3 - the cStringIO.StringIO import switches to io.StringIO if missing.
 
* Python 3 - relative module paths are now used for the test suite runner.
 
*  Python 3 fixes for the version module for catching empty lists.
 
*  Python 3 fix - ensure an integer is actually an integer (division now converts ints to floats).
 
Python 3 - fixes for the renaming of the Queue package.
 
Python 3 - converted the last of the except error catching statements to be Python 2.4+ compatible.
 
*  Python 3 - removal of the use of the string.atoi and string.atof functions.  These have been depreciated since Python 2.0!  They have been replace by the int and float functions.
 
*  Python 3 - a number of fixes for running the ScientificPython modules in relax on Python 2 and 3.  This includes relative imports, converting raise statements to function calls, removal of the use of many string module functions which do not exist in Python 3, etc.
 
*  Python 3 - modified some except statements to be Python 2.4+ compatible in a ScientificPython module.
 
*  Python 3 - converted some print statements to function calls in the ScientificPython modules.
 
*  Python 3 - fix for an os.chmod() call by using the stat module rather than the number 0775.  The number 0755 is no longer valid in Python 3.
 
*  Python 3 - a pile of relative path fixes for many relax modules.
 
*  Python 3 - removed the use of the types module from generic_fns.sequence.  The relax arg_check module is now being used instead.
 
*  Python 3 preparations - removed all of the string module functions which no longer exist in Python 3.  These functions are part of the strings themselves now.
 
*  Improvements for the relax test suite synopsis for when the wxPython module is missing or broken.  This is simply a printout improvement.
 
*  Python 3 preparations - removal of some unneeded xrange() calls.
 
*  Python 3 preparations - the data package now really does use the absolute path for its module imports.
 
*  Python 3 preparations - the data package now uses absolute imports for all its modules.
 
*  Python 3 preparations - eliminated the use of the types.ListType object.
 
*  Python 3 preparations - absolute module path fixes.
 
*  Python 3 preparations - support for both Python 2 __builtin__ and Python 3 builtins modules.
 
*  Python 3 preparations - absolute module path fix.
 
*  Python 3 preparations - more exception handling updates for all Python 2.4+ versions.
 
*  Python 3 preparation - all raising of RelaxErrors is now Python 2.4+ compatible.
 
*  Python 3 preparations - error handling is now Python 2 and 3 compatible in the relax_io module.
 
*  Python 3 preparations - converted the relax prompt/script interpreter to be Python 2 and 3 compatible.
 
*  Python 3 preparations - removed the use of the types.ClassType object.
 
*  Python 3 preparations - compatibility for both the Python 2 cPickle and Python 3 pickle modules.
 
*  Python 3 preparations - all usage of string.split() and string.strip() has been eliminated.
 
*  Removed the completely unused gui.components.conversion module.
 
*  Removed an unused import (which was breaking relax in Python 3).
 
*  Python 3 preparations - all os.popen3() instances in relax have been replaced by the subprocess module.
 
*  Python 3 preparations - eliminated the use of the os.popen3 function from the info module.
 
*  More exception handling changes to be Python 2.4+ compatible.
 
*  Python 3 preparations - exception handling fix to be Python 2.4+ compatible.
 
*  Python 3 conversions using 2to3.
 
*  Updated the Python 2 to 3 checklist document for the shifting of the 'relax' file to 'relax.py'.
 
*  Python 3 preparations - removed all usage of the xrange() in the generic_fns package as none are needed.
 
*  Python 3 preparation - eliminated the unneeded use of xrange().
 
*  Python 3 preparation - the use of an absolute module path for import.
 
*  Python 3 preparations - the auto_analyses package is now fully Python 2 and 3 compatible.
 
*  Python 3 preparation - the auto_analyses package now uses absolute paths for the module imports.
 
*  Python 3 preparations - the use of the queue module in the status module is now compatible with 2 and 3.
 
*  Python 3 preparations - the GUI tests are now fully Python 2 and 3 compatible.
 
*  Python 3 preparations - the queue modules for both Python versions are now supported in the GUI tests.
 
*  Python 3 preparations - the test_suite.gui_tests package now uses absolute module path imports.
 
*  Python 3 preparations - the unit tests are now fully Python 2 and 3 compatible.
 
*  Python 3 preparation - all of the _generic_fns unit tests now use absolute module imports.
 
*  Python 3 preparations - all the _prompt unit tests now use absolute module imports.
 
*  Python 3 preparation - removed all xrange() calls from the unit tests, these are not needed.
 
*  Last Python 3 compatibility update for the system tests - they are now both Python 2 and 3 compatible.
 
*  Python 3 preparation - the test_suite.system_tests package now uses the absolute module path for imports.
 
*  Python 3 preparation - changed the import of SystemTestCase to use the absolute module path.
 
*  Removed all of the xrange() calls from the system tests as these are not necessary.  This is in preparation for Python 3.
 
*  Some changes in preparation for Python 3.
 
*  Removed the 'force flag' text from the RelaxWarning messages output by the bruker.read user function.  The force flag arguments of the generic_fns.mol_res_spin.name_spin() and generic_fns.mol_res_spin.set_spin_isotope() functions can now be set to None to suppress the text.
 
*  Fixes for the checks in the Mf.test_mf_auto_analysis() GUI test for the recent test suite data changes.
 
*  The CSA setting in the model-free auto GUI analysis now defaults to the '@N*' spin ID.  Previously no spin ID was being used so that the protons where also having their CSA values set to that of the nitrogens.  Now the execution checking code skips the proton CSA check.
 
*  Added star versions of the standard spin IDs to the spin ID GUI element (e.g. '@N*', '@H*').
 
*  Fix for the comment on the 'Export' button in the BMRB export window.
 
*  Lots of editing of the model-free GUI section of the user manual.
 
*  Fix for the Relax_data.test_delete system test for the changes to the relax_data.read user function.
 
*  Fix for the Relax_data.test_read unit tests for the relax_data.read user function changes.
 
*  Fix to the Dasha system test needed for the changes to the relax_data.read user function.
 
*  Fix for the N_state_model.test_monte_carlo_sims due to the changed sphere.pdb test suite file.
 
*  Relaxation data is no longer loaded by relax_data.read if the values and errors are both None.
 
*  Modified the Mf.test_dauvergne_protocol system test to catch bug #20197 (https://gna.org/bugs/?20197).  The sphere test data NE1 and HE1 data is now being used in this system test, triggering the bug.
 
*  Small change to the sphere model model-free test suite data.  The trptophan indole data is now merged into the last residue (a glycine) to catch bug #20197 (https://gna.org/bugs/?20197).
 
*  The overfit_deselect() printouts for all specific analyses are now regularised and match the model-free printouts.
 
*  All overfit_deselect() methods now accept and use the verbose argument.
 
*  Printouts for the over-fitting deselection of spins are suppressed for the back-calculation of relaxation data.  This affects the model-free Monte Carlo simulations, improving the output.
 
*  More improvements to the model-free over-fitting deselection printouts.
 
*  Improved the model-free overfitting deselection printouts prior to optimisation.  Only a single message per spin is now given when the spin is deselected, minimising the amount of output.
 
*  Added a tryptophan NE1 data set to the sphere model-free model test data.  This is in preparation to catch bug #20197 (https://gna.org/bugs/?20197).  The scripts have also been updated for the newer relax designs.
 
*  Added the data_check Boolean argument to all of the specific analysis overfit_deselect() methods.  This allows the unit tests to pass.
 
 
<section end=changes/>
 
<section end=changes/>
  
 
== Bugfixes ==
 
== Bugfixes ==
  
 +
*  Fix for [https://gna.org/bugs/?20189 bug #20189, the Sequence GUI element can not handle values of None].
 +
*  The citations chapter is now included in the HTML version of the user manual.  For some reason, a file named 'cite.tex' cannot be handled by latex2html.
 +
*  The latex2html compilation of the user manual now ignores the \bibitem{} commands.  This is needed for the HTML version of the user manual.
 +
*  Fixed a section titled 'Introduction' clashing with the intro chapter of the user manual.
 +
*  Fixes for the user function icons in the HTML version of the user manual.  These icons are now placed on the correct HTML page.
 +
*  Removed the text '.eps.gz' from all of the LaTeX included graphics in the user manual.  This allows latex2html to select and use the PNG images instead, producing much better graphics for the online manual (http://www.nmr-relax.com/manual/index.html).
 +
*  Fix for the graphics.fetch_icon() function for when no file format is specified.
 +
*  Elimination of all duplicated chapter, section and subsection titles in the user manual.  This fixes [https://gna.org/bugs/?20185 bug #20185].
 +
*  The HTML files for the user manual now have longer names - this is needed for removing the duplicates.
 +
*  Fix for the duplicate title finding script - the LaTeX and HTML mode alternatives are no longer mixed up.
 +
*  Fix for [https://gna.org/bugs/?20177 bug #20177].  This was simply a lower precision OS/Python/numpy combination causing a test suite failure - there are no practical effects and only the precision of the system/GUI test has been lowered.
 +
*  Another bug fix for the sequence GUI editor window.  This bug was being triggered by the User_functions.test_structure_pdb_read() GUI test which now passes.
 +
*  Small fix for the User_functions.test_structure_pdb_read() GUI test.
 +
*  Fix for [https://gna.org/bugs/?20184 bug #20184].  The behaviour of the gui.string_conv.gui_to_int() and related functions has changed in the last few months and the Sequence_window() GUI element has not changed to match.  This has been fixed and the User_functions.test_structure_pdb_read() GUI test now passes.
 +
*  Fixes for the User_functions.test_structure_pdb_read() GUI test.
 +
*  Fix for [https://gna.org/bugs/?20183 bug #20183 - the failure of the sequence editor window].  The problem was that fields which could be either single values or lists (or tuples) of values were not properly handled.
 +
*  Fix for [https://gna.org/bugs/?20182 bug #20182 - the sequence element window ordering issue].  The sequence element window now has the parent wx.Window element set.  This prevents the main relax window from being set as the parent and hence coming to the front after the sequence element window is launched from a user function window.
 +
*  Fix for [https://gna.org/bugs/?20181 bug #20181 - the GUI sequence editor window TypeError problem].
 +
*  Window ordering bug fix for the user function windows launched from the spin viewer window.  The spin viewer window no longer hides behind the main relax window after the launch of the user function.
 +
*  Bug fix for the repetition of Monte Carlo simulations in the relaxation curve-fitting analyses.  This is in the specific analysis API, so will allow all analysis types to repeat Monte Carlo simulations for error analysis.
 +
*  MS Windows fix - the NOE system and GUI tests are now less strict in checking the errors.
 +
*  Proper bug fix for storing the execution status of wizard and user function pages.  This allows the test suite to pass again.  The execution status is now properly returned from the wizard pages run synchronously (and always set to True for asynchronous calls).
 +
*  Fix for [https://gna.org/bugs/?20173 bug #20173].  The palmer.create user function should have been checking that the diffusion tensor had been initialised.  This is now being performed.
 +
*  Bug fix for the execution of wizard pages - the execution status is now observed.  This fixes [https://gna.org/bugs/?20152 bug #20152].  The problem was that the execution status was being lost in the protected_exec() function.  However as relax errors are caught in the GUI interpreter anyway and the status is returned normally, the protected_exec() wrapper was removed.
 +
*  Bug fix for the creation of the user function GUI pages - the (a)synchronous arg is now observed.  This argument was being ignored, which in some wizards was causing user function calls to be asynchronous.  This can result in racing related crashes.
 +
*  The bruker.read user function now throws a RelaxError when old PDC files are detected.  This is a partial fix for [https://gna.org/bugs/?20152 bug #20152].
 +
*  Fixed the newlines in the sample script in the consistency testing chapter.
 +
*  Fixed the bounding box for the consistency testing figure and also fixed some Latex unfriendly code.  Problems were spotted by Edward d'Auvergne in a post at https://mail.gna.org/public/relax-devel/2012-09/msg00039.html.
 +
*  Fixed a bibliography entry label problem.  This was spotted by Edward d'Auvergne in a post at:https://mail.gna.org/public/relax-devel/2012-09/msg00040.html.
 +
*  Bug fix for the creation of 2D graphs via grace.write for when many data sets exist.  The algorithm for setting the Grace symbol number to be between 1 and 10 was broken!
 +
*  Fix for [https://gna.org/bugs/?20133 bug #20133] - this was simply a missing import.
 +
*  Fix for the spin.create user function documentation - the prompt examples were wrong.
 +
*  Bug fix for the generic_fns.grace.get_data() function.  This was just recently introduced and was triggered by the Relax_fit.test_bug_12670_12679 system test.
 +
*  Fix for [https://gna.org/bugs/?20120 bug #20120, the bad Grace plots with multiple spin types].  The grace data assembly function was not setting the correct index for when a spin type changes to a preexisting type.
 +
*  Bug fix for the reading of Sparky peak lists.  Spin names with numbers at the end were not being correctly identified.  This fix allows Trp indole NE1-HE1 data to be loaded.
 +
*  Bug fix for the loading of peak intensities via spectrum.read_intensities.  The user function could not be applied twice, preventing the loading of data from different spin systems such as Trp indole NH data.
 +
*  Another fix for the relax_data.temp_control description.
 +
*  Fix for the incomplete relax_data.temp_control user function description.
 +
*  Spell fix for the relax_data.temp_calibration user function description.
 +
*  Fixes for the referencing in the J(w) mapping chapter of the user manual.
 +
*  Fixed some citations in the newly introduced model-free J(w) paragraph.
 +
*  Fixed a bunch of links in the development chapter of the user manual.
 +
*  Small fix for the sample script in the relaxation curve-fitting chapter of the relax manual.
 +
*  Small fix for the sample script in the NOE chapter of the relax manual.
 +
*  Bug fix for the RDC Q factor calculations for when the dipolar constants are not all the same.  Now instead of a RelaxError, a warning is given and the Q factor normalised by 2Da^2(4 + 3R)/5 is skipped.  This allows long range and mixed nuclear pairs to be supported.
 +
*  Import additions to fix the epydoc import of the 'sconstruct' script for the API documentation.
 +
*  Epydoc docstring fixes for the API documentation.
 +
*  Import fix for the epydoc building of the API documentation.
 
<section begin=bugfixes/>
 
<section begin=bugfixes/>
*  Fix for the State.test_load_state_no_gui() GUI test - the data pipe bundle is now given.
 
*  Another attempt at fixing a nasty circular import in the relax GUI.
 
*  Fix for the relax user manual compilation.  The full path for an icon in the graphics directory was being used.
 
*  API documentation fix - a circular import has been broken.  This was only a circular import when the gui package is imported from an external program like Epydoc.
 
*  PDB format fix for the atom numbers of zero - the atom number should be consecutive and unique.
 
*  Big fixes for the running of the GUI tests.  The GUI initialisation and termination, when not running in GUI mode, is now preformed outside of the Python unittest framework.  The GUI was previously initialised in the setUp() method for all GUI tests, but for some reason this caused abrupt terminations of the GUI_test_runner.run() method.  This run method, when finished, would not return to the Test_suite_runner but would cause the Python interpreter to silently die.  The result was that the test suite summary would appear not to be printed out.
 
*  Python 2.3 and earlier fix for the unit test module for the float module.  The 'tests' class variable was renamed so that the test suite does not think that it is a unit test.
 
*  Bug fix for the unit test runner - this restores functionality broken all the way back at r12100.  The TEST_SUITE_ROOT constant no longer exists, so the check for it is now skipped.  This allows tests to be run directly by the script.
 
*  Python 2.4 and earlier fixes for the Queuing module.  The TaskQueue class from http://code.activestate.com/recipes/475160/ which was added to Python 2.5+ has been added to the compat module.  This module is now used for all imports of the Queue class for all Python versions.
 
*  Test suite bug fix - the GUI tests now cleanly terminate the interpreter thread.  This allows the test suite to terminate normally.  With different Python versions on different operating systems, this could sometimes cause the test suite to freeze at the end, the final printout to be missing, or other strange behaviour.
 
*  Python 2.3- fixes - the Modelfree4 and Dasha system tests are now skipped if the subprocess module is missing.
 
*  Python 2.3 and earlier fix for the Test_relax_re.test_search() unit test.  The unittest assertTrue() and assertFalse() methods do not exist, so assertEqual() is used instead.
 
*  Python 2.3 and earlier fix - the subprocess module is only imported when present.  This is for the stereochem_analysis auto-analysis, but the import kills all of the auto-analyses.
 
*  Python 2.3 fix - eliminated the superfluous operator.itemgetter() call in the diffusion tensor code.
 
*  Python 2.4 and earlier fix for the GUI.  Try-except-finally statement blocks are not supported, so these have to nested in two try statements.
 
*  Python 2.4 fix - the unit test runner no longer uses the builtin set() method.
 
*  Python 2.4 and lower fix for the pipe_loop() generator method.  In these Python versions, a 'try' block with a 'finally' statement cannot contain 'yield' statements.  This work around should be compatible with all Python versions.
 
*  Python 2.4 fixes - the ctypes module does not exist in Python versions 2.4 and lower.  This is only used for some non-essential functionality on MS Windows, so now it is deactivated if not present.
 
*  Fix for bug #20213 (https://gna.org/bugs/?20213).  The problem was that the generic_fns.sequence.generate() function was searching for a spin based on its spin ID generated from the spin name and not spin number.  Hence two spins with the same name but different numbers were treated as the same spin, and only data from one was being generated via the copy() function.
 
*  Bug fix for wxPython 2.9.4.0 - the unsetting of the alpha mask for all bitmap images should now work.  The wx.Bitmap.SetMaskColour(None) call does not work, so instead a wx.Colour() instance is passed in instead.
 
*  Fix for bug #20210 (https://gna.org/bugs/?20210) - relax now runs again without having wxPython installed.
 
*  Bug fix for the BMRB system test initialisation for when the bmrblib module is missing.  The base __init__() method needs to be initialised first.
 
*  Fix for bug #20201 (https://gna.org/bugs/?20201).  The bruker.read user function can now handle the situation where multiple spins per residue are already loaded prior to the user function call.  The isotope value from the DC file is now translated to the element name and this is used as part of the spin ID string.
 
*  Fix for bug #20197 (https://gna.org/bugs/?20197) - the PyMOL and Molmol macro failure.  The macro creation now only operates on spins called 'N' and assumes these are the backbone nitrogens.  The sidechain tryptophan indole NH data will need to be detected and added later.
 
*  Fix for bug #20198 (https://gna.org/bugs/?20198) - the relaxation data back-calculation error.  The problem was that the call to the model-free overfit_deselect() method was deselecting any spins lacking relaxation data.  This should not happen, as no spins need to have relaxation data for this calculation.
 
<section end=bugfixes/>
 
  
 
= Announcements =
 
= Announcements =
 
{{:relax release 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://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: [http://dx.doi.org/10.1007/s10858-007-9213-3 10.1007/s10858-007-9213-3]).
 +
<section end=references/>
 +
<HarvardReferences />
  
 
= See also =
 
= See also =
  
 
{{:relax release see also}}
 
{{:relax release see also}}
 +
[[Category:Documentation]]

Revision as of 19:18, 13 September 2014


Description

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.


Download

The new relax versions can be downloaded from http://www.nmr-relax.com/download.html. If binary distributions are not yet available for your platform and you manage to compile the binary modules, please consider contributing these to the relax project (described in section 3.6 of the relax manual, http://www.nmr-relax.com/manual/relax_distribution_archives.html).


CHANGES file

Version 2.1.1
(21 September 2012, from /trunk)
http://svn.gna.org/svn/relax/tags/2.1.1


Features

  • Creation of extensive tutorials for both the script and GUI modes for the NOE, R1 and R2, model-free chapters with screenshots in of the GUI in operation.
  • Restored support for multiple spin types in the NOE, R1 and R2 analyses allowing, for example, tryptophan sidechain indole NE1 data to be analysed.
  • The activation and expansion of the consistency testing chapter to the user manual.
  • The completion of the reduced spectral density mapping chapter of the user manual.
  • Improvements to the user function section of the user manual with better visual separation and the inclusion of the icons used in the GUI.
  • Creation of the relax data model chapter of the user manual to explain how to set up data in relax in all UI modes (with screenshots in the GUI mode).
  • Creation of the citations chapter of the user manual to help users properly cite the parts of relax that they use.
  • A complete rewrite of the relaxation curve-fitting chapter of the relax manual.
  • General improvements and expansions throughout the user manual (the manual is now 15 Mb compared to 4.3 Mb for relax 2.1.0).


Changes

  • Modified the model-free optimisation final printout to be more multi-processor friendly. The message saying that the optimised chi2 is an improvement or not now includes the spin ID string if present. This is more informative for the multi-processor mpi4py printouts.
  • Added the use of the program 'nice' to the model-free GUI tutorial in the user manual.
  • Removed the out of date and useless README file for the HTML version of the user manual.
  • Added a BMRB section to the end of the model-free chapter of the user manual.
  • Massive expansion of the model-free chapter of the user manual including script and GUI tutorials. The model-free chapter now has step-by-step tutorials for both the prompt/script mode and GUI mode for the new automated model-free protocol (the d'Auvergne protocol)[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008]. This includes a large set of screenshots for the GUI mode.
  • Created the User_functions.test_value_set GUI test demonstrating the failure of the value.set user function.
  • Modified the dauvergne_protocol sample script[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008] to handle tryptophan indole NE1 data.
  • The graphics.fetch_icon() function argument 'format' can now be set to None. This will return the file path without the extension.
  • Improvements to the duplicate user manual title finding script.
  • Created a simple shell script to find duplicate titles in the relax user manual. This is important for the HTML version of the manual as duplicated titles causes HTML pages to be overwritten. For example all chapters, sections and subsections titled "Introduction" will load the introduction.html file which will contain the text of the last section with that title!
  • Additions to the scripting section of the relaxation curve-fitting chapter of the user manual.
  • A small edit to the intro chapter for the multi-processor operation and logging.
  • Added some labelling to the infrastructure chapter of the user manual for referencing.
  • A number of updates and edits to the intro chapter of the user manual. The model-free GUI screenshot has been shifted to the intro chapter in preparation for a full tutorial with screenshots in the model-free chapter.
  • Updated the data model chapter of the user manual to cover the handling of protons. This change includes the modification of the PDB reading screenshot to demonstrate the reading of a specific model and the naming of the molecule.
  • All of the GUI strings and text are now formatted with a small sans serif font in the user manual. This is because in the GUI, a sans serif font is almost always used be default.
  • Modified the User_functions.test_structure_pdb_read() GUI test to catch another bug. This is a bug recently introduced with the fixes to the other sequence editor GUI window problems.
  • Created the User_functions.test_structure_pdb_read GUI test for checking the sequence editor window. This new user function GUI testing class is to be used for testing out the special GUI elements not invoked within the unit testing. The test_structure_pdb_read() test specifically shows a number of failures of the sequence editor window.
  • Modified the operation of the sequence GUI element to have access to the sequence editor window. This is to allow this GUI element to be blasted within the test suite.
  • Improvements to the descriptions of the structure.read_xyz user function arguments.
  • Improvements to the descriptions of the structure.read_pdb user function arguments.
  • Added @HE1 to the spin ID list of the structure.load_spins user function. This is only seen in the GUI.
  • Created the new generic_fns.result_files for standardising the handling of results files. This fixes the bug where results files are repetitively added to the list. All of the code touching cdp.result_files now uses this module instead.
  • Updated the scripting section of the intro chapter of the user manual for non-technical users.
  • Expanded the spin ID list for the structure.load_spins user function. This now includes the spins "@N", "@NE1", "@C", "@H", "@O", "@P", ":A@C2", ":A@C8", ":G@N1",":G@C8", ":C@C5", ":C@C5", ":U@N3", ":U@C5", ":U@C6".
  • Changed the RelaxError for missing relaxation times in the relaxation curve-fitting analyses.
  • Modified the test_bug_20152_read_dc_file() GUI test to catch the RelaxError. This error is because of the old PDC format.
  • Created the test_bug_20152_read_dc_file() GUI test for catching bug #20152. This includes truncated data taken from the bug report (with data for only the first 3 residues).
  • Set up the Bruker Dynamics Center system tests as GUI tests. This is in preparation for catching bug #20152.
  • Re-added Dominique Marion's solvent suppression to the NMRPipe script in the curve-fitting chapter.
  • A few small edits of the relaxation curve-fitting chapter. This is to reinforce the exact time of the relaxation time period.
  • Added some text to explain why test only J(0) is discussed whereas the script also calculated F_R2 and F_eta. This was suggested by Edward d'Auvergne in a post at:https://mail.gna.org/public/relax-devel/2012-09/msg00044.html.
  • Big clean up of the Bibtex bibliography file for the relax user manual.
  • Small edits of the consistency testing figure caption in the relax user manual.
  • Editing and a number of fixes/cleanups for the consistency testing chapter of the user manual.
  • Editing of the "Values, gradients, and Hessians" chapter of the user manual to make it fit better. The context of this chapter has been specified by changing the title to "Optimisation of relaxation data -- values, gradients, and Hessians" and the intro text has been updated. As this chapter is no longer straight after the model-free chapter, this is needed.
  • Made a small correction to a reference such that a superscript is correctly displayed.
  • Added the bounding box and a centerline command to the code for the figure for consistency testing. This follows two remarks by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00030.html and https://mail.gna.org/public/relax-devel/2012-09/msg00032.html.
  • Added more text to describe the consistency testing approach. Also includes a very basic point by point protocol for consistency testing. This was proposed by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00028.html. This also follows a discussion started by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
  • Added some text to describe the consistency testing example figure. This follows a discussion started by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
  • Added a modified version of Figure 1 from Morin and Gagne (JBNMR, 2009 (http://dx.doi.org/10.1007/s10858-009-9381-4)). File formats are .agr (xmgrace), eps (gzipped), and png. This follows a discussion started by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
  • Added a directory for placing consistency testing graphics. This follows a discussion started by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
  • Corrected the bibliography entries whih were still in plain text and not as a Latex \cite call. Also renamed the MorinGagne09 entry to MorinGagne09a as there is now also MorinGagne09b. This was proposed by Edward d'Auvergne in a post at https://mail.gna.org/public/relax-devel/2012-09/msg00025.html.
  • Added the DOI to reference Morin11 and fixed indentation (10.1016/j.pnmrs.2010.12.003). This follows a comment by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00022.html.
  • Deletion of the relax version LaTeX file - this is automatically created anyway.
  • Added text to detail the usage of the consistency testing script. This text was modified from the corresponding text for jw_mapping. This follows a discussion started by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
  • Added some text and a reference to the consistency testing chapter. This follows a discussion started by Edward d'Auvergne at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html.
  • Editing of the nmrPipe script in the Rx curve-fitting chapter of the manual.
  • Some editing of the NOE chapter of the relax user manual.
  • The old R1 and R2 analysis screenshots have been shifted to the intro chapter.
  • Editing of the relax data model chapter of the user manual.
  • Large expansion and lots of editing of the relaxation curve-fitting chapter of the user manual. The GUI section has been added which includes step-by-step instructions on how to use relax,illustrated with screenshots at each step. There has been general editing of the whole of the chapter as well.
  • Added a tonne of GUI screenshots of an R1 analysis. These will be used in the relaxation curve-fitting chapter of the user manual.
  • Added some Grace plots from an NOE analysis for use in the user manual.
  • Small edits of the relax data model chapter of the user manual.
  • Editing of the relaxation curve-fitting and NOE chapters of the user manual. This is to synchronise the format of the two chapters, and includes the swapping of text between them.
  • Added trp indole NH loading into the relaxation curve-fitting sample script.
  • Large edits of the consistency testing chapter of the user manual.
  • Activated the consistency testing chapter of the user manual.
  • Added a LaTeX label to the J(w) mapping chapter.
  • Added the other consistency testing references to the citation chapter of the manual.
  • Added the Fushman et al., 1998 reference.
  • Fix for the Farrow et al., 1995 DOI number.
  • Changed the order of the Rx curve-fitting and NOE chapters in the relax manual. This is because the NOE chapter references passages from the Rx curve-fitting chapter, so it's more logical to have the Rx curve-fitting chapter first.
  • Clean up of a paragraph of the data model chapter of the user manual.
  • Improved the consistency in the user manual by using the new LaTeX commands. These changes are throughout the manual and affect all the text of user functions, menu items, prompt examples, GUI elements, files, directories, etc.
  • Removed some '()' text from the end of the user functions in the user function documentation.
  • Added some more LaTeX functions for formatting consistency.
  • Defined a new set of LaTeX commands for prompt/script/GUI strings and elements for the user manual. These will be used to regularize the text throughout the manual, as this is currently quite mixed up.
  • More rearrangements of data model and NOE chapters of the relax manual. The GUI spin deselection part of the NOE chapter has been shifted into the data model chapter. And the GUI loading of spins from a sequence file section has been completed.
  • Added screenshots of the spin viewer spin loading wizard sequence.read page.
  • Redesign of the data model chapter of the user manual. This includes the moving of all of the spin viewer window text and screenshots from the NOE chapter.
  • Shifted the spin viewer screenshots into their own directory.
  • Changed the "View->Spin view" menu item to "View->Spin viewer".
  • Created a directory for screenshots of the spin viewer window operation.
  • The NOE auto-analysis GUI test now checks the support for Trp indole N data as well.
  • The spectrum.read_intensities user function now prints out a list of the intensities read in. This is for better user feedback as to what the user function has actually done.
  • Created the GUI wizard _apply() method for executing the current page's _apply() method. This is for the GUI tests to simulate a click on the 'Apply' button.
  • Removed a debugging print out.
  • Modified the NOE system test to catch bug #20120.
  • Lots of editing of the NOE chapter of the user manual.
  • Significant update of the NOE chapter of the user manual. The sample script used in this chapter was incredibly out of date.
  • Modified the NOE system test to test the usage of Trp indole 15N data. This is to catch bug #20119.
  • Added some Trp peak data (backbone and indole N) to the Sparky steady-state NOE peak lists. This is in preparation for the modification of the NOE system test to catch bug #20119.
  • Modified the NOE sample script to include Trp indole NH data.
  • Added a step-by-step tutorial for the GUI NOE auto-analysis to the user manual. This includes 22 screenshots of all the steps.
  • Added a section label.
  • Added some Sparky info to the Rx curve-fitting chapter of the user manual.
  • Allowed the raggedbottom LaTeX setting as this is better for the screenshot layout in the user manual.
  • Added the nth package for the user manual LaTeX compilation.
  • The NOE chapter now points to the recommendations in the Rx fitting chapter.
  • Added a new section called 'From spectra to peak intensities' to the Rx fitting chapter of the manual. This adds a number of recommendations for high quality relaxation rates.
  • Added the Viles et al., 2001 reference.
  • Small description edit for the relax_data.temp_control user function.
  • Added a LaTeX label to the NOE chapter of the user manual.
  • Added a paragraph to the model-free chapter of the user manual explaining the J(w) equation forms.
  • Added a label to the data model chapter of the user manual.
  • Created an initial rough version of the RSDM chapter of the user manual.
  • Better figure layout in the NOE chapter of the user manual.
  • The relax data model chapter of the user manual now uses the higher quality graphics.
  • Some more high quality graphics.
  • Added more high resolution graphics for use in the relax user manual.
  • Expanded the size of the specific analysis graphics - mainly for use in the relax user manual.
  • Added the specific analysis graphics to the start of each chapter of the relax user manual.
  • Small edit of the 'Citations' chapter of the relax user manual.
  • Added EPS versions of the specific analysis graphics for use in the user manual.
  • Added the Fushman et al., 1999 reference for consistency testing to the intro chapter of the user manual.
  • More chapter cross referencing in the relax user manual.
  • Added the Horne 2007 paper to the 'Citations' chapter of the user manual. Whitespace has also been cleaned up, and a chapter label added.
  • Added the Horne 2007 paper to the 'Supported NMR theories' subsection of the user manual intro.
  • Shortened the Literature subsection of the intro chapter to point to the citations chapter. This part of the user manual is now redundant.
  • Small edits of the relax user manual.
  • Edits to the abbreviations chapter of the relax user manual.
  • Added another abbreviation.
  • Expansion of the abbreviations chapter of the relax user manual.
  • Added a tonne of DOI numbers to the relax user manual bibliography. This will simplify accessing these references for the user.
  • Added and fixed DOI numbers for many bibliographic entries.
  • The LaTeX bibliography style for PhD theses now includes the DOI hyperlink. This is for the user manual.
  • Slight modification of the DOI hyperlink formatting bibliography style for the user manual.
  • Modified the relax LaTeX bibliography style file relax.bst to convert DOI numbers to hyperlinks. This is to add links to the references within the relax user manual.
  • Created the new 'Citations' chapter of the relax user manual. This is to clearly outline to the user the citations required for the various components of relax.
  • Added the Fushman 1999 reference and a few formatting fixes in other references.
  • Improvements to the 'Supported NMR theories' section of the user manual introduction. This includes the addition of the Morin and Gagne 2009 reference.
  • Added the Morin and Gagne 2009 reference for the consistency testing.
  • Added some more abbreviations to the relax user manual.
  • Created a new chapter for the relax user manual titled 'The relax data model'.
  • Fix for the pipe editor window screenshot width in the relax manual.
  • Converted some more wizard graphics to the EPS format for the user manual.
  • Updates and small expansion of the intro chapter of the relax user manual.
  • The user manual now specifies the repository revision if a non-tagged version is built. This enables easier tracking and editing of the manual.
  • Updates to the generic_fns.mol_res_spin.id_string_doc documentation structure.
  • Updated the screenshot of the pipe editor window.
  • Created EPS versions of a number of wizard graphics for use in the user manual.
  • Removed some now useless whitespace from the top of each user function subsection of the manual.
  • Redesigned the formatting of the user function chapter of the relax manual. The fetch_docstrings.py now forces each user function to start in a new column. This increases the size of the manual, but makes the reading of the user function documentation much easier. The user function class and function icons (128x128 format) are now placed between the top bar and the subsection title and are left and right justified. This prettification simply allows the user functions to be more quickly identified.
  • Large expansion of the relax icon set. All 128x128 versions of the icons used by the user functions have been added as both PNG and gzipped EPS files. A few gzipped SVG and non-sized icons have been added as well.
  • Large expansion of the Oxygen icons within relax. All 128x128 versions of the icons used by the user functions have been added as both PNG and gzipped EPS files. A number of gzipped SVG icons has been added as well.
  • Modified the graphics.fetch_icon function to return different file formats. This will be used for the relax manual where eps.gz files are required.
  • Improvements to the final section of the relaxation curve-fitting chapter. The Xmgrace screenshot and page references for the user functions have been added.
  • Added screenshots of Xmgrace displaying relaxation curves.
  • The fetch_docstrings.py now adds LaTeX labels to each user function section. This has the form of 'uf: ' followed by the user function name, and is for referencing purposes within the main text.
  • Rewrote the relaxation curve-fitting chapter of the relax manual. This chapter was quite out of date and was of no use to modern relax versions.
  • Redesign of how the GPL license is presented to the user. The old prompt.gpl module with the version 2 of the license has been deleted. Now the text form the docs/COPYING file is passed through pydoc.pager for the './relax --licence' and the prompt mode GPL object, and is simply printed to STDOUT for the GUI help system.
  • Import clean ups for the N-state model specific module.
  • Added the 'unit' argument to the dipole_pair.read_dist and dipole_pair.set_dist user functions. This is to allow distances in Angstroms to be read into relax and converted to meters.


Bugfixes

  • Fix for bug #20189, the Sequence GUI element can not handle values of None.
  • The citations chapter is now included in the HTML version of the user manual. For some reason, a file named 'cite.tex' cannot be handled by latex2html.
  • The latex2html compilation of the user manual now ignores the \bibitem{} commands. This is needed for the HTML version of the user manual.
  • Fixed a section titled 'Introduction' clashing with the intro chapter of the user manual.
  • Fixes for the user function icons in the HTML version of the user manual. These icons are now placed on the correct HTML page.
  • Removed the text '.eps.gz' from all of the LaTeX included graphics in the user manual. This allows latex2html to select and use the PNG images instead, producing much better graphics for the online manual (http://www.nmr-relax.com/manual/index.html).
  • Fix for the graphics.fetch_icon() function for when no file format is specified.
  • Elimination of all duplicated chapter, section and subsection titles in the user manual. This fixes bug #20185.
  • The HTML files for the user manual now have longer names - this is needed for removing the duplicates.
  • Fix for the duplicate title finding script - the LaTeX and HTML mode alternatives are no longer mixed up.
  • Fix for bug #20177. This was simply a lower precision OS/Python/numpy combination causing a test suite failure - there are no practical effects and only the precision of the system/GUI test has been lowered.
  • Another bug fix for the sequence GUI editor window. This bug was being triggered by the User_functions.test_structure_pdb_read() GUI test which now passes.
  • Small fix for the User_functions.test_structure_pdb_read() GUI test.
  • Fix for bug #20184. The behaviour of the gui.string_conv.gui_to_int() and related functions has changed in the last few months and the Sequence_window() GUI element has not changed to match. This has been fixed and the User_functions.test_structure_pdb_read() GUI test now passes.
  • Fixes for the User_functions.test_structure_pdb_read() GUI test.
  • Fix for bug #20183 - the failure of the sequence editor window. The problem was that fields which could be either single values or lists (or tuples) of values were not properly handled.
  • Fix for bug #20182 - the sequence element window ordering issue. The sequence element window now has the parent wx.Window element set. This prevents the main relax window from being set as the parent and hence coming to the front after the sequence element window is launched from a user function window.
  • Fix for bug #20181 - the GUI sequence editor window TypeError problem.
  • Window ordering bug fix for the user function windows launched from the spin viewer window. The spin viewer window no longer hides behind the main relax window after the launch of the user function.
  • Bug fix for the repetition of Monte Carlo simulations in the relaxation curve-fitting analyses. This is in the specific analysis API, so will allow all analysis types to repeat Monte Carlo simulations for error analysis.
  • MS Windows fix - the NOE system and GUI tests are now less strict in checking the errors.
  • Proper bug fix for storing the execution status of wizard and user function pages. This allows the test suite to pass again. The execution status is now properly returned from the wizard pages run synchronously (and always set to True for asynchronous calls).
  • Fix for bug #20173. The palmer.create user function should have been checking that the diffusion tensor had been initialised. This is now being performed.
  • Bug fix for the execution of wizard pages - the execution status is now observed. This fixes bug #20152. The problem was that the execution status was being lost in the protected_exec() function. However as relax errors are caught in the GUI interpreter anyway and the status is returned normally, the protected_exec() wrapper was removed.
  • Bug fix for the creation of the user function GUI pages - the (a)synchronous arg is now observed. This argument was being ignored, which in some wizards was causing user function calls to be asynchronous. This can result in racing related crashes.
  • The bruker.read user function now throws a RelaxError when old PDC files are detected. This is a partial fix for bug #20152.
  • Fixed the newlines in the sample script in the consistency testing chapter.
  • Fixed the bounding box for the consistency testing figure and also fixed some Latex unfriendly code. Problems were spotted by Edward d'Auvergne in a post at https://mail.gna.org/public/relax-devel/2012-09/msg00039.html.
  • Fixed a bibliography entry label problem. This was spotted by Edward d'Auvergne in a post at:https://mail.gna.org/public/relax-devel/2012-09/msg00040.html.
  • Bug fix for the creation of 2D graphs via grace.write for when many data sets exist. The algorithm for setting the Grace symbol number to be between 1 and 10 was broken!
  • Fix for bug #20133 - this was simply a missing import.
  • Fix for the spin.create user function documentation - the prompt examples were wrong.
  • Bug fix for the generic_fns.grace.get_data() function. This was just recently introduced and was triggered by the Relax_fit.test_bug_12670_12679 system test.
  • Fix for bug #20120, the bad Grace plots with multiple spin types. The grace data assembly function was not setting the correct index for when a spin type changes to a preexisting type.
  • Bug fix for the reading of Sparky peak lists. Spin names with numbers at the end were not being correctly identified. This fix allows Trp indole NE1-HE1 data to be loaded.
  • Bug fix for the loading of peak intensities via spectrum.read_intensities. The user function could not be applied twice, preventing the loading of data from different spin systems such as Trp indole NH data.
  • Another fix for the relax_data.temp_control description.
  • Fix for the incomplete relax_data.temp_control user function description.
  • Spell fix for the relax_data.temp_calibration user function description.
  • Fixes for the referencing in the J(w) mapping chapter of the user manual.
  • Fixed some citations in the newly introduced model-free J(w) paragraph.
  • Fixed a bunch of links in the development chapter of the user manual.
  • Small fix for the sample script in the relaxation curve-fitting chapter of the relax manual.
  • Small fix for the sample script in the NOE chapter of the relax manual.
  • Bug fix for the RDC Q factor calculations for when the dipolar constants are not all the same. Now instead of a RelaxError, a warning is given and the Q factor normalised by 2Da^2(4 + 3R)/5 is skipped. This allows long range and mixed nuclear pairs to be supported.
  • Import additions to fix the epydoc import of the 'sconstruct' script for the API documentation.
  • Epydoc docstring fixes for the API documentation.
  • Import fix for the epydoc building of the API documentation.


Announcements

If you would like to receive announcements about new relax versions, please subscribe to the relax announcement mailing list. This list only receives ~10 emails per year. It is archived at the SourceForge archives and in The Mail Archive.


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://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).

<HarvardReferences />

See also