Open main menu

Changes

Relax 3.3.1

124 bytes added, 15:04, 16 October 2020
m
Switch to the {{gna task link}} template to remove dead Gna! links.
{{lowercase title}}
{{infobox relax release| version = 3.3.1| prev = 3.3.0| next = 3.3.2| type = Minor feature and bugfix| date = 9 October 2014| manual = yes}} == Description ==
<section begin=description/>
<section end=description/>
== Download ==
<section begin=download/>
<section end=download/>
== CHANGES file ==
<section begin=metadata/>
<section end=metadata/>
=== Features ===
<section begin=features/>
<section end=features/>
=== Changes ===
<section begin=changes/>
* Epydoc docstring fix for the [http://www.nmr-relax.com/api/3.3/dep_check-module.html#version_comparison dep_check.version_comparison() function].
* Removed ZZ and HD exchange from the [http://www.nmr-relax.com/manual/Relaxation_dispersion.html dispersion chapter of the relax manual]. These would probably require completely new analysis types added to relax to analyse such data.
* Updated the 'Announcement' section of the release checklist document. This now includes details about initially composing the message using the [http://wiki.nmr-relax.com relax wiki], and then how that text and the CHANGES file are used for the [http://news.gmane.org/gmane.science.nmr.relax.announce email announcement] and the [https://{{gna link|url=gna.org/news/?group=relax |text=Gna! news item]}}.
* Small changes for the Gna! news item in the release checklist document.
* Modified the announcement section of the release checklist document. Text about removing wiki markup has been added.
* Fix for raising error when calling showApod, and subprocess module not available.
* Fix for the dependency check for showApod in system tests.
* Further extended the [http://www.nmr-relax.com/api/3.3/auto_analyses.relax_disp_repeat_cpmg.Relax_disp_rep-class.html protocol for repeated dispersion analysis]. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Extended the system test for the [http://www.nmr-relax.com/api/3.3/auto_analyses.relax_disp_repeat_cpmg.Relax_disp_rep-class.html protocol for repeated dispersion analysis]. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Added a relaxation dispersion model profiling log file for relax version [[relax 3.3.0|3.3.0]] vs. [[relax 3.2.3|3.2.3]]. This is the output from the dispersion model profiling master script. These numbers will be used for the [[relax 3.3.0]] release notes.
* Fixes for the [[relax 3.3.0]] vs. [[relax 3.2.3|3.2.3]] dispersion model profiling log file. The numeric model numbers were incorrectly scaled and a factor of 10 too high.
* Fixes for the scaling factors in the dispersion model super profiling script.
* Editing of the [[relax 3.3.0]] features section of the CHANGES file. This will be used for the release notes.
* Added more test data for the repeated analysis. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Updated the Baldwin 2014 reference in the relax manual. The [http://pybliographer.org/ pybliographic software] was used to format this BibTeX entry. This was updated as volume and page number information is now available.
* Updated the Morin et al, 2014 paper (the relax relaxation dispersion paper) reference in the manual. The paper now has volume and page information.
* Added some more [http://www.nmr-relax.com/api/3.3/user_functions-module.html#uf_translation_table user function ranamings to the translation table]. These were identified while preparing the release notes on the wiki (http://wiki.nmr-relax.com/Category:Release_Notes, http://wiki.nmr-relax.com/Release_notes).
* Stored a frequency dependent dictionary with spectrum IDs and repeated PMG frequencies in setup pipe. This information will progress out through children pipes. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Further extended methods in the [http://www.nmr-relax.com/api/3.3/auto_analyses.relax_disp_repeat_cpmg.Relax_disp_rep-class.html class for repeated analysis of dispersion data]. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Updated the release checklist document, including adding a section about cross-linking. The cross-linking is important for search engine indexing.
* Created a simple script for printing out the names of all user functions.
* Added a script and log file for comparing relax user function differences between versions.
* Created a document for relax users which follows the changes to the user function names.
* For the [http://www.nmr-relax.com/manual/spin_display.html spin.display user function], added the print out of spin ID and status for selection. This is to help with showing the spin ID string for selection, and the current status of selection. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* To the back-end of display pipes, added functionality to sort the pipe names before printing. Also added the return of the list of pipes, with its associated information about pipe type, and pipe_bundle. This is to help with getting a better overview for multiple pipes in data store. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Parsed the force flag from front end of [http://www.nmr-relax.com/manual/value_set.html value.set] to back end. [https://gna.org/bugs/?22598 Bug #22598]. Back end of [http://www.nmr-relax.com/manual/value_set.html value.set] does not respect force=False flag.
* Broke optimisation function into smaller functions. This is to help selecting spins, do particular grid search and minimise. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Modified system test to follow the new functions in the auto analysis. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Shifted the user function listing script into the test suite directory where the results are.
* Created a script for printing out relax 1.3 user functions.
* Shifted the Release_Checklist document into docs/devel/ to hide it from users.
* Correction for the [http://www.nmr-relax.com/manual/noe_read.html noe.read] to [http://www.nmr-relax.com/manual/spectrum_read_intensities.html spectrum.read_intensities user function] change. This is for the [http://www.nmr-relax.com/api/3.3/user_functions-module.html#uf_translation_table translation table used to catch old user function calls].
* Initial try to implement plotting in the repeated auto analysis protocol. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Small improvement of the matplotlib plotting of data in the repeated analysis protocol. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Fix for calling correct folder with test intensities. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* For the [http://www.nmr-relax.com/api/3.3/auto_analyses.relax_disp_repeat_cpmg.Relax_disp_rep-class.html class of repeated analysis], implemented method to collect peak intensity, and function to plot the correlation. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Added [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_repeat_cpmg system test Relax_disp.test_repeat_cpmg] to be skipped, if no matplotlib module exists. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Added the Gimp XCF file for the logo of the [http://wiki.nmr-relax.com relax wiki].
* Added [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_fit.Relax_fit-class.html#test_curve_fitting_height_estimate_error system test Relax_fit.test_curve_fitting_height_estimate_error()] for the manual and automated analysis of exponential fit. This is to prepare for new methods in the auto analysis protocol.
* Fix for the [http://www.nmr-relax.com/api/3.3/pipe_control.error_analysis-module.html#covariance_matrix pipe_control.error_analysis.covariance_matrix() function]. The [http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html#set_error set_error() API method] is parameter specific, so a loop over the parameters using the [http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html#get_param_names get_param_names() API method] has been added.
* Removed the estimate_rx_err module from the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_fit-module.html specific_analyses.relax_fit.__all__ list]. This module was deleted after merger into the api module.
* Improved the plotting of correlation plot for intensity. Now the intensity to error is plotted, which is the correct measure of this data. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Implemented a correlation plot for R<sub>eff</sub><sup>2</sup> values to be plotted for different pipes. This has the R<sub>eff</sub><sup>2</sup>/&sigma;<sub>R<sub>eff</sub><sup>2</sup></sub> plotted, which is the best way to represent this data. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Further improved the plotting of data in repeated analysis. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Added the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_show_apod_rmsd_dir_to_files Relax_disp.test_show_apod_rmsd_dir_to_files system test] to the blacklist. This is if the showApod program is not installed on the machine and allows the test suite to pass.
* Extended the printout for the skipped tests in the test suite. As tests using the NMRPipe showApod software are skipped and listed in this table, the text now includes 'software' in the list.
* Shifted the checks for the [[Dasha ]] and [[Modelfree4 ]] software into the system test __init__() method. This is to bring this into the same design as the relaxation dispersion tests which require the NMRPipe showApod software. Now the test suite will list either [[Dasha ]] or [[Modelfree4 ]] in the skipped test table if they are not installed.* Adding another statistic method to plot for multi-data sets. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* More adding of matplotlib snippets for plotting intermediate data. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Changing the range of plotting for statistics. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* More changes to plotting for statistics. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Fix for axis limits when plotting stats. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Fix for globing, to prevent incidentally taking wrong intensity file. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Correction to figure limits. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Implemented writing out of statistics to file. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Adding writing out of PNG files from matplotlib, when looking at statistics. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Another math domain checking, if ref intensity is set to 0.0, then points are skipped, rather than raising an Error. This can happen for extremely bad dispersion data. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Trying implementing flexibility, when data expected data is missing. This can be due failing of processing data, where a whole run of data is randomly skipped. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Better check for math domain error in intensity proportionality. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Removal of initialised of dictionary, before data existence have been checked. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Small fix for correct check of missing of data. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Imported the Numdifftools 0.6.0 package into the relax source tree. This package is extremely useful for testing the implementation of gradients, Hessians, and Jacobians for all relax target functions. The numerical values from numdifftools can be compared to the directly calculated values. And for analysis types where the partial derivatives with respect to each model parameter are too complicated to calculated, or the derivatives are very complicated and hence slow, numdifftools can be used to provide a numerical estimate for direct use in the optimisation. The Numdifftools package is from https://pypi.python.org/pypi/Numdifftools and https://code.google.com/p/numdifftools/. The current version 0.6.0 has been placed into extern/numdifftools. This is only the numdifftools package within the official distribution files and the Python package setup.py file and associated files and directories have not been included. The package uses the New BSD licence (the revised licence with no advertising clause) which is compatible with the GPL v3 licence.
* Reordered functions in repeated analysis protocol. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Added more check of methods to the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_repeat_cpmg system test Relax_disp.test_repeat_cpmg()]. This actually shows, that [http://www.nmr-relax.com/manual/relax_disp_r20_from_min_r2eff.html user function relax_disp.r20_from_min_r2eff] maybe is broken. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Fix for the testing of method is finished when called. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Turned on minimisation in [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_repeat_cpmg system test Relax_disp.test_repeat_cpmg()]. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* The [http://www.nmr-relax.com/api/3.3/lib.spectrum.nmrpipe-module.html lib.spectrum.nmrpipe module] has been made independent of the relax source code. This was discussed at http://thread.gmane.org/gmane.science.nmr.relax.scm/23357/focus=7103. The change allows the software verification tests pass. The [http://www.nmr-relax.com/api/3.3/dep_check-module.html dep_check module] cannot be used in the [http://www.nmr-relax.com/api/3.3/lib-module.html relax lib package]. Only modules from within lib are allowed to be imported into [http://www.nmr-relax.com/api/3.3/lib-module.html modules of lib]. The fix now allows the full test suite to pass and hence new relax releases are once again possible.
* Created a document which explains how missing copyrights can be found.
* Updated the find_missing_copyrights document. The matching is now more precise and skips all svnmerge operations.
* Added the 2014 copyright notice for Troels Linnet to many relax source files. These were identified as being edited by Troels using the command listed in the find_missing_copyrights document. The changes include adding "Copyright 2014 Troels E. Linnet" to many files not containing Troels' copyright notice, and extending the 2013 copyright to 2014.
* Implemented correlation plot of minimisation values. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Changed the missing package/module/software table in the test suite. This is to allow all names to fit and to update the column titles for software packages.
* Decreased the accuracy of a check in the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_estimate_r2eff_err_auto Relax_disp.test_estimate_r2eff_err_auto system test]. This is to allow the test to pass on my Windows 7 VM.
* Created a basic text based progress meter in the new [http://www.nmr-relax.com/api/3.3/lib.text.progress-module.html lib.text.progress module]. This is taken from the script test_suite/shared_data/frame_order/cam/generate_base.py.
* Modifications to the [http://www.nmr-relax.com/api/3.3/test_suite.gui_tests.test_user_functions.User_functions-class.html#test_structure_add_atom User_functions.test_structure_add_atom GUI test]. As lists of lists are now accepted by the [http://www.nmr-relax.com/manual/structure_add_atom.html structure.add_atom user function], the operation in the GUI is now significantly different. Therefore many checks have been removed from the GUI test.
* Updated the minimum minfx dependency version number from 1.0.9 to 1.0.11 in the [http://www.nmr-relax.com/api/3.3/dep_check-module.html dep_check module]. This [https://{{gna.org/forum/forum.php?forum_idlink|url=2477 newest version handles infinite target function values preventing optimisation from continuing forever]. The [https://{{gna link|url=gna.org/forum/forum.php?forum_id=2475 |text=1.0.10 version is also useful as there is full support for gradients and Hessians in the log-barrier constraint algorithm]}}.
* Shifted the [http://www.nmr-relax.com/api/3.2/specific_analyses.relax_disp.variables-module.html specific_analyses.relax_disp.variables module] into [http://www.nmr-relax.com/api/3.3/lib.dispersion.variables-module.html lib.dispersion]. This is both to minimise circular dependencies, as previously the [http://www.nmr-relax.com/api/3.3/specific_analyses.relax_disp-module.html specific_analyses.relax_disp modules] import from [http://www.nmr-relax.com/api/3.2/target_functions.relax_disp-module.html target_functions.relax_disp] and vice-versa, and to allow the relax library functions to have access to these variables. This follows from a similar change to the frame order analysis in the frame_order_cleanup branch.
* Dependency fix for the [http://www.nmr-relax.com/api/3.3/auto_analyses.relax_disp_repeat_cpmg-module.html auto_analyses.relax_disp_repeat_cpmg module]. This was causing relax to fail. SciPy is an optional dependence for relax, but this module caused relax to not start if scipy was not installed. This was detected by testing relax with PyPy.
* Implemented writing out of particular correlation plots to file. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Created a special internal structural object selection object. This will be used for massively speeding up the internal structural object. The use of the [http://www.nmr-relax.com/api/3.3/lib.selection-module.html lib.selection module] by the internal structural object is currently very slow as a huge number of calls to re.search() are required. The idea is to avoid this by using [http://www.nmr-relax.com/api/3.3/lib.selection-module.html lib.selection] once to populate this new selection object, and then reusing this object to loop over molecules and atoms.
* Added the [http://www.nmr-relax.com/api/3.3/lib.structure.internal.object.Internal-class.html#selection selection() method to the internal structural object]. This parses the atom ID string using the [http://www.nmr-relax.com/api/3.3/lib.selection-module.html lib.selection module], loops over the molecules and atoms, performs matches using re.search() via [http://www.nmr-relax.com/api/3.3/lib.selection-module.html lib.selection], and populates and returns the new [http://www.nmr-relax.com/api/3.3/lib.structure.internal.selection.Internal_selection-class.html Internal_selection object]. This can be used to pre-process the atom ID string to save huge amounts of time.
* Created the [http://www.nmr-relax.com/api/3.3/lib.structure.internal.selection.Internal_selection-class.html#mol_loop structural object Internal_selection.mol_loop() method]. This is to simply quickly loop over all molecule indices of the selection object.
* Converted all structural object methods to use the selection object rather that atom ID strings. This should have a significant impact on the speed of certain operations within relax. The most obvious effect will be a huge speed up of the [http://www.nmr-relax.com/manual/interatom_define.html interatom.define user function]. There should be speed ups with a number of other user functions relating to structural information. All parts of relax have been updated for the change.
* Implemented the sampling sparseness instead of NI on the graph axis. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Massive speed up of the [http://www.nmr-relax.com/api/3.3/lib.structure.internal.object.Internal-class.html#add_model internal structural object add_model() method]. This speeds up the [http://www.nmr-relax.com/manual/structure_add_model.html structure.add_model user function], as well as many internal relax operations on the structural object. Instead of using the copy.deepcopy() function to duplicate an already existing structural model, now new molecule container objects are created and then the individual elements of the original molecule container data lists are copied one by one. This avoids copying a lot of internal Python junk and hence the copying operation is now orders of magnitude faster.
* Created the new --no-skip relax command line option. This is a debugging option specifically designed for relax developers. It allows all blacklisted tests to be executed, i.e. all blacklists are ignored. These tests would normally be skipped, however this option enables them.
* Changed the design of the Check object in [http://www.nmr-relax.com/api/3.3/lib.checks-module.html lib.checks]. The design of the checking function to call has been modified - it should now return either None if the check passes or an instantiated RelaxError object if not. This is then used to determine if the __call__() method should return True (when None is received). Otherwise if escalate is set to 1, the text from the RelaxError object is sent into a RelaxWarning and False is returned. And if escalate is set to 2, then the error object is simply raised.
* Updated the pipe_control.spectrometer.check_*_func() functions to use the new design.
* Implemented the writing out of parameter values between comparison of NI level. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Fixes for the [http://www.nmr-relax.com/api/3.3/lib.checks.Check-class.html lib.checks.Check object]. The __call__() method keyword arguments **kargs needs to be processed inside the method to strip out the escalate argument.
* The default value of the escalate argument of the Check.__call__() method is now 2. This will cause the calls to the check_*() function/objects to default to raising RelaxErrors.
* The data pipe testing function has been converted to the strategy design pattern of the Check object. The function [http://www.nmr-relax.com/api/3.3/pipe_control.pipes-module.html#check_type pipe_control.pipes.test() has also been renamed to check_pipe()].
* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.bmrb.Bmrb-class.html#test_bug_22704_corrupted_state_file Bmrb.test_bug_22704_corrupted_state_file system test]. This is to catch [https://gna.org/bugs/?22704 bug #22704, the corrupted relax state files after setting the relax references via the bmrb.software, bmrb.display, or bmrb.write user functions].
* Implemented getting the statistics for parameters and comparing to init NI. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Implemented writing and plotting of statistics for individual and clustered fitting, comparing to full NI. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Added checks to the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.bmrb.Bmrb-class.html#test_bug_22704_corrupted_state_file Bmrb.test_bug_22704_corrupted_state_file system test]. This is to see if the cdp.exp_info data structure has been correctly restored from the save file.
* Uncommented some checks in the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.bmrb.Bmrb-class.html#test_bug_22704_corrupted_state_file Bmrb.test_bug_22704_corrupted_state_file system test].
* For relaxation dispersion, modified that the grid search and linear constraints for parameter k<sub>AB</sub> is between 0-100. The parameter is only used in the [[TSMFK01]] model. The k<sub>AB</sub> parameter is only for very slow forward exchange rate. The expected values should according to the reference paper: [Tollinger, Met al., Skrynnikov, N. R., Mulder, F. A. A., Forman-Kay, J. D., and Kay, L. E. (2001)]. Slow dynamics in folded and unfolded states of an sh3 domain. J. Am. Chem. Soc., 123(46), 11341-11352. (10.1021/ja011300z) The paper concerns values of k<sub>AB</sub> in the region 0.1 to 5.0. If the exchange rate is any higher value of this, then another model should be used for the analysis.* Set the default insignificance value to 0.0 instead of 1.0. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Modified the grid search limits for parameter k<sub>AB</sub> to be between 0.1 and 20.0 rad.s<sup>-1</sup>. This is for the [[TSMFK01]] model, where values much above 10/20 is not expected.
* Implemented counting of outliers for statistics. This is to get a better feeling why some statistics are very much different between NI. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_mean Structure.test_mean system test]. This is to test the functionality of a planned new feature, the [http://www.nmr-relax.com/manual/structure_mean.html structure.mean user function]. This is an analysis aid that will calculate the mean structure from all loaded models.
* Implemented the [http://www.nmr-relax.com/manual/structure_mean.html structure.mean user function] frontend. The backend is currently just a stub function.
* Modified the [http://www.nmr-relax.com/api/3.3/lib.arg_check-module.html#is_str_or_inst lib.arg_check.is_str_or_inst() function] to handle cStringIO objects. This allows sys.stdout to be used as a file object in the relax test suite.
* Modified the [http://www.nmr-relax.com/api/3.3/lib.arg_check-module.html#is_str_or_inst lib.arg_check.is_str_or_inst() function] to work with Python 3. Instead of checking for cStringIO.OutputType, which does not exist in Python 3, the argument is simply checked to see if it has a write() method.
* Print out of the number of all R<sub>eff</sub><sup>2</sup> points, if they are different between analysis. This can become an issue if a single intensity point has slipped into noise, due to low quality of spectrum reconstruction. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Implemented statistics for R<sub>eff</sub><sup>2</sup> values. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Added data checks and printouts to the [http://www.nmr-relax.com/manual/structure_align.html structure.align user function]. The data checks are to prevent the user from attempting an alignment with differently named molecules, as this will not work.
* Implemented writing out intensity and error correlations plot. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Implemented writing out of intensity statistics. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Expanded the [http://www.nmr-relax.com/manual/structure_com.html structure.com user function] to accept the atom_id argument. This allows the centre of mass (CoM) calculation to be restricted to a certain subset of atoms. The backend already had support for this feature, but now it is exposed in the frontend. The user function docstring has been slightly modified as well.
* Skipping of intensity calculation, if the intensity pipe does not exists. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.* Added example CPMG data, which could possibly be sent for BMRB submission. The data is un-published CPMG data, related to the paper: Webb H, Tynan-Connolly BM, Lee GM, Farrell D, O'Meara F, Soendergaard CR, Teilum K, Hewage C, McIntosh LP, Nielsen JE (2011). Remeasuring HEWL pK(a) values by NMR spectroscopy: methods, analysis, accuracy, and implications for theoretical pK(a) calculations. Proteins: Struct., Funct., Bioinf. 79(3), 685-702, DOI 10.1002/prot.22886. [https://{{gna.org/task/?link|7858 |text=Task #7858: Make it possible to submit CPMG experiments for BMRB]}}.* Added system test Relax_disp.test_bmrb_sub_cpmg() to try calling the bmrb functions in relax. [https://{{gna.org/task/?link|7858 |text=Task #7858: Make it possible to submit CPMG experiments for BMRB]}}.* Implemented the initial part of the API, to collect data for BMRB submission. [https://{{gna.org/task/?link|7858 |text=Task #7858: Make it possible to submit CPMG experiments for BMRB]}}.* Inserted a "RelaxImplementError" when trying to call bmrb_write from a relaxation dispersion analysis. To implement the function, it would require a re-write of the relax_data bmrb_write(star) function, and proper handling of cdp.ri_ids. It was also not readily possible to find examples of submitted CPMG data in the BMRB database. This makes it hard to develop, and even ensure that BMRB would accept the format. [https://{{gna.org/task/?link|7858 |text=Task #7858: Make it possible to submit CPMG experiments for BMRB]}}.* Removed the system test Relax_disp.test_bmrb_sub_cpmg() to be tested in the test-suite. This test will not be implemented, as it requires a large re-write of data structures. [https://{{gna.org/task/?link|7858 |text=Task #7858: Make it possible to submit CPMG experiments for BMRB]}}.* Removed the showing of Matplotlib figures in the test suite. [https://{{gna.org/task/?link|7826 |text=Task #7826: Write a Python class for the repeated analysis of dispersion data]}}.
* Implemented [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_dx_map_clustered system test Relax_disp.test_dx_map_clustered] to catch the missing creation of a point file. [https://gna.org/bugs/?22753 Bug #22753: dx.map does not work when only 1 point is used].
* Inserted a check in [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_dx_map_clustered system test Relax_disp.test_dx_map_clustered], that a call to [http://www.nmr-relax.com/manual/minimise.calculate.html minimise.calculate] should be the same as the file stored with the clustered &chi;<sup>2</sup> value. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
<section end=changes/>
 === Bugfixes ===
<section begin=bugfixes/>
<section end=bugfixes/>
== Links ==
<section begin=links/>
For reference, the announcement for this release can also be found at following links:
* [http://wiki.nmr-relax.com/Relax_3.3.1 Official relax release notes on the relax wiki].* [https://{{gna link|url=gna.org/forum/forum.php?forum_id=2478 |text=Gna! news item]}}.
* [http://article.gmane.org/gmane.science.nmr.relax.announce/59 Gmane mailing list archive].
* [http://www.mail-archive.com/relax-announce%40gna.org/msg00050.html The Mail Archive].
<section end=links/>
== Announcements ==
{{:relax release announcements}}
== References == * [*Tollinger et al., 2001] {{#lst:Citations|Tollinger01}}<HarvardReferences />  == See also ==
* [http://www.nmr-relax.com/api/3.3/ The relax 3.3 API documentation]
{{:relax release see also}}
[[Category:Relaxation dispersion analysis]]
Trusted, Bureaucrats
4,223

edits