Author: tlinnet Date: Wed Dec 3 20:45:38 2014 New Revision: 26944 URL: http://svn.gna.org/viewcvs/relax?rev=26944&view=rev Log: Merged revisions 26782,26791,26794-26795,26798,26810,26819-26870,26874-26876,26885,26901-26902,26907,26925 via svnmerge from svn+ssh://tlinnet@xxxxxxxxxxx/svn/relax/trunk ........ r26782 | bugman | 2014-11-27 15:16:48 +0100 (Thu, 27 Nov 2014) | 8 lines Modified the printouts from the structure.write_pdb user function if models are present. Instead of printing out 'MODEL', 'ATOM, HETATM, TER' and 'ENDMDL' for each model, the header 'MODEL records' is printed followed by a single '.' character for each model. For structures with many models, this results in a huge speed up of the user function which is strongly limited by how fast the terminal can display text. ........ r26791 | bugman | 2014-11-27 19:11:38 +0100 (Thu, 27 Nov 2014) | 11 lines Added the synthetic saturation-recovery data in the form of Sparky peak lists to the repository. These files were created by Andras Boeszoermenyi <Andras_Boeszoermenyi att hms dott harvard dot edu>. They are attached to the task at http://gna.org/task/?7415 as the Relax_sym.tar.gz file at http://gna.org/task/download.php?file_id=22989. They were created for the formula I0*(1 - exp(?\226?\136?\146R1*t)) where I0 = 1000000000000000.00 and R1 = 0.5. These files and the associated relax_sim.py script (which needs to be updated for the latest relax version) could form the basis of a basic system test. This system test could then be used to implement the saturation-recovery experiment equations in relax. ........ r26794 | bugman | 2014-11-27 21:48:08 +0100 (Thu, 27 Nov 2014) | 3 lines Updated the target_functions package __all__ list to include the relax_fit* modules. ........ r26795 | bugman | 2014-11-27 21:50:50 +0100 (Thu, 27 Nov 2014) | 3 lines Modified the package __all__ list checking unit test to accept *.so C modules. ........ r26798 | bugman | 2014-11-28 09:34:02 +0100 (Fri, 28 Nov 2014) | 9 lines Bug fix for the pymol.view user function for when no PDB file exists. The pymol.view user function would fail with an AttributeError when the currently loaded data does not exist as a PDB file. This is now caught and the non-existent PDB is no longer displayed. A better solution might be to dump all the current structural data into a temporary file and load that, all within a try-finally statement to be sure to delete the temporary file. This solution may not be what the user is interested in anyway. ........ r26810 | bugman | 2014-11-28 19:03:16 +0100 (Fri, 28 Nov 2014) | 3 lines Removal of an unused import in the relax_fit_zooming_grid.py system test script. ........ r26819 | bugman | 2014-11-29 09:44:49 +0100 (Sat, 29 Nov 2014) | 9 lines Added a system test script for testing the saturation-recovery R1 experiment. This was created by Andras Boeszoermenyi <Andras_Boeszoermenyi att hms dott harvard dot edu>. The file was taken from the saturation_recovery.tar.gaz file (https://gna.org/task/download.php?file_id=22997) are attached to the task at http://gna.org/task/?7415. The only difference with the original script is that the grace.view user function calls have been removed, as these cannot be used in a system test. ........ r26820 | bugman | 2014-11-29 09:48:13 +0100 (Sat, 29 Nov 2014) | 6 lines Added a copyright notice for Andras Boeszoermenyi for the newly added saturation-recovery R1 script. This change follows the discussion in the message http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369. ........ r26821 | bugman | 2014-11-29 09:55:57 +0100 (Sat, 29 Nov 2014) | 11 lines Modified the relax_fit_saturation_recovery.py script to work as a system test. This is the script from Andras Boeszoermenyi <Andras_Boeszoermenyi att hms dott harvard dot edu>. The change follows from the discussion of http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369. The status.install_path variable is now used to point to the location of the files. The relax data store ds.tmpdir variable is used for outputting all files. And commented out user functions have been deleted. ........ r26822 | bugman | 2014-11-29 09:56:49 +0100 (Sat, 29 Nov 2014) | 6 lines Reverted r26820 as this was incorrect. The command used was: svn merge -r26820:r26819 . ........ r26823 | bugman | 2014-11-29 09:59:17 +0100 (Sat, 29 Nov 2014) | 6 lines Added a copyright notice for Andras Boeszoermenyi for the newly added saturation-recovery R1 script. This change follows the discussion in the message http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369. ........ r26824 | bugman | 2014-11-29 10:03:27 +0100 (Sat, 29 Nov 2014) | 6 lines Created the Relax_fit.test_saturation_recovery system test. This follows from the discussion of http://thread.gmane.org/gmane.science.nmr.relax.devel/7308/focus=7369. ........ r26825 | bugman | 2014-11-29 10:10:56 +0100 (Sat, 29 Nov 2014) | 5 lines Added the saturation recovery experiment to the relax_fit.select_model user function. This simply adds a new option and sets up a different parameter set [Rx, Iinf]. ........ r26826 | bugman | 2014-11-29 10:12:15 +0100 (Sat, 29 Nov 2014) | 5 lines Modified the Relax_fit.test_saturation_recovery system test script. The relax_fit.select_model user function call now selects the 'sat' model. ........ r26827 | bugman | 2014-11-29 10:13:10 +0100 (Sat, 29 Nov 2014) | 3 lines Fix for the relax_fit.select_model user function backend for the 'sat' model. ........ r26828 | bugman | 2014-11-29 10:18:50 +0100 (Sat, 29 Nov 2014) | 6 lines The exponential model name is now being passed into the target function class. The model as specified by the relax_fit.select_model user function is now finally being sent into the target function, in this case the Relax_fit_opt class in target_functions.relax_fit_wrapper. ........ r26829 | bugman | 2014-11-29 10:23:52 +0100 (Sat, 29 Nov 2014) | 3 lines Small fix for the relax_fit.select_model user function. ........ r26830 | bugman | 2014-11-29 10:26:15 +0100 (Sat, 29 Nov 2014) | 8 lines Renamed all of the relaxation curve-fitting target functions. This includes all of the C functions which are model specific, by appending '_exp' to the current names to now be func_exp, dfunc_exp, d2func_exp, jacobian_exp, and jacobian_chi2_exp. And all of the Relax_fit_opt target function class *_wrapper() methods to *_exp(). The target function class is now only aliasing the *_exp() methods when the model is set to 'exp'. ........ r26831 | bugman | 2014-11-29 10:27:28 +0100 (Sat, 29 Nov 2014) | 3 lines Alphabetical ordering of the C function imports in the target_functions.relax_fit_wrapper module. ........ r26832 | bugman | 2014-11-29 11:14:31 +0100 (Sat, 29 Nov 2014) | 3 lines Modified the relax_fit.test_saturation_recovery system test to check for Iinf instead of I0. ........ r26833 | bugman | 2014-11-29 11:16:08 +0100 (Sat, 29 Nov 2014) | 6 lines Added support for the saturation recovery experiment to parameter disassembly function. This is in the disassemble_param_vector() function of the specific_analyses.relax_fit.parameters module. This function requires each experiment to be handled separately. ........ r26834 | bugman | 2014-11-29 11:24:15 +0100 (Sat, 29 Nov 2014) | 16 lines Implemented the target functions for the saturation recovery exponential curve. In the Python target function class Relax_fit_opt, the new func_sat(), dfunc_sat() and d2func_sat() methods have been created as wrappers for the new C functions. These are aliased to func(), dfunc() and d2func() in the __init__() method. In the target_functions/exponential.c C file, the functions exponential_sat(), exponential_sat_dIinf(), exponential_sat_dR(), exponential_sat_dIinf2(), exponential_sat_dR_dIinf() and exponential_sat_dR2() have been created to implement the function, gradient, and Hessian for the equation I = Iinf * (1 - exp(-R.t)). In the target_functions/relax_fit.c file, the functions func_sat(), dfunc_sat(), d2func_sat(), jacobian_sat() and jacobian_chi2_sat() have been created as duplications of the *_exp() functions, but pointing to the exponential_sat*() functions and using Iinf instead of I0. ........ r26835 | bugman | 2014-11-29 13:29:52 +0100 (Sat, 29 Nov 2014) | 3 lines Split the saturation recovery exponential equations and partial derivatives into their own C file. ........ r26836 | bugman | 2014-11-29 13:43:44 +0100 (Sat, 29 Nov 2014) | 3 lines Expansion and improvements for the relax_fit.select_model user function documentation and printouts. ........ r26837 | bugman | 2014-11-29 13:46:35 +0100 (Sat, 29 Nov 2014) | 5 lines The relax_fit.relax_time and relax_fit.select_model user functions now have wizard graphics. The R1 graphic from graphics/analyses/r1_200x200.png is now being used. ........ r26838 | bugman | 2014-11-29 13:49:48 +0100 (Sat, 29 Nov 2014) | 7 lines Added support for the inversion recovery experiment to parameter disassembly function. This matches the change of r26833 for the saturation recovery experiment. This is in the disassemble_param_vector() function of the specific_analyses.relax_fit.parameters module. This function requires each experiment to be handled separately. ........ r26839 | bugman | 2014-11-29 17:02:18 +0100 (Sat, 29 Nov 2014) | 5 lines Expanded the relax_fit_saturation_recovery.py system test script. This now calls the error_analysis.covariance_matrix user function to test that code path. ........ r26840 | bugman | 2014-11-29 17:04:00 +0100 (Sat, 29 Nov 2014) | 6 lines Updated the relaxation curve-fitting covariance_matrix() API method to handle all models. The check for the 'exp' model type has been eliminated, and the parameter vector is assembled using the flexible assemble_param_vector() function rather than manually constructing the vector. ........ r26841 | bugman | 2014-11-29 17:06:20 +0100 (Sat, 29 Nov 2014) | 6 lines The errors in the Relax_fit.test_saturation_recovery system test are now reasonable. They have been set to 5% of Iinf so that the chi-squared value during optimisation is more realistic. ........ r26842 | bugman | 2014-11-29 17:19:16 +0100 (Sat, 29 Nov 2014) | 6 lines Updated the relaxation curve-fitting get_param_names() API method to handle all models. This now simply returns the spin container 'params' list, allowing all models to be properly supported. ........ r26843 | bugman | 2014-11-29 17:23:53 +0100 (Sat, 29 Nov 2014) | 6 lines Big bug fix for the error_analysis.covariance_matrix user function. The model_info structure is now being passed into the get_param_names() API method, as required by the API. ........ r26844 | bugman | 2014-11-29 17:25:28 +0100 (Sat, 29 Nov 2014) | 6 lines Another change for the relaxation curve-fitting covariance_matrix() API method to handle all models. The scaling matrix diagonalised list of 1.0 values now has the same number of elements as there are parameters. ........ r26845 | bugman | 2014-11-29 17:30:51 +0100 (Sat, 29 Nov 2014) | 17 lines Implemented the target functions for the inversion recovery exponential curve. In the Python target function class Relax_fit_opt, the new func_inv(), dfunc_inv() and d2func_inv() methods have been created as wrappers for the new C functions. These are aliased to func(), dfunc() and d2func() in the __init__() method. The target_functions/exponential_inv.c C file has been created with the functions exponential_inv(), exponential_inv_d0(), exponential_inv_dIinf(), exponential_inv_dR(), exponential_inv_dI02(), exponential_inv_dIinf2(), exponential_inv_dI0_dIinf(), exponential_inv_dR_dI0(), exponential_inv_dR_dIinf() and exponential_inv_dR2() have been created to implement the function, gradient, and Hessian for the equation I(t) = Iinf - I0*exp(-R.t). In the target_functions/relax_fit.c file, the functions func_inv(), dfunc_inv(), d2func_inv(), jacobian_inv() and jacobian_chi2_inv() have been created as duplications of the *_exp() functions, but pointing to the exponential_inv*() functions and adding the Iinf dimension. ........ r26846 | bugman | 2014-11-29 17:41:53 +0100 (Sat, 29 Nov 2014) | 5 lines More editing of the relax_fit.select_model user function. The IR and SR abbreviations have been added, and a lot of text cleaned up. ........ r26847 | bugman | 2014-11-29 17:51:35 +0100 (Sat, 29 Nov 2014) | 7 lines Improvement for the relax_fit.select_model user function in the GUI. Unicode text is now being used to display the parameters as R_x and I_0 and to show an infinity symbol in the Iinf parameter. The Rx and Iinf parameters have been added to lib.text.gui to allow this. ........ r26848 | bugman | 2014-11-29 18:18:12 +0100 (Sat, 29 Nov 2014) | 7 lines Expanded the relaxation curve-fitting chapter of the manual to include descriptions of the models. A new section at the start of this chapter has been added to explain the different models and their equations. This was taken from the script mode section and expanded to include the new saturation recovery experiment. ........ r26849 | bugman | 2014-11-29 18:35:43 +0100 (Sat, 29 Nov 2014) | 5 lines Removed the relax_fit.select_model user function call from the relax_fit auto-analysis. This is to allow the user in a script, or in the GUI, to choose the model themselves. ........ r26850 | bugman | 2014-11-29 18:37:07 +0100 (Sat, 29 Nov 2014) | 6 lines Added a button to the R1 and R2 GUI analyses for executing the relax_fit.select_model user function. This is just after the peak list GUI element and before the optimisation settings. It allows different curve types to be selected for the analysis. ........ r26851 | bugman | 2014-11-29 18:55:20 +0100 (Sat, 29 Nov 2014) | 7 lines Created the new specific_analyses.relax_fit.checks module. This creates the check_model_setup Check object, following the check_*() function design at http://wiki.nmr-relax.com/Relax_source_design#The_check_.2A.28.29_functions. This will be used to make sure that the exponential curve model is set prior to executing certain user functions. ........ r26852 | bugman | 2014-11-29 18:58:17 +0100 (Sat, 29 Nov 2014) | 8 lines Improved the checking in the relaxation curve-fitting analysis. The new specific_analyses.relax_fit.checks.check_model_setup() function is now called prior to minimisation and in the get_param_names() API method to prevent Python errors from occurring due to missing data structures. In addition, the pipe_control.mol_res_spin module function exists_mol_res_spin_data() has been replaced with check_mol_res_spin_data(). ........ r26853 | bugman | 2014-11-29 19:00:38 +0100 (Sat, 29 Nov 2014) | 6 lines Fix for the recently broken Relax_fit.test_curve_fitting_height_estimate_error system test. The relax_fit.select_model user function is now called as this is no longer performed in the auto-analysis. ........ r26854 | bugman | 2014-11-29 19:01:43 +0100 (Sat, 29 Nov 2014) | 6 lines Removed the text that the inversion recovery experiment is not implemented yet. This is in the documentation for the relax_fit.select_model user function and is in preparation for completing this. ........ r26855 | bugman | 2014-11-29 19:03:46 +0100 (Sat, 29 Nov 2014) | 3 lines Added the checks module to the specific_analyses.relax_fit package __all__ list. ........ r26856 | bugman | 2014-11-29 19:23:11 +0100 (Sat, 29 Nov 2014) | 6 lines Fixes for the relaxation dispersion analysis for the recent relaxation curve-fitting analysis changes. The Relax_fit_opt target function class requires the model argument to be supplied to be correctly set up. ........ r26857 | bugman | 2014-11-29 19:40:35 +0100 (Sat, 29 Nov 2014) | 5 lines Fixes for the unit tests of the target_functions.relax_fit C module. This is for the recent renaming of all the C functions based on the model type. ........ r26858 | bugman | 2014-11-29 19:44:10 +0100 (Sat, 29 Nov 2014) | 5 lines Fix for the Rx.test_r1_analysis GUI test. A click on the relax_fit.select_model user function button is now being simulated. ........ r26859 | bugman | 2014-11-30 00:21:07 +0100 (Sun, 30 Nov 2014) | 3 lines Created a directory for holding synthetic inversion recovery R1 data. ........ r26860 | bugman | 2014-11-30 00:27:28 +0100 (Sun, 30 Nov 2014) | 14 lines Copied synthetic inversion recovery Sparky peak lists from S?\195?\169bastien Morin's inversion-recovery branch. The commands used were: svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_1100_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_1500_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_1950_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_1950_ms_bis.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_200_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_2450_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_450_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_750_ms.list . svn cp svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery/test_suite/shared_data/curve_fitting/T1_inv-recov_750_ms_bis.list . ........ r26861 | bugman | 2014-11-30 00:30:52 +0100 (Sun, 30 Nov 2014) | 17 lines Ported r13116 of S?\195?\169bastien Morin's inversion-recovery branch. The command used was: svn merge -r13115:r13116 svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery . ..... r13116 | semor | 2011-06-17 18:18:43 +0200 (Fri, 17 Jun 2011) | 5 lines Changed paths: A /branches/inversion-recovery/test_suite/system_tests/scripts/relax_fit_exp_3param_inv_neg.py (from /branches/inversion-recovery/test_suite/system_tests/scripts/relax_fit_exp_2param_neg.py:13114) Created a system test script for the inversion-recovery function. This is based on a copy of the script 'relax_fit_exp_2param_neg.py'. ..... ........ r26862 | bugman | 2014-11-30 00:33:03 +0100 (Sun, 30 Nov 2014) | 15 lines Ported r13133 of S?\195?\169bastien Morin's inversion-recovery branch. The command used was: svn up; svn merge -r13132:r13133 svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery . ..... r13133 | semor | 2011-06-20 19:05:09 +0200 (Mon, 20 Jun 2011) | 4 lines Changed paths: M /branches/inversion-recovery/test_suite/system_tests/scripts/relax_fit_exp_3param_inv_neg.py The 3-parameter curve fitting test script now uses the corresponding peak lists. ..... ........ r26863 | bugman | 2014-11-30 00:35:40 +0100 (Sun, 30 Nov 2014) | 14 lines Ported r14430 of S?\195?\169bastien Morin's inversion-recovery branch. The command used was: svn merge -r14429:r14430 svn+ssh://bugman@xxxxxxxxxxx/svn/relax/branches/inversion-recovery . ..... [... 281 lines stripped ...]