<section begin=description/>
This is the Python super-compatibility release includes a major overhaul of the [http://www.nmr-relaxwill now run on Python 2.com/manual/ relax user manual] with 3 all the addition of new chapters and tutorials for all analyses and major expansions and improvements overallway to Python 3. It also includes 3, a major set span of bug fixes to re-enable the NOE, R<sub>1</sub> and R<sub>2</sub> analyses over 9 years of multiple spin types (ePython development.g Some exceptions are Python 3. 0 as numpy and scipy are not compatible with that release, the Trp sidechain indole NH)execution of external programs in Python 2.3 not being supported, window ordering fixes for and the GUI, and numerous other small 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 fixesare also included. More For more details are given please see below. All users are recommended to upgrade to this newest version.
<section end=description/>
<section begin=metadata/>
Version 2.1.1 2 <br/>(21 September 17 October 2012, from /trunk) <br/>http://svn.gna.org/svn/relax/tags/2.1.12
<section end=metadata/>
<section begin=features/>
* Creation of extensive tutorials for both the script and GUI modes for the NOE, R<sub>1</sub> and R<sub>Python 2</sub>, model-free chapters with screenshots in of the GUI in operation.* Restored 3 to 3.3 support for multiple spin types in , including large changes throughout the NOE, R<sub>1</sub> and R<sub>2</sub> analyses allowing, for example, tryptophan sidechain indole NE1 data code to be analysed.* The activation and expansion of the [http://www.nmr-relax.com/manual/Consistency_testing.html consistency testing chapter] able to the user manual.* The completion of the [http://www.nmr-relax.com/manual/Reduced_spectral_density_mapping.html reduced spectral density mapping chapter] of the user manualrun on Python 3.* Improvements to the [http://www.nmr-relax.com/manual/Alphabetical_listing_user_functionsnew_protocol_in_GUI.html user function section of the user manual] with better visual separation and the inclusion of the icons used GUI tutorial in the GUI.* Creation of the [http://www.nmrmodel-relax.com/manual/relax_data_model.html relax data model free 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 number of the [http://www.nmr-relax.com/manual/Relaxation_curve_fitting.html relaxation curve-fitting chapter] of the relax manualbugfixes.* General Small improvements and expansions throughout the user manual (the manual is now 15 Mb compared to 4.3 Mb for [[relax 2.1.0]])overall.
<section end=features/>
<section begin=changes/>
* Modified The scons 'clean' target now removes the model-free optimisation final printout Python 3 __pycache__ directories.* Small edit to be more multi-processor friendlythe installation chapter of the user manual. * The message saying that Decreased the optimised χ<sup>Python version dependency from 2.5 to 2</sup> is an improvement or not now includes .3 in the installation chapter of the spin ID string if presentuser manual. * This is more informative More error checking for the multi-processor mpi4py printoutsassociate_auto() method of the data pipe editor window.* Added data pipe bundle error checking for the GUI pipe editor window associate_auto() method.* Added some error checking for the use of the program 'nice' to data pipe bundle in the auto model-free analysis GUI tutorial in the user manualcode.* Removed the out of date and useless README file for the HTML version of the user manualAdded some special RelaxErrors for data pipe bundles.* Added a BMRB section to some bug catching code for the end of the model-free chapter of the user manualobserver objects.* Massive expansion of the model-free chapter of the user manual including script In some rare cases a registered method's key was set to None. This is now caught and GUI tutorialsa RelaxError thrown to prevent later indecipherable errors. * The model-free chapter setup.py application building script now has step-by-step tutorials for both complains if the prompt/script Python setuptools are not installed.* Updated the relax prompt mode and GUI mode for figure in the intro chapter of the new automated model-free protocol (user manual to the d'Auvergne protocol)[d'Auvergne and Gooley, 2007][d'Auvergne and Gooley, 2008]more modern prompt. * This includes a large set Improvements to the API documentation compilation. The excluded files and directories, as well as hidden ones, are no longer included in the list of screenshots for files/directories to add to the GUI modedocumentation.* Created Added a file with the User_functions.test_value_set GUI test demonstrating relax user functions used for the failure of the [http://www.nmr-relaxprompt screenshots.com/manual/value.set user function].* Modified This is for the dauvergne_protocol sample script[d'Auvergne manual and Gooley, 2007][d'Auvergne and Gooley, 2008] to handle tryptophan indole NE1 datathe website.* The graphicsAdded the public domain LaTeX nth.fetch_icon() function argument 'format' can now be set to None. This will return the sty style file path without for the extension.* Improvements to the duplicate user manual title finding script.* Created a simple shell script to find duplicate titles in Some LaTeX distributions do not have this style file and, as it is public domain, it can be legally distributed with relax allowing the relax user PDF manualto compile on more systems. * This is important Fixes for weird print statements with double brackets generated by the HTML version of the manual as duplicated titles causes HTML pages to be overwritten2to3 Python conversion script. * For example all chapters, sections and subsections titled "Introduction" will load the introductionRemoved a debugging printout.html file which will contain the text * Python 3 fixes for one of the last section test data scripts - print statement with that title!function call replacements.* Additions to the scripting section of the relaxation curvePython 3 fixes for non-fitting chapter of the user manualused Python code - converted print statements to function calls.* A small edit to Python 3 fixes for the intro chapter script for the multi-processor operation and logginggenerating plots of magnetic field lines.* Added some labelling Another print statement to the infrastructure chapter of function Python 3 fix for the user manual for referencing.* A number of updates and edits to the intro chapter of The Python print statements in the user manual. The model-free GUI screenshot has been shifted are now function calls to the intro chapter in preparation for a full tutorial with screenshots in the model-free chapterbe Python 3 compatible.* Updated Python 3 fix for the data model chapter of the user manual to cover the handling of protonsgeneric_fns.structure.geometric.angles_regular() function. This change includes the modification of the PDB reading screenshot to demonstrate the reading of a specific model and the naming of the moleculeInteger divisions no longer produce integers.* All Better formatting of the GUI strings and test suite summary.* The text are now formatted with relax controller log is no longer cleared when a small sans serif font in the user manualreset occurs. This is because allows the test suite results to still be presented in GUI mode.* Even cleaner exiting of the GUI, a sans serif font - the interpreter thread is almost always used be defaultterminated by the exit_gui() method.* Modified the User_functions.test_structure_pdb_read() The GUI test is now cleanly exited with a call to catch another bugwx.App.ExitMainLoop rather than wx.Exit. * This is a bug recently introduced with Python 3 fix for the fixes to compat module - the other sequence editor GUI window problemsQueue2 object needs to always be defined.* Created the User_functionsAdded support for Python 2.test_structure_pdb_read GUI test 2 and earlier for checking the sequence editor windowcompilation of the C modules. * This new user function GUI testing class is to be used Removed an unused import of the Queue module from the multi-processor.* Python 3 fix for testing out the special GUI elements not invoked within the ScientificPython PDB reader unit testingtests. The test_structure_pdb_readorder of the keys returned by a dictionary's keys() test specifically shows a number of failures of the sequence editor windowmethod changes randomly in Python 3, so now they are sorted prior to comparison.* Modified Redesigned the operation of the sequence GUI element to have access to the sequence editor windowreset user function backend. This is to allow this now no only clears out the relax data store, but it also resets the GUI element to be blasted within the test suiteif present.* Improvements to Some of the reset code comes from the descriptions tearDown() method of the [http://wwwGUI tests.nmr-relax.com/manual/structure.read_xyz user function] arguments.* Improvements to All windows but the descriptions of main GUI window are closed and the [http://www.nmr-relaxcontroller gauges are set to zero and the log window text cleared.com/manual/structure.read_pdb user function] arguments These changes should allow GUI tests after an error or failure to pass, something which is currently problematic.* Added @HE1 to Disabled the spin ID list of initial relax intro printout from the GUI when running the [http://www.nmr-relax.com/manual/structure.load_spins user function]test suite. This is only seen prevents the intro text from appearing in the GUIfirst failed test.* Created Fix for the new generic_fnsMf.result_files test_read_results_1_3_v2_broken() system test for standardising the handling of results filesPython 3.2. This fixes The object comparison method no longer converts dictionaries to strings for the bug where results files are repetitively added to comparison, as the liststring version is different in different Python versions. * All of Fix for the code touching cdpMf.result_files now uses this module insteadtest_write_results() system test for the Python 3 versions.* Updated The logic for determining Python 3 versions was broken and the scripting section of the intro chapter of the user manual incorrect files was used for non-technical usersPython 3.1.* Expanded the spin ID list for the [http://wwwBetter Python 2.nmr-relax3 support.com/manual/structure.load_spins user function] The compat module is now imported at the very start to allow the builtins to be set before any other imports. This The sorted() builtin method is now includes mimicked and 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"os.devnull string set for Python 2.3 and earlier.* Fix for the Mf.test_write_results() system test for Python 3.1. The XML version in Python 3.1 is the old style. Therefore the old results file is being used to check this Python 3.1 result.* Changed Small improvements to the RelaxError for missing relaxation times in the relaxation curve-fitting analysesmultiple Python version test suite testing script.* Modified the test_bug_20152_read_dc_file() GUI test to catch the RelaxErrorReactivated support for Python 2.3. This error is because of mainly skips the old PDC formatmissing 'subprocess' module.* This however decreases relax's functionality a little.* Created a special script for testing out relax with Python versions 1.0 all the test_bug_20152_read_dc_file() GUI test for catching [https://gnaway to 3.org/bugs/?20152 bug #20152]3. This includes truncated data taken from the bug report (with data builds the C modules for only each Python version in ~/bin and then runs the first 3 residues)test suite, outputting everything to log files.* Set up the Bruker Dynamics Center The Results system tests as GUI testsare no longer dependent on the relaxation curve-fitting C modules. This is in preparation for catching [https://gna.org/bugs/?20152 bug #20152].* Re-added Dominique Marion's solvent suppression allows these tests to run when the NMRPipe script in the curve-fitting chaptermodule cannot be imported.* A few small edits of Python 2.5 and lower fix for the relaxation curve-fitting chaptertest_write_protein_sequence() unit test. This The byte array is wrapped in an eval() statement to reinforce allow Python 2.5 and lower to parse the exact time of code without failing, and the relaxation time periodbyte array comparison is now only used for Python 3+.* Added some text to explain why test only J(0) is discussed whereas All system and GUI tests reliant on the script also calculated F<sub>R<sub>2</sub></sub> and F<sub>η</sub>relax-fit C modules are deactivated if import fails. This was suggested by [https://gna.org/users/bugman Edward d'Auvergne] in removes a post at:https://mail.gna.org/public/relax-devel/2012-09/msg00044.htmlpile of useless error messages from the test suite and presents a table of skipped tests at the end.* Big clean up of the Bibtex bibliography file More Python 3 fixes for the relax user manual.* Small edits of the consistency testing figure caption in the relax user manualuse of now non-existent string module functions.* Editing and a number of fixes/cleanups Python 3 fix for the consistency testing chapter of the user manualmodel-free BMRB export - many string module methods no longer exist.* Editing Mass conversion of the "Values, gradients, and Hessians" chapter 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 user manual to make it fit betterdiffusion tensor already committed. The context of this chapter has been specified by changing the title to "Optimisation of relaxation alignment tensor data -- values, gradientsstructures are now read only, and Hessians" and can only be modified via the intro text has been updatedset() method. As this chapter This is no longer straight after the model-free chapter, this is neededa much simplified design which works on all Python versions.* Made a small correction to a reference such that a superscript is correctly displayedSmall clean ups of the diffusion tensor data structure code.* Added Deleted the now unused _update_sim_set() method of the bounding box and a centerline command to diffusion tensor data structure.* Removed the code for now unused _update_sim_append() method from the figure for consistency testingdiffusion tensor data structure. * This follows two remarks by Edward d'Auvergne at https://mailCleaned up the docstring of the diffusion tensor data object __setattr__() method.gna* Updated all of the diffusion tensor unit tests to the new design.org/public/relax-devel/2012* Fix for the reading of model-09/msg00030.html and https://mail.gna.org/public/free results files from relax-devel/2012-09/msg000321.html2 when simulation data is missing.* Added more text to describe Fix for the consistency testing approachreading of relax 1. 2 model-free results files for the diffusion tensor structure redesign.* Also includes a very basic point by point protocol Another fix for consistency testingthe fold_angles() diffusion tensor function - again an incomplete design conversion. * This was proposed by [https://gna.org/users/bugman Edward d'Auvergne] at https://mailFix for the setting of the diffusion tensor parameter errors in the model-free specific analysis code.gna.org/public/relax* Fix for the setup of the model-devel/2012-09/msg00028.htmlfree Monte Carlo simulations for the new diffusion tensor design. * This also follows a discussion started by [https://gnaAnother fix for the diffusion_tensor.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relaxinit user function -devel/2012-09/msg00019.htmlit was not completely converted.* Added some text to describe Fix for the consistency testing example figurefixing of parameters in the model-free analyses. The diffusion tensor set_fixed() method is now used. * This follows a discussion started by [https://gnaFix for the XML output of the diffusion tensor - only the modifiable parameters are output.org/users/bugman Edward d'Auvergne] at https://mail This was the previous behaviour and is needed for the test suite to pass.gna* Converted the palmer.org/public/relax-devel/2012-09/msg00019.htmlextract user function to use the new diffusion tensor design.* Added a modified version of Figure 1 from Morin and Gagne (JBNMR, 2009 (http://dx.doi.org/10.1007/s10858-009-9381-4The diffusion tensor bmrb_read()). File formats are .agr function now uses the set_fixed(xmgrace), eps method instead of fixed(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.htmlThe fix user function now uses the diffusion tensor set_fixed() method.* Added a directory Renamed the diffusion tensor fixed() method to set_fixed() to avoid clashing with the 'fixed' object.* Fix for the model-free specific analysis duplicate_data() method for placing consistency testing graphicsthe new design. 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.htmlThe diffusion tensor __mod_attr__ object is now called _mod_attr.* Corrected Fix for the bibliography entries whih were still in plain text and not as a Latex \cite calldiffusion tensor to_xml() method for the new design. For some reason the methods of the Element class are no longer blacklisted. * Also renamed Converted the MorinGagne09 entry diffusion tensor data structure from_xml() method to MorinGagne09a as there is the new tensor design.* Fix for the Diffusion_tensor.test_copy system test - the simulation parameters are now also MorinGagne09bread-only. This was proposed by Edward d'Auvergne in a post at https://mail.gna.org/public/relax-devel/2012-09/msg00025.htmlInstead, the diffusion tensor set() method needs to be called.* Added The setting of list values for the DOI to reference Morin11 and fixed indentation DiffTensorSimList object now works correctly. The private _set(10) method now works correctly by calling the base class method, and the normal setting of diffusion tensor simulation values produces a RelaxError.1016/j.pnmrs.2010.12.003* Fix for the diffusion tensor __deepcopy__()replacement method for the new design. * This follows a comment by Edward d'Auvergne at https://mail.gna.org/public/relaxThe model-devel/2012-09/msg00022.htmlfree specific analysis _disassemble_param_vector() method now uses the new diffusion tensor design.* Deletion of Modified the setUp() method for the relax version LaTeX file - this diffusion tensor system tests to use the new design.* Redesigned how diffusion tensor simulation structures are handled. The design is automatically created anywaynow much cleaner and works with all Python versions.* Added text to detail Removed all the usage of the consistency testing scriptunused imports from specific_fns.model_free.main. * This text was modified from A number of private diffusion tensor objects and methods have switched to the corresponding text for jw_mappingsingle leading '_' format. * This follows a discussion started by [https://gnaImprovements to the diffusion tensor set() method.org/users/bugman Edward d'Auvergne] at https://mail.gna.org/public/relax-devel/2012-09/msg00019.html The parameters, errors and simulations are now properly differentiated and stored.* Added some text and a reference to Converted the old diffusion tensor __setattr__() method into the consistency testing chapterset() method. 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.htmlis the only way in which diffusion tensor parameters, errors and simulations can be set.* Editing of Renamed the nmrPipe script in the R<sub>x</sub> curve-fitting chapter of the manualdiffusion tensor data structure type() method to set_type().* Some editing of This is because the type is stored as the NOE chapter of 'type' object, clashing with the relax user manualmethod name.* The old R<sub>1</sub> and R<sub>2</sub> analysis screenshots have been shifted to Created the diffusion tensor data structure type() method for setting the intro chaptertensor type.* Editing of This is to remove the relax data model chapter of the user manual"cdp.diff_tensor.* Large expansion and lots of editing of type = 'x'" code from the relaxation curve-fitting chapter core of relax, as the user manualstructure is now read only. * The GUI section new diffusion tensor fixed() method has been added which includes step-by-step instructions on how created to use relax,illustrated with screenshots at each stepallow the fixed flag to be changed. * There has been general editing of Fix for the whole initialisation of the chapter as welldiffusion tensor data structure, now that it is read-only.* Added The diffusion tensor data structure has been completely converted into a tonne of GUI screenshots of an R<sub>1</sub> analysisread-only structure. These The __setattr__() method now will be used in always raise a RelaxError, and the relaxation curve-fitting chapter of diffusion tensor simulation data structure objects __setitem__() method will raise the user manualsame error.* Added some Grace plots from an NOE analysis for use in the Updated the relax version numbers and 'trunk' used relax user manual.* Small edits of For example the information about checking out the relax data model chapter of main development line was still talking about 1.3 rather than the user manualtrunk.* Editing of Python 3 fix for the relaxation curve-fitting setting of diffusion and NOE chapters of the user manualalignment tensor simulation values. This is to synchronise the format of the two chapters, The previous code somehow worked in Python 2 but was not formally correct and includes the swapping of text between thembroke in Python 3.* Added trp indole NH loading into Python 3 fix for the relaxation curvemodel-fitting sample scriptfree results file reading tests.* Large edits The ordering of the consistency testing chapter dictionaries is different in Python 3, so now these are properly converted from strings to dictionaries before comparison. This was not happening because of the user manualXML changes from Python 2.7.3 onwards.* Activated the consistency testing chapter of The relaxation curve-fitting system tests are now skipped if the user manualmodule is missing or broken.* Added This improves the printouts from the test suite and shows a summary of skipped tests rather than a LaTeX label to the J(ω) mapping chapterpile of traceback messages and errors.* Added The message about skipping the other consistency testing references GUI tests due to the citation chapter wxPython being missing is now more specific. This was being shown for all runs of the manualtest suite when it only needs to appear if GUI tests have been run.* Added a Python 3 version of the Fushman et altruncated OMP model-free results file., 1998 reference.* Fix for This was created with trunk.* Removed the Farrow et al., 1995 DOI numberPython 3 byte array hack which should have been removed earlier.* Changed the order of the R<sub>x</sub> curveThe OMP model-fitting and NOE chapters in the free results file generation script now outputs for any relax manualversion. * This is because Python 3 fix for the NOE chapter references passages from the R<sub>x</sub> curveMf.test_latex_table system test. The latex_mf_table.py model-fitting chapterfree system test script docstring contains backslashes, so it's more logical to have the R<sub>x</sub> curve-fitting chapter firstraw string format r"""Text""" is now used.* Clean up of a paragraph of the data model chapter of the user manualPython 3 support for Modelfree4 and Dasha.* Improved the consistency The subprocess.Popen class works with byte arrays rather than strings in Python 3+. The Python objects are now interconverted when the user manual by using the new LaTeX commandsPython 3 encode() and decode() methods are detected. * These changes are throughout Removed the manual pickle format information and affect all arguments from the text of state user functions, menu items, prompt examples, GUI elements, files, directories, etcfunction definitions.* Removed some 'Eliminated the State.test_state_pickle()' text from the end of the user functions in the user function documentationsystem test as pickled states are no longer supported.* Added some more LaTeX functions for formatting consistencyRemoved the ability to save and restore states using the pickle module.* Defined a new set A pickled state is of LaTeX commands no use to relax anymore. It's removal is needed for prompt/script/GUI strings and elements for the user manualPython 3 support. These will be used So now everything defaults to regularize the text throughout the manual, as this is currently quite mixed upXML formatted output.* More rearrangements of data model and NOE chapters Python 3 fix - removed the use of the relax manualstring module from generic_fns.spectrum. * The GUI spin deselection part of Python 3 fix for the NOE chapter has been shifted into the data model chapterrelax_io.open_write_file() function. And This now matches the GUI loading of spins from a sequence file section has been completed.* Added screenshots behaviour of open_read_file() in that there are three different behaviours for opening bz2 and gz files for writing to for the spin viewer spin loading wizard sequencedifferent Python versions (one for Python 2, one for Python 3.read page0 to 3.2, and one for Python 3.3+). All byte streams have been eliminated as open_write_file() is for creating text files.* Redesign of Python 3 fix for the data model chapter of Noe.test_noe_analysis() system test for the user manualgrace.write precision changes. * This includes the moving of all of the spin viewer window text For consistency between Python 2 and screenshots from 3, the NOE chaptergrace.write user function outputs to 15 decimal places.* Shifted This increased precision will only be of use in the spin viewer screenshots into their own directoryrelax test suite.* Changed Python 3 fix for the "View->Spin view" menu item to "View->Spin viewer"Pipes.test_pipe_bundle() system test.* Created a directory for screenshots The order of the spin viewer window operationbundle names returned by generic_fns.pipes.bundle_names() is not guaranteed in Python 3.* The NOE auto-analysis GUI test C module compilation testing script now checks accepts the support for Trp indole N data as wellPython version as a first argument.* The [http://wwwrelax_io.nmr-relaxopen_read_file() now supports all Python versions over 2.com/manual/spectrum.read_intensities user function] now prints out a list of the intensities read in4. This is required some really nasty hacks for better user feedback as to what the user function has actually donePython 3.0, 3.1 and 3.* Created 2 with the GUI wizard _apply() method for executing Bzip2Fixed and GzipFixed classes overriding the current page's _applyincomplete and buggy bz2.BZ2File and gzip.GzipFile modules, and being wrapped around io.TextIOWrapper() method. * This is for Added the GUI tests IO module to simulate a click on the 'Apply' buttonrelax information printout and dependency checks.* Removed a debugging print outThe manual C module compilation script is now executable.* Modified Renamed the NOE system test 'scripts' directory to 'devel_scripts' so that users are less likely to catch [https://gna.org/bugs/?20120 bug #20120]ask about the scripts.* Lots of editing of Finished off the NOE chapter of the user manualC module compilation testing script.* Significant update of Added a script for testing out the NOE chapter of the user manualC module compilation on multiple Python targets. * The sample script used in this chapter was incredibly out of daterelax_fit specific analysis module now supports both Python 2 and 3.* The relaxation curve-fitting C module now supports compilation on both Python 2 and 3.* Modified Created the NOE simple Sequence.test_sequence_copy() system test to test the usage of Trp indole <sup>15</sup>N data. This is to catch [catch bug #20213 (https://gna.org/bugs/?20119 bug #20119]20213).* Added some Trp peak data The Mf.test_bug_20213_asn_sidechain(backbone and indole N) to the Sparky steady-state NOE peak listssystem test now uses a temporary directory for output. * This is in preparation for Added the modification of the NOE Mf.test_bug_20213_asn_sidechain() system test to catch [bug #20213. The data and script comes from the files 'sh3-47.2.zip' and 'run.py' attached to the bug report https://gna.org/bugs/?20119 bug #20119]20213.* Modified The PDB now only contains Asp47, the optimisation parameters have been made almost insignificant, and all models but 'tm0' have been removed from the NOE sample script to include Trp indole NH dataanalysis.* Added The Python 3 dictionary values() method no longer returns a list, so a step-by-step tutorial for the GUI NOE auto-analysis to the user manuallist() call is needed. * This includes 22 screenshots of all Python 3 bug fix for the stepsgeometric structure module - another integer division to float problem.* Added a section labelThe Mf.* Added some Sparky info test_write_results system test can now select the correct file to the R<sub>x</sub> curve-fitting chapter of the user manualcompare against in Python 3.* Allowed the raggedbottom LaTeX setting as this is better The algorithm for determining if the screenshot layout in the user manual'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.* Added the nth package Python 3 fix for the user manual LaTeX compilationformat detection of results and save files.* The NOE chapter now points to Python 3 import fixes for the recommendations in the R<sub>x</sub> fitting chaptergeneric_fns.structure package using relative paths.* Added a new section called 'From spectra to peak intensities' to Python 3 fix - removed the use of the R<sub>x</sub> fitting chapter of string.lower() function in the manual. This adds a number of recommendations for high quality relaxation ratesOpenDX mapping code.* Added Python 3 fix for the Viles et alframe order system tests. As float to string conversions behave differently, 2001 referencethe %.1f formatting is used to force only a single decimal place float.* Small description edit Python 3 fix for the [http://www.nmrframe order system tests -relaxfloat to string conversions behave differently.com/manual/relax_data Now the explicit %.temp_control user function]1f formatting is used to force only a single decimal place float.* Added a LaTeX label Python 3 integer division to float fix for the NOE chapter of the user manualframe order analysis.* Added a paragraph to Python 3 bug fix for the modelframe order analysis -free chapter of the user manual explaining the J(ω) equation formsanother int division problem.* Added a label to the data model chapter Python 3 fixes - eliminated all usage of the user manualdictionary has_key() calls as they are no longer present.* Created an initial rough version of Python 2 and 3 support in the RSDM chapter of the user manualgeneric_fns.relax_data module using 2to3. One print call was fixed after running 2to3.* Better figure layout in Python 3 bug fix for the NOE chapter of the user manualStructure.test_read_pdb_mol_2_model_scientific system tests.* The relax data model chapter of the user manual now uses the higher quality graphicsThis is again an integer division problem returning a float.* Some more high quality graphicsPython 3 fix for the test_write_protein_sequence() unit test. This is again a string verses byte verses unicode problem.* Added more high resolution graphics Python 3 fix for use the user function docstring creation in the relax user manualprompt UI mode. Again this is the problem of a division now returning a float rather than an int.* Expanded Python 3 bug fix for the size of the specific analysis graphics N- mainly for use in state model target function setup. The num_tensors variable needs to be an integer, but the relax user manualPython 3 division will create a float type.* Added Python 3 fix for the specific analysis graphics to the start results.read user function matching that of each chapter of the relax user manualstate.load.* Small edit of Python 3 bug fix for the 'Citations' chapter of the relax user manualrelax_io.read_spin_data() function.* Added EPS versions of the specific analysis graphics for use The built in max() function cannot handle the user manual.* Added value of None, therefore the Fushman et al., 1999 reference for consistency testing filter() function is used to the intro chapter remove all instances of None from the user manuallist.* More chapter cross referencing in Python 3 bug fix for the relax state.load user manualfunction.* Added The header line of pickled states (rather than the Horne 2007 paper to standard XML states) is of the b'Citations' chapter of the user manualbyte format. Whitespace has also been cleaned upThis is now converted to a string, and a chapter label added.the search expression is comparing it to the raw string r"<\?xml".* Added Better support for both Python 2 and 3 in the Horne 2007 paper to relax data store. The 2to3 script was used on all of the 'Supported NMR theories' subsection of files in the user manual introdata package.* Shortened Python 3 preparation - the Literature subsection of relax data store (the intro chapter to point to the citations chapter. This part of the user manual is data package) now redundantsupports both Python 2 and 3.* Small edits of Python 3 fix - the relax user manualrelax_errors.AllRelaxErrors object is now a proper tuple.* Edits Due to the abbreviations chapter of the relax user manualbad coding, it was previously a nested tuple.* Added another abbreviationThis nested tuple worked in Python 2, but is fatal for Python 3.* Expansion of Python 3 fixes - the abbreviations chapter of character '\' is now properly escaped as '\\' in the relax user manualstereochemistry auto-analysis.* Added a tonne of DOI numbers to Fix for the relax user manual bibliographytest suite summary for Python 3. This will simplify accessing these references for the userThe test suite now runs, but fails miserably, under Python 3.* Added and fixed DOI numbers Fix for many bibliographic entriesthe running of the test suite under Python 3.* The LaTeX bibliography style for PhD theses now includes zip() function used in the DOI hyperlink. This loadTestsFromTestCase() function is for now an iterator, so it needs to be passed through the user manuallist() function to generate a list.* Slight modification of the DOI hyperlink formatting bibliography style Fix for the user manualtest_parse_token_multi_element_name() unit test, as parse_token() no longer sorts.* Modified Python 3 fix for the relax LaTeX bibliography style file relaxgeneric_fns.mol_res_spin.parse_token() function.bst to convert DOI numbers to hyperlinks Mixed lists for int and string can no longer be sorted. This sort call is to add links to the references within the relax user manual.not needed anyway.* Created Automatically converted the new 'Citations' chapter of the relax user manualgeneric_fns. This is mol_res_spin module to clearly outline to the user the citations required for the various components of relaxsupport both Python 2 and 3.* Added the Fushman 1999 reference and a few formatting fixes in other referencesFor running relax with Python 2, the __builtin__.* Improvements to the 'Supported NMR theories' section of the user manual introductionrange() function has been replaced with xrange. This includes causes large speed ups (speed that was lost with the addition of the Morin and Gagne 2009 referenceearlier xrange() to range() conversions), and memory decreases.* Added For example on one system, the Morin and Gagne 2009 reference for the consistency testingsystem test time decreased from 513.029s to 487.586s.* Added some more abbreviations to The compat module now has the relax user manualpy_version variable specifying if this is Python 2 or 3.* Created a new chapter Import fix for the relax user manual titled 'The relax data model'OpenDX mapping package, recently broken with the relative import for Python 3 change.* Fix for More usage of the pipe editor window screenshot width is_unicode() function in the relax manualgeneric_fns.mol_res_spin module.* Converted some more wizard graphics to Created the EPS format check_types.is_unicode() function for Python 2+3 compatibility. This is used in the user manualgeneric_fns.mol_res_spin module.* Updates and small expansion of the intro chapter of the relax user manualAnother raise() function call to statement change for 2to3 preparations.* The user manual now specifies Converted some raise() function calls to raise statements in preparation for the repository revision if a non-tagged version is built2to3 conversion. * This enables easier tracking Converted the ScientificPython PDB reader to support both Python 2 and editing of the manual3.* Updates The __repr__() method was manually modified due to the generic_fns.mol_res_spin.id_string_doc documentation structure.* Updated 'list' variable clashing with the screenshot of the pipe editor window'list'type.* Created EPS versions of a number of wizard graphics new module for use simultaneous Python 2 and 3 support in the user manualrelax called 'compat'.* Removed some now useless whitespace from Python 3 fixes - the top of each user list() function subsection of is now used in combination with range() to generate the manualordered list.* Redesigned range() in Python 3 is an iterator object (just as xrange was), so now the formatting of the user list() function chapter has to be called.* Python 3 preparations - mass conversion of the relax manualall xrange() calls to range(). * The fetch_docstringsCreated the special check_types.py now forces each user is_filetype() function to start for checking for files in a new columnall Python versions. * This increases Python 3 - eliminated an unneeded xrange call.* Python 3 - eliminated the size use of the manualmap() function, but makes as this behaves differently in Python 3.* Python 3 - removed the reading use of the user function documentation much easierstring. The user function class and function icons lower(128x128 format) are now placed between function as it is missing in Python 3.* Python 3 fix for the top bar and the subsection title and are left and right justifiedrelax information printout. This prettification simply allows the user functions The try blocks seem to be more quickly identifiednow operate slightly differently in Python 3.* Large expansion of Python 2 fixes - the Python 3 fixes for the relax icon set. ScientificPython module imports broke Python 2.* All 128x128 versions of Python 3 - the icons used by the user functions have been added as both PNG and gzipped EPS filescStringIO.StringIO import switches to io. A few gzipped SVG and non-sized icons have been added as wellStringIO if missing.* Large expansion of Python 3 - relative module paths are now used for the Oxygen icons within relaxtest suite runner. * All 128x128 versions of Python 3 fixes for 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 wellversion module for catching empty lists.* Modified the graphics.fetch_icon function Python 3 fix - ensure an integer is actually an integer (division now converts ints to return different file formatsfloats). * This will be used Python 3 - fixes for the relax manual where eps.gz files are requiredrenaming of the Queue package.* Improvements to Python 3 - converted the final section last of the relaxation curve-fitting chapterexcept error catching statements to be Python 2.4+ compatible. * The Xmgrace screenshot Python 3 - removal of the use of the string.atoi and page references for the user string.atof functions . These have been addeddepreciated since Python 2.* 0! Added screenshots of Xmgrace displaying relaxation curvesThey have been replace by the int and float functions.* The fetch_docstrings.py now adds LaTeX labels to each user function sectionPython 3 - a number of fixes for running the ScientificPython modules in relax on Python 2 and 3. This has the form of 'uf: ' followed by the user includes relative imports, converting raise statements to function namecalls, and is for referencing purposes within removal of the main text.use of many string module functions which do not exist in Python 3, etc.* Rewrote the relaxation curvePython 3 -fitting chapter of the relax manualmodified some except statements to be Python 2. This chapter was quite out of date and was of no use to modern relax versions4+ compatible in a ScientificPython module.* Redesign of how the GPL license is presented Python 3 - converted some print statements to function calls in the userScientificPython modules. * The old promptPython 3 - fix for an os.gpl chmod() call by using the stat module with rather than the version 2 of the license has been deletednumber 0775. Now the text form the docs/COPYING file is passed through pydocThe number 0755 is no longer valid in Python 3.pager * Python 3 - a pile of relative path fixes for the './many relax --licence' and the prompt mode GPL object, and is simply printed to STDOUT for the GUI help systemmodules.* Import clean ups for Python 3 - removed the use of the N-state model specific types modulefrom generic_fns.sequence. The relax arg_check module is now being used instead.* Added Python 3 preparations - removed all of the 'unit' argument to the [http://wwwstring module functions which no longer exist in Python 3.nmr-relax These functions are part of the strings themselves now.com/manual/dipole_pair.read_dist.html dipole_pair.read_dist] and [http://www.nmr-* Improvements for the relaxtest suite synopsis for when the wxPython module is missing or broken.com/manual/dipole_pair This is simply a printout improvement.set_dist* Python 3 preparations - removal of some unneeded xrange() calls.html dipole_pair.set_dist] user functions* Python 3 preparations - the data package now really does use the absolute path for its module imports. * This is to allow distances in Angstroms to be read into relax 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 meterspass.
<section end=changes/>
<section begin=bugfixes/>
* Fix for [https://gnathe State.org/bugs/?20189 bug #20189, test_load_state_no_gui() GUI test - the Sequence GUI element can not handle values of None]data pipe bundle is now given.* The citations chapter is now included Another attempt at fixing a nasty circular import in the HTML version of relax GUI.* Fix for the relax user manualcompilation. For some reason, a file named 'cite.tex' cannot be handled by latex2htmlThe full path for an icon in the graphics directory was being used.* The latex2html compilation of the user manual now ignores the \bibitem{} commandsAPI documentation fix - a circular import has been broken. This was only a circular import when the gui package is needed for the HTML version of the user manualimported from an external program like Epydoc.* Fixed a section titled 'Introduction' clashing with PDB format fix for the intro chapter atom numbers of zero - the user manualatom number should be consecutive and unique.* Fixes Big fixes for the user function icons in the HTML version running of the user manualGUI tests. These icons are The GUI initialisation and termination, when not running in GUI mode, is now placed on preformed outside of the correct HTML pagePython unittest framework.* Removed The GUI was previously initialised in the text '.eps.gz' from setUp() method for all GUI tests, but for some reason this caused abrupt terminations of the LaTeX included graphics in the user manualGUI_test_runner.run() method. This allows latex2html run method, when finished, would not return to select and use the PNG images instead, producing much better graphics for Test_suite_runner but would cause the online manual (http://wwwPython interpreter to silently die.nmr-relax.com/manual/index.html) The result was that the test suite summary would appear not to be printed out.* Fix Python 2.3 and earlier fix for the graphics.fetch_icon() function unit test module for when no file format is specifiedthe float module.* Elimination of all duplicated chapter, section and subsection titles in The 'tests' class variable was renamed so that the user manual. This fixes [https://gna.org/bugs/?20185 bug #20185]test suite does not think that it is a unit test.* The HTML files Bug fix for the user manual now have longer names unit test runner - this is needed for removing restores functionality broken all the duplicatesway back at r12100.* Fix 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 duplicate title finding script - the LaTeX and HTML mode alternatives are no longer mixed up.* Fix Python 2.4 and earlier fixes for [httpsthe Queuing module. The TaskQueue class from http://gnacode.activestate.orgcom/recipes/bugs475160/?20177 bug #20177]which was added to Python 2.5+ has been added to the compat module. This was simply a lower precision OS/Python/numpy combination causing a test suite failure - there are no practical effects and only the precision module is now used for all imports of the system/GUI test has been loweredQueue class for all Python versions.* Another Test suite bug fix for - the sequence GUI editor windowtests now cleanly terminate the interpreter thread. This bug was being triggered by allows the User_functions.test_structure_pdb_read() GUI test which now passessuite to terminate normally.* Small fix for With different Python versions on different operating systems, this could sometimes cause the User_functions.test_structure_pdb_read() GUI testsuite to freeze at the end, the final printout to be missing, or other strange behaviour.* Fix for [https://gnaPython 2.org/bugs/?20184 bug #20184]. The behaviour of 3- fixes - the gui.string_conv.gui_to_int() Modelfree4 and related functions has changed in Dasha system tests are now skipped if 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 passessubprocess module is missing.* Fixes Python 2.3 and earlier fix for the User_functionsTest_relax_re.test_structure_pdb_readtest_search() GUI unit 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 unittest assertTrue() and assertFalse(or tuples) of values were methods do not properly handledexist, so assertEqual() is used instead.* Fix for [https://gnaPython 2.org/bugs/?20182 bug #20182 3 and earlier fix - the sequence element window ordering issue]. The sequence element window now has the parent wx.Window element setsubprocess module is only imported when present. This prevents is for the main relax window from being set as stereochem_analysis auto-analysis, but the parent and hence coming to import kills all of the front after the sequence element window is launched from a user function windowauto-analyses.* Fix for [https://gnaPython 2.org/bugs/?20181 bug #20181 3 fix - eliminated the GUI sequence editor window TypeError problem]superfluous operator.* Window ordering bug fix for itemgetter() call in 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 functiondiffusion tensor code.* Bug Python 2.4 and earlier fix for the repetition of Monte Carlo simulations in the relaxation curve-fitting analysesGUI. This is in the specific analysis APITry-except-finally statement blocks are not supported, so will allow all analysis types these have to repeat Monte Carlo simulations for error analysisnested in two try statements.* MS Windows Python 2.4 fix - the NOE system and GUI tests are now less strict in checking unit test runner no longer uses the errorsbuiltin set() method.* Proper bug Python 2.4 and lower fix for storing the execution status of wizard and user function pagespipe_loop() generator method. This allows the test suite to pass againIn these Python versions, a 'try' block with a 'finally' statement cannot contain 'yield' statements. The execution status is now properly returned from the wizard pages run synchronously (and always set to True for asynchronous calls)This work around should be compatible with all Python versions.* Fix for [https://gnaPython 2.org/bugs/?20173 bug #20173]. The [http://www.nmr4 fixes -relaxthe ctypes module does not exist in Python versions 2.com/manual/palmer.create user function] should have been checking that the diffusion tensor had been initialised4 and lower. This is only used for some non-essential functionality on MS Windows, so now being performedit is deactivated if not present.* Bug fix Fix for the execution of wizard pages - the execution status is now observed. This fixes [bug #20213 (https://gna.org/bugs/?20152 bug #20152]20213). The problem was that the execution status was being lost in the protected_execgeneric_fns.sequence.generate() functionwas searching for a spin based on its spin ID generated from the spin name and not spin number. However Hence two spins with the same name but different numbers were treated as relax errors are caught in the GUI interpreter anyway same spin, and only data from one was being generated via the status is returned normally, the protected_execcopy() wrapper was removedfunction.* Bug fix for wxPython 2.9.4.0 - the creation unsetting of the user function GUI pages - the (a)synchronous arg is alpha mask for all bitmap images should now observedwork. 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 [http://wwwwx.nmr-relaxBitmap.com/manual/bruker.read user function] now throws SetMaskColour(None) call does not work, so instead a RelaxError when old PDC files are detectedwx. This Colour() instance is a partial fix for [https://gna.org/bugs/?20152 bug #20152].* Fixed the newlines passed in the sample script in the consistency testing chapterinstead.* Fixed the bounding box Fix for the consistency testing figure and also fixed some Latex unfriendly code. Problems were spotted by Edward d'Auvergne in a post at bug #20210 (https://mail.gna.org/publicbugs/relax?20210) -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.htmlnow runs again without having wxPython installed.* Bug fix for the creation of 2D graphs via grace.write BMRB system test initialisation for when many data sets existthe bmrblib module is missing. The algorithm for setting the Grace symbol number base __init__() method needs to be between 1 and 10 was broken!initialised first.* Fix for [bug #20201 (https://gna.org/bugs/?20133 bug #20133] - this was simply a missing import20201).* Fix for the [http://wwwThe bruker.nmr-relax.com/manual/spin.create read user function documentation] - can now handle the prompt examples were wrong.* Bug fix for situation where multiple spins per residue are already loaded prior to the generic_fns.grace.get_data() user functioncall. This was just recently introduced The isotope value from the DC file is now translated to the element name and was triggered by this is used as part of the Relax_fit.test_bug_12670_12679 system testspin ID string.* Fix for [bug #20197 (https://gna.org/bugs/?20120 bug #20120, 20197) - the bad Grace plots with multiple spin types]PyMOL and Molmol macro failure. The grace data assembly function was not setting macro creation now only operates on spins called 'N' and assumes these are the correct index for when a spin type changes to a preexisting typebackbone nitrogens.* 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 The sidechain tryptophan indole NE1-HE1 NH data will need 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 descriptiondetected and added later.* Fix for the incomplete [httpbug #20198 (https://wwwgna.nmr-relax.comorg/manualbugs/relax_data.temp_control user function description].* Spell fix for ?20198) - the [http://www.nmrrelaxation data back-relaxcalculation error.com/manual/relax_data.temp_calibration user function description].* Fixes for The problem was that the referencing in the J(ω) mapping chapter of call to the user manual.* Fixed some citations in the newly introduced model-free Joverfit_deselect(ω) paragraph.* Fixed a bunch of links in the development chapter of the user manual.* Small fix for the sample script in the method was deselecting any spins lacking relaxation curve-fitting chapter of the relax manualdata.* 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 This should not all the same. Now instead of a RelaxErrorhappen, a warning is given and the Q factor normalised by 2D<sub>a</sub><sup>2<sup>(4 + 3R)/5 is skipped. This allows long range and mixed nuclear pairs as no spins need to be supported.* Import additions to fix the epydoc import of the 'sconstruct' script have relaxation data for the API documentation.* Epydoc docstring fixes for the API documentation.* Import fix for the epydoc building of the API documentationthis calculation.
<section end=bugfixes/>
= Links =
<section begin=links/>
For reference, the following links are also part of the announcement for this release:
* [http://wiki.nmr-relax.com/Relax_2.1.2 Official release notes]
* [https://gna.org/forum/forum.php?forum_id=2369 Gna! news item]
* [http://article.gmane.org/gmane.science.nmr.relax.announce/35 Gmane]
* [http://www.mail-archive.com/relax-announce%40gna.org/msg00031.html Mail Archive]
* [https://mail.gna.org/public/relax-announce/2012-10/msg00000.html Local archives]
* [http://marc.info/?l=relax-announce&m=135070664825024&w=2 MARC]
<section end=links/>
= Announcements =
{{:relax release announcements}}
= References =
<section start=references/>
* [*d'Auvergne and Gooley, 2007] d'Auvergne, E. J. and Gooley, P. R. (2007). Set theory formulation of the model-free problem and the diffusion seeded model-free paradigm. ''Mol. BioSyst.'', '''3'''(7), 483–494. (DOI: [http://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 =
{{:relax release see also}}
[[Category:Documentation]]