Open main menu

Changes

Relax 3.3.1

294 bytes added, 13:00, 9 October 2014
Formatting of all symbols/parameters.
* 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 Structure.test_delete_model system test. Now a number of structural model loading and deletion scenarios are tested.
* Implemented back-end function to estimate Rx R<sub>x</sub> and I0 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 Rx R<sub>x</sub> and I0 I<sub>0</sub> errors from the Jacobian Co-variance matrix.
* Extended 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 pipe_control.monte_carlo module to 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_*()'.
* Removed the estimate_rx_err module from the 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/?7826 Task #7826: Write a Python class for the repeated analysis of dispersion data].
* Implemented a correlation plot for R2eff R<sub>eff</sub><sup>2</sup> values to be plotted for different pipes. This has the R2effR<sub>eff</sub><sup>2</sup>/&sigma;<sub>R<sub>eff</sub><sup>2</sup></R2eff_err 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 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.
* Added checks to the 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 Bmrb.test_bug_22704_corrupted_state_file system test.
* For relaxation dispersion, modified that the Grid search and linear constraints for parameter "k_AB" k<sub>AB</sub> is between 0-100. The parameter is only used in the TSMFK01 model. The "k_AB" 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_AB 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_AB" 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 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.
* Modified the lib.arg_check.is_str_or_inst() to handle cStringIO objects. This allows sys.stdout to be used as a file object in the relax test suite.
* Modified the 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 R2eff 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/?7826 Task #7826: Write a Python class for the repeated analysis of dispersion data].* Implemented statistics for R2eff R<sub>eff</sub><sup>2</sup> values. [https://gna.org/task/?7826 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/?7826 Task #7826: Write a Python class for the repeated analysis of dispersion data].
* 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 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 chi2 &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 calling back_calc_r2eff with the new argument keywords, and use list of spin and spin IDs. [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 synthetic script calling back_calc_r2eff() with old arguments and to use list of spin containers and IDs. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Inserted last test in test_dx_map_clustered, to check out the written chi2 &chi;<sup>2</sup> values are as expected. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Moved the looping over cluster spin IDs into its own function in the API. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Added the selection string for all the cluster IDs to be parsed back as well. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* 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].
* Added some test PyMOL scripts to create OpenDX maps and chi2 &chi;<sup>2</sup> surface plots. These will go to the wiki: http://wiki.nmr-relax.com/Chi2_surface_plot.
* Big improvement for running the relax unit tests via the relax command line options. The unit test module path is now accepted as a command line option. This brings more capabilities of Gary Thompson's test_suite/unit_tests/unit_test_runner.py script into the relax command line. The _pipe_control/test_value unit test module path can be specified as, for example, one of 'test_suite.unit_tests._pipe_control.test_value', 'test_suite/unit_tests/_pipe_control/test_value', '_pipe_control.test_value', '_pipe_control/test_value'. This allows individual modules of tests to be run, rather than having to execute all unit tests, which is very useful for debugging.
* Modified the printouts for the unit tests when running with the --time command line option. The test name is now being processed. The leading 'test_suite.unit_tests.' text is now stripped out. And the remaining text is split into the module name and the test name. This is to allow the unit test module name to be more easily identifiable, so it can then be used as a command line option to allow only a subset of tests to be performed.
* Fix for the Test_value.test_value_set_r1_rit test of the _pipe_control.test_value unit test module. This is a general fix for all unit test modules which use the test_suite.unit_tests.value_testing_base.Value_testing_base base class. After the molecules, residues and spins are manually created, the pipe_control.mol_res_spin.metadata_update() function is called to make sure that all of the private and volatile metadata have been correctly created, so that the other pipe_control.mol_res_spin module functions can operate correctly.
* Removal of repetitive code in the relaxation dispersion model_loop() API method. The spin loop does not need to be called twice, instead the if statements have been modified to better direct the code execution.
* Added script to simulate dispersion profiles at different settings. This shows that something is wrong. The back-calculated values in the graphs are not equal to the interpolated values. There must be something wrong somewhere. This list shows the chi2 &chi;<sup>2</sup> values and, judging from the dispersion graphs, this simply cannot be true.
* Changed bounds for sample scripts to create: 3D iso-surface plot, surface plot and simulation of dispersion curves.
* Minor changes to Python matplotlib script, to produce surface plot. Also added the new data for the plotting.
* Fix for writing out point files, when only one point is used. The code was testing for > 1 points to be present, before writing out point files. [https://gna.org/bugs/?22753 Bug #22753: dx.map does not work when only 1 point is used].
* Fix for [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]. The numpy.complex64 32-bit types have been replaced by numpy.complex128 in the lib.dispersion.ns_mmq_2site module.
* Critical fix for k_AB k<sub>AB</sub> not belonging to list of global parameters. k_AB k<sub>AB</sub> was only changed to the spin of interest, but not for the rest of the cluster. When the parameter vector is assembled, "assemble_param_vector(spins=spins)" it takes the global parameter from spin 0. [https://gna.org/bugs/?22754 Bug #22754: The minimise.calculate user function does not calculate &chi;<sup>2</sup> value for clustered residues].
* Improvements for PDB creation in the relax library for out of bounds structural coordinates. The lib.structure.pdb_write module atom() and hetatm() functions will now more gracefully handle atomic coordinates which are outside of the PDB limits of [-999.999, 9999.999]. When such coordinates are encountered, instead of producing a too long PDB line which does not pass the validation step, the functions will set the coordinates to the boundary value. This will at least allow a valid PDB file to be created, despite the warping of the coordinates.
* Expanded the list of global dispersion parameters in the set_param_values() API method. This is a quick expansion of Troels' fix for the k_AB k<sub>AB</sub> parameter to allow for the release of [[relax 3.3.1]]. This is a small part of the discussion at http://thread.gmane.org/gmane.science.nmr.relax.scm/23948/focus=7188.
<section end=bugfixes/>
Trusted, Bureaucrats
4,223

edits