Open main menu

Changes

Relax 3.3.4

2 bytes removed, 18:20, 3 December 2014
Symbol formatting fixes.
* Updated the formula in the description of the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function].
* Modified the printouts from the [http://www.nmr-relax.com/manual/structure_write_pdb.html 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.
* Added the synthetic saturation-recovery data in the form of Sparky peak lists to the repository. These files were created by Andras Boeszoermenyi. 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 I<sub>0</sub>*(1 - e<sup>−R<sub>1</sub>.t</sup>) where I<sub>0</sub> = 1000000000000000.00 and R<sub>1</sub> = 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.
* Updated the target_functions package __all__ list to include the relax_fit* modules.
* Modified the package __all__ list checking unit test to accept *.so C modules.
* Modified the relax_fit.test_saturation_recovery system test to check for I<sub>&infin;</sub> instead of I<sub>0</sub>.
* 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.
* 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(t) = I<sub>&infin;</sub> * (1 - e<sup>-R.t</sup>). 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 I<sub>&infin;</sub> instead of I<sub>0</sub>.
* Split the saturation recovery exponential equations and partial derivatives into their own C file.
* Expansion and improvements for the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function] documentation and printouts.
* Big bug fix for the [http://www.nmr-relax.com/manual/error_analysis_covariance_matrix.html 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.
* 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.
* 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) = I<sub>&infin;</sub> - I<sub>0</sub>*e<sup>-R.t</sup>. 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 I</sub>&infin;<sub> dimension.
* More editing of the [http://www.nmr-relax.com/manual/relax_fit_select_model.html relax_fit.select_model user function]. The IR and SR abbreviations have been added, and a lot of text cleaned up.
* Improvement for the [http://www.nmr-relax.com/manual/relax_fit_select_model.html 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 I<sub>&infin;</sub> parameter. The R<sub>x</sub> and I<sub>&infin;</sub> parameters have been added to lib.text.gui to allow this.
Trusted, Bureaucrats
4,223

edits