Open main menu

Changes

Relax 3.3.1

3,548 bytes added, 14:10, 9 October 2014
More API documentation links.
<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 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 relax wiki (http://wiki.nmr-relax.com), and then how that text and the CHANGES file are used for the email announcement (http://news.gmane.org/gmane.science.nmr.relax.announce) and the Gna! news item (https://gna.org/news/?group=relax).
* Modified the announcement section of the release checklist document. Text about removing wiki markup has been added.
* More expansion of the release checklist document. Added text about creating internal and external links for the wiki release notes.
* Modified systemtest [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_show_apod_extract system test Relax_disp.test_show_apod_extract ] that test output from showApod. The output can be different according to NMRPipe version. The 'Noise Std Dev' is though the same.
* Fix for comments to dependency check of showApod.
* Fix for raising error when calling showApod, and subprocess module not available.
* Fix for the dependency check for showApod in systemtestssystem 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/?7826 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/?7826 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/?7826 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/?7826 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/?7826 Task #7826: Write a Python class for the repeated analysis of dispersion data].
* Added the Gimp XCF file for the logo of the relax wiki (http://wiki.nmr-relax.com).
* 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.
* In the auto analysis of exponential fitting, changed the minimisation method from simplex to Newton, to speed-up the fitting. This is for master Monte Carlo simulations.
* In the [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()], moved the auto-detection of replicated spectra into the manual method. This is to prepare for auto-mated detection of replicates.
* Implemented a method to automatically find duplicates of spectrum in exponential fit. This is to ease the user intervention for error analysis, if this has been forgotten.
* Implemented the writing out of a "grace2images.py" script file, when performing auto analysis of exponential fits.
* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_delete_model Structure.test_delete_model system test]. This is in preparation for extending the [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function] to be able to delete individual structural models. The test will only pass once this functionality is in place.
* Expanded the wiki instructions in the release checklist document. This includes a number of steps for significantly improving the release notes: External links to the Gna! trackers with full descriptions, external links to the HTML user manual for all user functions, internal links to release notes of other relax versions, internal links to wiki pages for all models from all theories, and HTML formatting of all symbols/parameters/etc.
* Introduction of the model argument to the [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function]. This argument is passed all the way into the internal structural object, but is not used yet.
* The model argument in the [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function] is now operational. In the internal object, it has two functions. When the atom_id argument is none, then new ModelList.delete_model() function is being called to remove the entire model from the list of structural models. When the atom_id argument is supplied, then only the corresponding atoms in the given model will be deleted.
* Expanded the checking in the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_delete_model Structure.test_delete_model system test]. Now a number of structural model loading and deletion scenarios are tested.
* Implemented back-end function to estimate R<sub>x</sub> and I<sub>0</sub> errors from Jacobian matrix. This is to prepare for user function in relax_fit, to estimate errors.
* Implemented [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html user function relax_fit.rx_err_estimate] in relax_fit to estimate R<sub>x</sub> and I<sub>0</sub> errors from the Jacobian Co-variance matrix.
* Extended [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() ] to test the error estimation method from the Co-variance matrix. The results seems very similar, if increasing to 2000 Monte Carlo simulations.
* Renamed the [http://www.nmr-relax.com/api/3.2/pipe_control.monte_carlo-module.html pipe_control.monte_carlo module] to [http://www.nmr-relax.com/api/3.3/pipe_control.error_analysis-module.html pipe_control.error_analysis]. This is in preparation for the module to handle all error analysis techniques: Monte Carlo simulations, covariance matrix, Jackknife simulations, Bootstrapping (which is currently via the Monte Carlo functions), etc. All current functions are now prepended with 'monte_carlo_*()'.
* Fix for the old relax 1.2 model-free results file reading. This is due to the [http://www.nmr-relax.com/api/3.2/pipe_control.monte_carlo-module.html pipe_control.monte_carlo] to [http://www.nmr-relax.com/api/3.3/pipe_control.error_analysis-module.html pipe_control.error_analysis] module renaming.
* Implemented the [http://www.nmr-relax.com/api/3.3/pipe_control.error_analysis-module.html#covariance_matrix pipe_control.error_analysis.covariance_matrix() function]. This follows from http://thread.gmane.org/gmane.science.nmr.relax.scm/23526/focus=7096. It will be used by a new [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html error_analysis.covariance_matrix user function]. And it calls the specific API methods model_loop(), covariance_matrix(), and set_error() and the relax library [http://www.nmr-relax.com/api/3.3/lib.statistics-module.html#multifit_covar lib.statistics.multifit_covar() function] do to most of the work.
* Modified the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_fit.Relax_fit-class.html#test_curve_fitting_height_estimate_error Relax_fit.test_curve_fitting_height_estimate_error system test]. The call to relax_fit.rx_err_estimate has been replaced by the yet-to-be implemented [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html error_analysis.covariance_matrix user function].
* Creation of the [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html error_analysis.covariance_matrix user function]. This is simply a code rearrangement. The relax_fit user function module was duplicated and [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html relax_fit.rx_err_estimate] renamed to [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html error_analysis.covariance_matrix]. References to the specific analysis have been removed.
* Created the [http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html#covariance_matrix specific analysis base API method covariance_matrix()]. This defines the arguments required and what is returned by the method. It raises the RelaxImplementError for all analyses which do not implement this method.
* 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/?7826 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/?7826 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.
* 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/?7826 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/?7826 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/?7826 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/?7826 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.
* Implemented correlation plot of minimisation values. [https://gna.org/task/?7826 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.
* Added Troels E. Linnet to the COMMITTERS file, which has not been updated in almost 3 years.
* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_get_model Structure.test_get_model system test]. This demonstrates that the internal structural object get_model() method is not working as it should.* Added a few more checks to the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_get_model Structure.test_get_model system test].
* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_collapse_ensemble Structure.test_collapse_ensemble system test]. This is used to test a planned feature of the internal structural object. The [http://www.nmr-relax.com/api/3.3/lib.structure.internal.object.Internal-class.html#collapse_ensemble collapse_ensemble() method] will be created to remove all but one model in the structural ensemble.
* Modified the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_collapse_ensemble Structure.test_collapse_ensemble system test ] to check the initial values. This is for sanity reasons as the test coverage of the [http://www.nmr-relax.com/manual/structure_add_atom.html structure.add_atom user function] is poor.
* Implemented the [http://www.nmr-relax.com/api/3.3/lib.structure.internal.object.Internal-class.html#collapse_ensemble internal structural object collapse_ensemble() method]. This allows the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_collapse_ensemble Structure.test_collapse_ensemble system test] to pass.
* 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.
* 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.
* Fix for the test suite summary printout function for the new --no-skip option. The relax status object was clashing with a variable of the same name.
* Reactivated the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.relax_disp.Relax_disp-class.html#test_m61b_data_to_m61b Relax_disp.test_m61b_data_to_m61b system test], but blacklisted it. This will allow the test to be executed if the --no-skip command line option is used.* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.bmrb.Bmrb-class.html#test_bug_22703_display_empty Bmrb.test_bug_22703_display_empty system and GUI test]. This system test catches [https://gna.org/bugs/?22703 bug #22703, the failure of the [http://www.nmr-relax.com/manual/bmrb_display.html bmrb.display user function] with an AttributeError when no data is present]. It is simultaneously a system and GUI test, as the GUI test class inherits directly from the system test class.
* Created the [http://www.nmr-relax.com/api/3.3/pipe_control.spectrometer-module.html#check_spectrometer_setup_func pipe_control.spectrometer.check_setup() function]. This follows the design on the wiki page http://wiki.nmr-relax.com/Relax_source_design. This is for checking if spectrometer information has been set up.
* Created the [http://www.nmr-relax.com/api/3.3/lib.warnings.RelaxNoFrqWarning-class.html RelaxNoFrqWarning warning class for warning that no spectrometer information is present].
* Changed the behaviour of the [http://www.nmr-relax.com/api/3.3/lib.checks.Check-class.html lib.checks.Check object] again. This time the registered function is stored rather than converted into a class instance method. That way the check_*() function-like objects do not need to accept the unused 'self' argument.
* 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/?7826 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/?7826 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, M., 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/?7826 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/?7826 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.
* Fixes and simplifications for the [http://www.nmr-relax.com/api/3.3/pipe_control.pipes-module.html#check_type pipe_control.pipes.check_pipe() checking object]. One of the RelaxError classes were not initialised and the docstring was incorrect.
* Created the [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html#check_structure_func pipe_control.structure.main.check_structure() checking object]. This will be used for providing much more detailed feedback for when structural information is missing.
* Converted all of the [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html#check_structure_func pipe_control.structure.main functions to use the check_structure() object]. This standardises and improves all of the checks.
* Some fixes and additional checks for the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_mean Structure.test_mean system test].
* Implemented the backend of the [http://www.nmr-relax.com/manual/structure_mean.html structure.mean user function]. This primarily occurs within the internal structural object in the new mean() method. The [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html#mean pipe_control.structure.main.mean() function] simply checks if the current data pipe is correctly set up and then calls the structural object mean() method.
* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_align Structure.test_align system test]. This will be used to test the yet to be implemented [http://www.nmr-relax.com/manual/structure_align.html structure.align user function]. This user function will be similar to the [http://www.nmr-relax.com/manual/structure_superimpose.html structure.superimpose user function] but will be designed so that structures with different primary and atomic sequences can be superimposed.
* Created the frontend of the [http://www.nmr-relax.com/manual/structure_align.html structure.align user function]. This is almost the same as that of the [http://www.nmr-relax.com/manual/structure_superimpose.html structure.superimpose user function] except that the pipes argument has been added and the titles and description changed to indicate the differences.
* Registered the new user function argument type 'int_list_of_lists' in the prompt UI. This is to allow for lists of lists of integers, as used for the model argument in the new [http://www.nmr-relax.com/manual/structure_align.html structure.align user function].
* Modified the [http://www.nmr-relax.com/api/3.3/lib.arg_check-module.html#is_int_list lib.arg_check.is_int_list() function] to accept the list_of_lists Boolean argument. This updates the function to have the same functionality as is_str_list(), allows for lists of lists of int to be checked.
* Extended the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_align Structure.test_align system test ] to throughly check the structural data. This includes changing the [http://www.nmr-relax.com/manual/structure_align.html structure.align user function] call to use 'fit to first' and carefully checking the new atomic coordinates.* Modified the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_align Structure.test_align system test ] so that translations and rotations match the algorithm. This allows the output of the [http://www.nmr-relax.com/manual/structure_align.html structure.align user function] to be checked to see if the rotation matrix and translation vector found match that used to shift the original structures.
* Implemented the [http://www.nmr-relax.com/manual/structure_align.html structure.align user function] backend. This is similar to the [http://www.nmr-relax.com/manual/structure_superimpose.html structure.superimpose user function], however the coordinate data structure only contains atoms which are in common to all structures.
* The [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html pipe_control.structure.main] functions [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html#translate translate()] and [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html#rotate rotate()] now accept the pipe_name argument. This is used to translate and rotate structures in different data pipes, as required by the [http://www.nmr-relax.com/manual/structure_align.html structure.align user function].
* The [http://www.nmr-relax.com/api/3.3/pipe_control.structure.main-module.html#check_structure_func pipe_control.structure.main.check_structure() checking object] now accepts the pipe_name argument. This allows structural data to be checked for in different data pipes without having to switch to them.
* Modified the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_align Structure.test_align system test ] to call the [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function]. This sets the file name to sys.stdout so that the original structure and the final aligned structures are output to STDOUT for debugging purposes.* Created the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_delete_atom Structure.test_delete_atom system test]. This is used to test the deletion of a single atom using the [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function].* Expanded the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_delete_atom Structure.test_delete_atom system test]. This is to show that the [http://www.nmr-relax.com/manual/structure_write_pdb.html structure.write_pdb user function] fails after a call to the [http://www.nmr-relax.com/manual/structure_delete.html structure.delete user function] to delete individual atoms.
* Fix for the new [http://www.nmr-relax.com/manual/structure_align.html structure.align user function]. The translation and rotation of the structures at the end to the aligned positions was being incorrectly performed.
* Loosened some checks in the [http://www.nmr-relax.com/api/3.3/test_suite.system_tests.structure.Structure-class.html#test_align Structure.test_align system test ] to allow it to pass. Some self.assertEqual() checks for the atomic coordinates have been replaced by self.assertAlmostEqual() to allow for small machine precision differences.
* 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.
* Removed the showing of Matplotlib figures in the test suite. [https://gna.org/task/?7826 Task #7826: Write a Python class for the repeated analysis of dispersion data].
* Implemented system test Relax_disp.test_dx_map_clustered to cath 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].
* Made initial preparation to loop over clustered spins and IDs for the minimise.calculate user function call. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Implemented looping over spin-clusters when issuing a minimise.calculate(). [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Fix for looping performed twice in relax_disp API model_loop(). [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Removed unused proton reference in relax_disp API calculate(). There is though some problems with these tests (F 1.93 s for Relax_disp.test_korzhnev_2005_15n_dq_data, F 2.01 s for Relax_disp.test_korzhnev_2005_1h_mq_data, F 1.93 s for Relax_disp.test_korzhnev_2005_1h_sq_data). It is unsure where these comes from. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Fix for epydoc 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].
* Updated all of the Relax_disp.test_korzhnev_2005_*_data system tests. These now have slightly changed parameter values due to the fix of [https://gna.org/bugs/?22563 bug #22563, the NS MMQ 2-site dispersion model running at 32-bit precision and not 64-bit as it should be].
* Epydoc change for DOI reference in system tests. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
Trusted, Bureaucrats
4,223

edits