Difference between revisions of "Relax 3.2.0"

From relax wiki
Jump to navigation Jump to search
(Internal links to the dispersion models.)
(Formatting of all symbols/parameters.)
Line 33: Line 33:
 
*  Improved and expanded the relax command line options for debugging.
 
*  Improved and expanded the relax command line options for debugging.
 
*  Full independence of the relax library so that it can be used outside of relax.
 
*  Full independence of the relax library so that it can be used outside of relax.
*  The addition of a relaxation dispersion user function for setting the R20 values to the minimum R2eff value.
+
*  The addition of a relaxation dispersion user function for setting the R<sub>2</sub><sup>0</sup> values to the minimum R<sub>2eff</sub> value.
 
*  Expanded capabilities for the [http://www.nmr-relax.com/manual/relax_disp_sherekhan_input.html relax_disp.sherekhan_input user function].
 
*  Expanded capabilities for the [http://www.nmr-relax.com/manual/relax_disp_sherekhan_input.html relax_disp.sherekhan_input user function].
 
*  Implementation of the [[B14]] and [[B14 full]] relaxation dispersion CPMG models for 2-site exchange for all time scales (from the new paper [Baldwin 2014] at http://dx.doi.org/10.1016/j.jmr.2014.02.023).
 
*  Implementation of the [[B14]] and [[B14 full]] relaxation dispersion CPMG models for 2-site exchange for all time scales (from the new paper [Baldwin 2014] at http://dx.doi.org/10.1016/j.jmr.2014.02.023).
Line 47: Line 47:
  
 
*  Shifted two functions from pipe_control.angles into the new lib.geometry.angles module.  This is the fold_spherical_angles() and wrap_angles() functions which are not related to the relax data store and hence can be made independent.
 
*  Shifted two functions from pipe_control.angles into the new lib.geometry.angles module.  This is the fold_spherical_angles() and wrap_angles() functions which are not related to the relax data store and hence can be made independent.
*  Replaced function atan(omega1 / Delta_omega) with atan2(omega1 , Delta_omega), to make sure returned theta values are between 0 and pi.  This was done in the function return_offset_data() in the specific_analyses of relax_disp.  This was discussed in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5210.
+
*  Replaced function atan(&omega;<sub>1</sub> / &Delta;&omega;) with atan2(&omega;<sub>1</sub> , &Delta;&omega;), to make sure returned &theta; values are between 0 and &pi;.  This was done in the function return_offset_data() in the specific_analyses of relax_disp.  This was discussed in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5210.
*  Changed a unit test and system test, where a change from the atan to atan2 function to calculate theta can give differences to the 15 decimal.
+
*  Changed a unit test and system test, where a change from the atan to atan2 function to calculate &theta; can give differences to the 15 decimal.
 
*  Replaced how a global analysis average results from a previous run to instead take the median.  This is to prevent averaging extreme outliers, and instead take the median of the previous result.  This was discussed in: https://mail.gna.org/public/relax-devel/2013-10/msg00009.html.
 
*  Replaced how a global analysis average results from a previous run to instead take the median.  This is to prevent averaging extreme outliers, and instead take the median of the previous result.  This was discussed in: https://mail.gna.org/public/relax-devel/2013-10/msg00009.html.
*  Modified system test Relax_disp.test_r1rho_kjaergaard to use input guess values of phi_ex in units of ppm^2 instead of rad^2/s^2.
+
*  Modified system test Relax_disp.test_r1rho_kjaergaard to use input guess values of &phi;<sub>ex</sub> in units of ppm<sup>2</sup> instead of rad<sup>2</sup>/s<sup>2</sup>.
*  Small change to system test Relax_disp.test_r1rho_kjaergaard.  The outcome of kex from system test is in the area of 4-5000. The expected value is 13000.  A deeer analysis of the input is needed, to judge what is the correct value.
+
*  Small change to system test Relax_disp.test_r1rho_kjaergaard.  The outcome of k<sub>ex</sub> from system test is in the area of 4-5000. The expected value is 13000.  A deeer analysis of the input is needed, to judge what is the correct value.
 
*  Created the Structure.test_bug_21814_pdb_no_80_space_padding system test.  This is for catching [https://gna.org/bugs/?21814 bug #21814, the PDB reading failure when the PDB records are not padded to 80 spaces].  The PDB file used for the test is the same file as attached to the bug report.
 
*  Created the Structure.test_bug_21814_pdb_no_80_space_padding system test.  This is for catching [https://gna.org/bugs/?21814 bug #21814, the PDB reading failure when the PDB records are not padded to 80 spaces].  The PDB file used for the test is the same file as attached to the bug report.
 
*  The verbosity flag is now used in the centre of mass calculations.  The pipe_control.structure.mass.pipe_centre_of_mass() function now passes the verbosity argument into the lib.structure.mass.centre_of_mass() function.
 
*  The verbosity flag is now used in the centre of mass calculations.  The pipe_control.structure.mass.pipe_centre_of_mass() function now passes the verbosity argument into the lib.structure.mass.centre_of_mass() function.
Line 77: Line 77:
 
*  Python 3 fixes for the info module.  The new processor_name() function was not compatible with Python 3 as the text read from STDOUT needs to be 'decoded'.
 
*  Python 3 fixes for the info module.  The new processor_name() function was not compatible with Python 3 as the text read from STDOUT needs to be 'decoded'.
 
*  The variables in the relax_fit.h file are now all static.
 
*  The variables in the relax_fit.h file are now all static.
*  Added the new exp_mc_sim_num argument to the relaxation dispersion auto-analysis.  This is in preparation for fixing [https://gna.org/bugs/?21869 bug #21869].  This argument allows for a different number of Monte Carlo simulations for the [[R2eff]] model when exponential curves are fit.  It will mainly be useful in the test suite to improve the accuracy of the R2eff errors, while still running a low number of simulations for the other models to allow optimisation to be quick.
+
*  Added the new exp_mc_sim_num argument to the relaxation dispersion auto-analysis.  This is in preparation for fixing [https://gna.org/bugs/?21869 bug #21869].  This argument allows for a different number of Monte Carlo simulations for the [[R2eff]] model when exponential curves are fit.  It will mainly be useful in the test suite to improve the accuracy of the R<sub>2eff</sub> errors, while still running a low number of simulations for the other models to allow optimisation to be quick.
 
*  Modifications to the Relax_disp.test_m61_exp_data_to_m61 system test.  This is to fix [https://gna.org/bugs/?21869 bug #21869], the failure of this system test.  The number of Monte Carlo simulation for the [[R2eff]] model has been increased from 3 to 25 using the new exp_mc_sim_num argument to the dispersion auto-analysis.  To keep the test fast, only a single spin is optimised.
 
*  Modifications to the Relax_disp.test_m61_exp_data_to_m61 system test.  This is to fix [https://gna.org/bugs/?21869 bug #21869], the failure of this system test.  The number of Monte Carlo simulation for the [[R2eff]] model has been increased from 3 to 25 using the new exp_mc_sim_num argument to the dispersion auto-analysis.  To keep the test fast, only a single spin is optimised.
 
*  Redesign and major clean up of the specific_analyses.jw_mapping package.  The code has been broken up into separate modules.
 
*  Redesign and major clean up of the specific_analyses.jw_mapping package.  The code has been broken up into separate modules.
Line 150: Line 150:
 
*  The AXIS_ALPHA parameter is now initialised in the CaM frame order system test base script.  The base script was broken a while back due to AXIS_ALPHA not being defined but being checked for.
 
*  The AXIS_ALPHA parameter is now initialised in the CaM frame order system test base script.  The base script was broken a while back due to AXIS_ALPHA not being defined but being checked for.
 
*  Improvements for the centre of mass calculation for the frame order model optimisation.  This is now only calculated for the rotor models.  The CoM is also printed out for better user feedback.
 
*  Improvements for the centre of mass calculation for the frame order model optimisation.  This is now only calculated for the rotor models.  The CoM is also printed out for better user feedback.
*  The CaM frame order system tests for the rotor models are converted to the new axis_alpha parameter.  The axis_theta and axis_phi spherical coordinates are converted to the new reduced parameter set defined by a random point in space (the CoM of all atoms), the pivot point, and a single angle alpha.
+
*  The CaM frame order system tests for the rotor models are converted to the new axis_alpha parameter.  The axis_theta and axis_phi spherical coordinates are converted to the new reduced parameter set defined by a random point in space (the CoM of all atoms), the pivot point, and a single angle &alpha;.
*  The CaM frame order system test base script is now using lib.geometry.vectors.vector_angle().  This is for correctly calculating the alpha axis angle for the rotor models.
+
*  The CaM frame order system test base script is now using lib.geometry.vectors.vector_angle().  This is for correctly calculating the &alpha; axis angle for the rotor models.
*  Fixes for the rotor axis alpha angle conversion in the CaM frame order system test base script.  The pivot point is now the point on the rotor axis closest to the reference point (the CoM).  Therefore the closest point is now calculated from the pivot point on the axis and the axis vector.  This closest point is needed for defining the new minimal parameter set for the rotor models.
+
*  Fixes for the rotor axis &alpha; angle conversion in the CaM frame order system test base script.  The pivot point is now the point on the rotor axis closest to the reference point (the CoM).  Therefore the closest point is now calculated from the pivot point on the axis and the axis vector.  This closest point is needed for defining the new minimal parameter set for the rotor models.
*  Changes for the convert_rotor() method of the CaM frame order system test base script.  The method now sets the alpha angle rather than returning it.  The method now also resets the pivot point to the point on the rotation axis closest to the CoM.
+
*  Changes for the convert_rotor() method of the CaM frame order system test base script.  The method now sets the &alpha; angle rather than returning it.  The method now also resets the pivot point to the point on the rotation axis closest to the CoM.
*  Fixes for the rotor axis reconstruction in the func_rotor_qrint() frame order target function.  This is for the rotor model.  The axis alpha angle is now correctly converted into the rotor axis using the CoM and pivot point.
+
*  Fixes for the rotor axis reconstruction in the func_rotor_qrint() frame order target function.  This is for the rotor model.  The axis &alpha; angle is now correctly converted into the rotor axis using the CoM and pivot point.
*  Optimisation is now turned on for the Frame_order.test_cam_rotor2 system test.  This is to reveal deficiencies in the handling of the new axis alpha parameter.
+
*  Optimisation is now turned on for the Frame_order.test_cam_rotor2 system test.  This is to reveal deficiencies in the handling of the new axis &alpha; parameter.
*  The frame order optimisation results unpacking function now supports the axis alpha parameter.  This is in the function specific_analyses.frame_order.optimisation.unpack_opt_results().
+
*  The frame order optimisation results unpacking function now supports the axis &alpha; parameter.  This is in the function specific_analyses.frame_order.optimisation.unpack_opt_results().
*  Updated the chi2 value check in some of the CaM frame order system tests for the rotor model.  The chi2 value is slightly different due to truncation and conversion artifacts of the parameter set reduction.
+
*  Updated the &chi;<sup>2</sup> value check in some of the CaM frame order system tests for the rotor model.  The &chi;<sup>2</sup> value is slightly different due to truncation and conversion artifacts of the parameter set reduction.
*  Shifted all of the code for calculating the frame order rotor axis into lib.frame_order.rotor_axis.  The new frame_order.rotor_axis module consists of three function for creating a unit vector or the rotor axis using either the axis alpha angle, the two spherical angles or the three Euler angles.
+
*  Shifted all of the code for calculating the frame order rotor axis into lib.frame_order.rotor_axis.  The new frame_order.rotor_axis module consists of three function for creating a unit vector or the rotor axis using either the axis &alpha; angle, the two spherical angles or the three Euler angles.
 
*  Renamed the specific_analyses.frame_order.user_functions module to uf.
 
*  Renamed the specific_analyses.frame_order.user_functions module to uf.
*  Fix for the optimised chi-squared value check in the Frame_order.test_cam_rotor system test.  The reduced parameter set results in a slightly different chi2 value.
+
*  Fix for the optimised chi-squared value check in the Frame_order.test_cam_rotor system test.  The reduced parameter set results in a slightly different &chi;<sup>2</sup> value.
 
*  Shifted the frame order average domain position info check from the 'optimisation' to 'checks' module.
 
*  Shifted the frame order average domain position info check from the 'optimisation' to 'checks' module.
*  Fix for the CaM frame order system tests.  The axis alpha angle and pivot shifting to the closest point to the CoM in the base system test script now only happens for the 'rotor' and 'free rotor' models.  This allows the tests for the isotropic cone models to pass again.
+
*  Fix for the CaM frame order system tests.  The axis &alpha; angle and pivot shifting to the closest point to the CoM in the base system test script now only happens for the 'rotor' and 'free rotor' models.  This allows the tests for the isotropic cone models to pass again.
 
*  Fixes for all of the CaM frame order optimisation scripts in the test data directories.  The [http://www.nmr-relax.com/manual/frame_order_average_position.html frame_order.average_position user function] is now essential.
 
*  Fixes for all of the CaM frame order optimisation scripts in the test data directories.  The [http://www.nmr-relax.com/manual/frame_order_average_position.html frame_order.average_position user function] is now essential.
 
*  The centre of mass printout in the frame order target function setup now uses the verbosity argument.  This means that the printout is not shown for the Monte Carlo simulation optimisation.
 
*  The centre of mass printout in the frame order target function setup now uses the verbosity argument.  This means that the printout is not shown for the Monte Carlo simulation optimisation.
*  Correction for the nu_CPMG to tau_CPMG conversion formula in the dispersion chapter of the manual.  In relax, the conversion nu_CPMG = 0.25 * tau_CPMG is used and not nu_CPMG = 0.5 * tau_CPMG.
+
*  Correction for the &nu;<sub>CPMG</sub> to &tau;<sub>CPMG</sub> conversion formula in the dispersion chapter of the manual.  In relax, the conversion &nu;<sub>CPMG</sub> = 0.25 * &tau;<sub>CPMG</sub> is used and not &nu;<sub>CPMG</sub> = 0.5 * &tau;<sub>CPMG</sub>.
 
*  Merged the Van't Hoff and Arrhenius lines of the dispersion software comparison table of the manual.
 
*  Merged the Van't Hoff and Arrhenius lines of the dispersion software comparison table of the manual.
 
*  Renamed the specific_analyses.relax_disp.disp_data module to specific_analyses.relax_disp.data.  This is to match the module naming convention used in the other specific analyses, and as detailed in the post http://thread.gmane.org/gmane.science.nmr.relax.devel/5294.
 
*  Renamed the specific_analyses.relax_disp.disp_data module to specific_analyses.relax_disp.data.  This is to match the module naming convention used in the other specific analyses, and as detailed in the post http://thread.gmane.org/gmane.science.nmr.relax.devel/5294.
Line 172: Line 172:
 
*  Simplified all of the CaM frame order optimisation testing scripts.  These are for the synthetic test suite data.  The unnecessary class structure of the scripts has been eliminated.
 
*  Simplified all of the CaM frame order optimisation testing scripts.  These are for the synthetic test suite data.  The unnecessary class structure of the scripts has been eliminated.
 
*  The [http://www.nmr-relax.com/manual/frame_order_pivot.html frame_order.pivot user function] can now be used to turn the pivot optimisation on and off.  If the pivot point is not given, this user function will now just set the fixed flag and nothing else, allowing the optimisation status of a pre-set pivot to be changed.
 
*  The [http://www.nmr-relax.com/manual/frame_order_pivot.html frame_order.pivot user function] can now be used to turn the pivot optimisation on and off.  If the pivot point is not given, this user function will now just set the fixed flag and nothing else, allowing the optimisation status of a pre-set pivot to be changed.
*  Added the axis alpha angle to the frame order return_units() API method.
+
*  Added the axis &alpha; angle to the frame order return_units() API method.
*  The frame order axis alpha angle is now defined in the grid search from -pi to pi.
+
*  The frame order axis &alpha; angle is now defined in the grid search from -&pi; to &pi;.
 
*  Replaced the 'elif' statements with 'if' in the frame order update_model() function.  This is to avoid possible future bugs as the logic was not consistent.
 
*  Replaced the 'elif' statements with 'if' in the frame order update_model() function.  This is to avoid possible future bugs as the logic was not consistent.
 
*  Renamed the specific_analyses.api_objects module to parameter_object to better reflect what it is.  This contains a single object for the parameter list object and therefore does not need to be generalised for additional types of objects for the specific analysis API.
 
*  Renamed the specific_analyses.api_objects module to parameter_object to better reflect what it is.  This contains a single object for the parameter list object and therefore does not need to be generalised for additional types of objects for the specific analysis API.
Line 294: Line 294:
 
*  Shifted the relax library independence developer script into the software verification tests.  The functionality of the devel_scripts/test_library_independence.py script is now within the Library.test_library_independence software verification test.  Therefore the script has been deleted.
 
*  Shifted the relax library independence developer script into the software verification tests.  The functionality of the devel_scripts/test_library_independence.py script is now within the Library.test_library_independence software verification test.  Therefore the script has been deleted.
 
*  Updated the text for the software verification tests in the test suite.
 
*  Updated the text for the software verification tests in the test suite.
*  The relaxation dispersion auto-analysis now outputs the R20, R20A, R20B, and R1rho0 parameters.  This includes both text files and 2D Grace plots.
+
*  The relaxation dispersion auto-analysis now outputs the R<sub>2</sub><sup>0</sup>, R<sub>2A</sub><sup>0</sup>, R<sub>2B</sub><sup>0</sup>, and R<sub>1&rho;</sub><sup>0</sup> parameters.  This includes both text files and 2D Grace plots.
 
*  Python 3 fix for one of the old scripts in the test suite directories.
 
*  Python 3 fix for one of the old scripts in the test suite directories.
 
*  Improved error messages for when the GUI is launched but the wxPython installation is broken.  Now the case of a broken wxPython installation is handled rather than just a missing installation.  The dep_check module will store the import error message, and relax will now report that back to the user.
 
*  Improved error messages for when the GUI is launched but the wxPython installation is broken.  Now the case of a broken wxPython installation is handled rather than just a missing installation.  The dep_check module will store the import error message, and relax will now report that back to the user.
Line 310: Line 310:
 
*  Made name for system test shorter and moved data to shorter folder name.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Made name for system test shorter and moved data to shorter folder name.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Modified system test for cleaner implementation of tests.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Modified system test for cleaner implementation of tests.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
*  Lowered range for grid search by factor 10 for kex to now between 1-10000.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
+
*  Lowered range for grid search by factor 10 for k<sub>ex</sub> to now between 1-10000.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Changes to system test Relax_disp.test_hansen_cpmg_data_auto_analysis.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].  The grid search needed to be increased by +1 and lowering of some results by one digit.
 
*  Changes to system test Relax_disp.test_hansen_cpmg_data_auto_analysis.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].  The grid search needed to be increased by +1 and lowering of some results by one digit.
 
*  Lowering of precision in Relax_disp.test_hansen_cpmg_data_auto_analysis_numeric.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Lowering of precision in Relax_disp.test_hansen_cpmg_data_auto_analysis_numeric.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
Line 316: Line 316:
 
*  Changes to system test Relax_disp.test_hansen_cpmg_data_missing_auto_analysis.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].  The grid search needed to be increased by +1 and changes of some results.
 
*  Changes to system test Relax_disp.test_hansen_cpmg_data_missing_auto_analysis.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].  The grid search needed to be increased by +1 and changes of some results.
 
*  Modified system test Relax_disp.test_sod1wt_t25_to_cr72.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Modified system test Relax_disp.test_sod1wt_t25_to_cr72.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
*  Modified dw and kex in system test Relax_disp.test_tp02_data_to_tap03.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
+
*  Modified &Delta;&omega; and k<sub>ex</sub> in system test Relax_disp.test_tp02_data_to_tap03.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Split system test Relax_disp.sod1wt_t25_to_cr72 into part as setup and test part.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Split system test Relax_disp.sod1wt_t25_to_cr72 into part as setup and test part.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].
 
*  Started implementation of error analysis bug.  Regarding [https://gna.org/bugs/?21954 bug #21954, Order of spectrum.error_analysis is important].
 
*  Started implementation of error analysis bug.  Regarding [https://gna.org/bugs/?21954 bug #21954, Order of spectrum.error_analysis is important].
 
*  Small edit of the relax command line option descriptions.
 
*  Small edit of the relax command line option descriptions.
*  Undid the modification of dw and kex in system test Relax_disp.test_tp02_data_to_tap03.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].  The number of iterations needed to be increased from 2000 to 2500 to allow the values to be found.
+
*  Undid the modification of &Delta;&omega; and k<sub>ex</sub> in system test Relax_disp.test_tp02_data_to_tap03.  Regarding [https://gna.org/bugs/?21953 bug #21953, weird performance of grid search].  The number of iterations needed to be increased from 2000 to 2500 to allow the values to be found.
 
*  Further extended system test Relax_disp.test_sod1wt_t25_bug_21954_order_error_analysis.  Regarding [https://gna.org/bugs/?21954 bug #21954, order of spectrum.error_analysis is important].
 
*  Further extended system test Relax_disp.test_sod1wt_t25_bug_21954_order_error_analysis.  Regarding [https://gna.org/bugs/?21954 bug #21954, order of spectrum.error_analysis is important].
 
*  Extended --gui-tests Relax_disp.test_hansen_trunc_data.  Regarding [https://gna.org/bugs/?21954 bug #21954, order of spectrum.error_analysis is important].  To catch errors in this dataset.
 
*  Extended --gui-tests Relax_disp.test_hansen_trunc_data.  Regarding [https://gna.org/bugs/?21954 bug #21954, order of spectrum.error_analysis is important].  To catch errors in this dataset.
Line 327: Line 327:
 
*  The General.test_bug_21720_pipe_switching_with_tab_closure GUI test now works without compiled C modules.
 
*  The General.test_bug_21720_pipe_switching_with_tab_closure GUI test now works without compiled C modules.
 
*  Updated the release checklist for the new minfx version 1.0.6 release.  See https://gna.org/forum/forum.php?forum_id=2456 and https://freecode.com/projects/minfx.
 
*  Updated the release checklist for the new minfx version 1.0.6 release.  See https://gna.org/forum/forum.php?forum_id=2456 and https://freecode.com/projects/minfx.
*  Fixes for the specific API _set_param_values_spin() method for lists and dictionaries.  This is for the [http://www.nmr-relax.com/manual/value_set.html value.set user function] to allow it to handle parameters of different types.  For example the 'R2' parameter in the relaxation dispersion analysis.  This API common method now sets all dictionary elements, list elements, or the variable to the given value.
+
*  Fixes for the specific API _set_param_values_spin() method for lists and dictionaries.  This is for the [http://www.nmr-relax.com/manual/value_set.html value.set user function] to allow it to handle parameters of different types.  For example the R<sub>2</sub> parameter in the relaxation dispersion analysis.  This API common method now sets all dictionary elements, list elements, or the variable to the given value.
*  Created the new specific_analyses.relax_disp.variables.PARAMS_R20 list.  This variable is a list of all R20 parameters of the dispersion models.  It has been shifted out of the parameters module.
+
*  Created the new specific_analyses.relax_disp.variables.PARAMS_R20 list.  This variable is a list of all R<sub>2</sub><sup>0</sup> parameters of the dispersion models.  It has been shifted out of the parameters module.
*  Created a relaxation dispersion specific API set_param_values() method.  This originates from the base _set_param_values_spin() method from the api_common module.  The method has been extended to handle the R20 parameter types - generating the current dictionary keys as needed.
+
*  Created a relaxation dispersion specific API set_param_values() method.  This originates from the base _set_param_values_spin() method from the api_common module.  The method has been extended to handle the R<sub>2</sub><sup>0</sup> parameter types - generating the current dictionary keys as needed.
 
*  Expanded the relaxation dispersion auto-analysis to allow the grid search to be turned off.  By setting the grid_inc argument to None, the grid search will be turned off.  As a replacement, the [http://www.nmr-relax.com/manual/value_set.html value.set user function] is used for all model parameters to set them to their default values prior to minimisation.  This design is for speed as optimisation from the defaults is often - though not always - good enough.  It can be used, for example, in the test suite to make the system tests much faster.
 
*  Expanded the relaxation dispersion auto-analysis to allow the grid search to be turned off.  By setting the grid_inc argument to None, the grid search will be turned off.  As a replacement, the [http://www.nmr-relax.com/manual/value_set.html value.set user function] is used for all model parameters to set them to their default values prior to minimisation.  This design is for speed as optimisation from the defaults is often - though not always - good enough.  It can be used, for example, in the test suite to make the system tests much faster.
*  Changed the default R20 relaxation rate from 15 to 10 rad.s^-1.  This is probably closer to the average rate expected for molecules studied by NMR.
+
*  Changed the default R<sub>2</sub><sup>0</sup> relaxation rate from 15 to 10 rad.s<sup>-1</sup>.  This is probably closer to the average rate expected for molecules studied by NMR.
*  The R2eff dispersion parameter now also defaults to 10 rad.s^-1.
+
*  The R<sub>2eff</sub> dispersion parameter now also defaults to 10 rad.s<sup>-1</sup>.
 
*  Expanded the dispersion specific API set_param_values() method for the 'r2eff' and 'i0' parameters.  This now sets these parameter values correctly if the value sent into the method is not composed of dictionaries.
 
*  Expanded the dispersion specific API set_param_values() method for the 'r2eff' and 'i0' parameters.  This now sets these parameter values correctly if the value sent into the method is not composed of dictionaries.
 
*  Large speed up of the relaxation dispersion system tests by about 20%.  This was achieved by turning the grid search off in the following system tests:  Some of the optimisation values are slightly different, or completely different for the one example of the [[CR72]] model fitted to no exchange, and these have been updated in the tests.
 
*  Large speed up of the relaxation dispersion system tests by about 20%.  This was achieved by turning the grid search off in the following system tests:  Some of the optimisation values are slightly different, or completely different for the one example of the [[CR72]] model fitted to no exchange, and these have been updated in the tests.
*  Changed the bounds for the R20 parameters in the default grid search.  The range of 1 to 40 rad.s^-1 was previous used.  This has been narrowed to 5 to 20.
+
*  Changed the bounds for the R<sub>2</sub><sup>0</sup> parameters in the default grid search.  The range of 1 to 40 rad.s<sup>-1</sup> was previous used.  This has been narrowed to 5 to 20.
*  Added function to find minimum R2eff value to set as R20 value before grid search.  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].
+
*  Added function to find minimum R<sub>2eff</sub> value to set as R<sub>2</sub><sup>0</sup> value before grid search.  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].
*  Added system test for setting R20 from minimum R2eff before grid search.  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].  System test: -s Relax_disp.test_sod1wt_t25_set_grid_r20_from_min_r2eff.
+
*  Added system test for setting R<sub>2</sub><sup>0</sup> from minimum R<sub>2eff</sub> before grid search.  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].  System test: -s Relax_disp.test_sod1wt_t25_set_grid_r20_from_min_r2eff.
 
*  Extended api value.set to use index in value setting.  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].  The index used is expected to match the spectrometer frequency.
 
*  Extended api value.set to use index in value setting.  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].  The index used is expected to match the spectrometer frequency.
 
*  Added [http://www.nmr-relax.com/manual/relax_disp_set_grid_r20_from_min_r2eff.html user function relax_disp.set_grid_r20_from_min_r2eff].  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].
 
*  Added [http://www.nmr-relax.com/manual/relax_disp_set_grid_r20_from_min_r2eff.html user function relax_disp.set_grid_r20_from_min_r2eff].  [https://gna.org/support/?3151 Support request #3151, user function to set the R<sub>2</sub><sup>0</sup> parameters in the default grid search using the minimum R<sub>2eff</sub> value].
Line 379: Line 379:
 
*  Removed MODEL_B14 to be tested in normal setup.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This is to allow the system test to pass.
 
*  Removed MODEL_B14 to be tested in normal setup.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This is to allow the system test to pass.
 
*  Removed the standard transparent "on" setting in grace images script file.  This was rather an annoyance than helpful.
 
*  Removed the standard transparent "on" setting in grace images script file.  This was rather an annoyance than helpful.
*  Made a generic script to generate R2eff data for a CPMG model based on spin parameters, and fit the data.  Still needs to implement some noise method.  1) The idea is to generate R2eff data with a numerical model with some extreme parameters.  2) Then add noise to the R2eff data.  3) Then fit with a analytical model.  Evaluate the performance on the analytical model.  This follows the idea of the paper:  http://dx.doi.org/10.1016/j.jmr.2014.02.023 "An exact solution for R2,eff in CPMG experiments in the case of two site chemical exchange" Andrew J. Baldwin, Journal of Magnetic Resonance, 2014.  The script can be extended to also include global fitting, to test this out.  The script is also ideal, when trying to implement a new model, since test-data is ready at hand.
+
*  Made a generic script to generate R<sub>2eff</sub> data for a CPMG model based on spin parameters, and fit the data.  Still needs to implement some noise method.  1) The idea is to generate R<sub>2eff</sub> data with a numerical model with some extreme parameters.  2) Then add noise to the R<sub>2eff</sub> data.  3) Then fit with a analytical model.  Evaluate the performance on the analytical model.  This follows the idea of the paper:  http://dx.doi.org/10.1016/j.jmr.2014.02.023 "An exact solution for R2,eff in CPMG experiments in the case of two site chemical exchange" Andrew J. Baldwin, Journal of Magnetic Resonance, 2014.  The script can be extended to also include global fitting, to test this out.  The script is also ideal, when trying to implement a new model, since test-data is ready at hand.
 
*  Docstring update for the test suite runner class - the verification tests are now listed.
 
*  Docstring update for the test suite runner class - the verification tests are now listed.
 
*  Added the software verification tests to the relax GUI.  The verification tests can now be selected via the "Tools->Test suite->Verification tests" menu entry.  Running the full test suite via the menus also now included the verification tests.
 
*  Added the software verification tests to the relax GUI.  The verification tests can now be selected via the "Tools->Test suite->Verification tests" menu entry.  Running the full test suite via the menus also now included the verification tests.
Line 393: Line 393:
 
*  Implemented synthetic CPMG system test.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
 
*  Implemented synthetic CPMG system test.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
 
*  Small changes to synthetic script data generator.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
 
*  Small changes to synthetic script data generator.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Adding_the_model_to_the_list.
*  Made synthetic CPMG script accept R2eff noise values as input.
+
*  Made synthetic CPMG script accept R<sub>2eff</sub> noise values as input.
*  Added array with zero R2eff error to system test Relax_disp.test_cpmg_synthetic.
+
*  Added array with zero R<sub>2eff</sub> error to system test Relax_disp.test_cpmg_synthetic.
*  Added a system test, which proves that small dw values of 1, makes the minimisation goes wrong.  This is for synthetic data with R2eff values of +/- 0.05, which is to be expected for real data.
+
*  Added a system test, which proves that small &Delta;&omega; values of 1, makes the minimisation goes wrong.  This is for synthetic data with R<sub>2eff</sub> values of +/- 0.05, which is to be expected for real data.
 
*  Added a row to the dispersion software comparison table for TROSY-type data.  This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/5414/focus=5501.
 
*  Added a row to the dispersion software comparison table for TROSY-type data.  This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/5414/focus=5501.
 
*  Added a row to the dispersion software comparison table for the support of scalar coupling effects.  This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/5414/focus=5501.
 
*  Added a row to the dispersion software comparison table for the support of scalar coupling effects.  This follows from http://thread.gmane.org/gmane.science.nmr.relax.devel/5414/focus=5501.
 
*  Added model [[B14]] to the list of MODEL_LIST_NUMERIC_CPMG.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.  Model [[B14]], uses the number of ncyc/CPMG blocks in its analytical equation.  To pass this information correct and calculate the ncyc power, it should be in this list.
 
*  Added model [[B14]] to the list of MODEL_LIST_NUMERIC_CPMG.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.  Model [[B14]], uses the number of ncyc/CPMG blocks in its analytical equation.  To pass this information correct and calculate the ncyc power, it should be in this list.
 
*  Letting the error be 0.1 in the system test for [[B14]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.  This is just cosmetics, to make the dispersion graph look more beautiful.
 
*  Letting the error be 0.1 in the system test for [[B14]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.  This is just cosmetics, to make the dispersion graph look more beautiful.
*  Implemented model [[B14]] in the relax library.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library.  The code is raw implemented, with no optimisation.  This is merely to test, that the spin parameters that created R2eff data, can be found again after grid search and minimisation.
+
*  Implemented model [[B14]] in the relax library.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_library.  The code is raw implemented, with no optimisation.  This is merely to test, that the spin parameters that created R<sub>2eff</sub> data, can be found again after grid search and minimisation.
 
*  Correctly implemented the target function for model [[B14]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
 
*  Correctly implemented the target function for model [[B14]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
 
*  Implemented system test "relax -s Relax_disp.test_baldwin_synthetic -d" for model [[B14]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.  This proves that the model is correctly implemented, and return same data which the Baldwin script created.
 
*  Implemented system test "relax -s Relax_disp.test_baldwin_synthetic -d" for model [[B14]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.  This proves that the model is correctly implemented, and return same data which the Baldwin script created.
 
*  Renamed the [http://www.nmr-relax.com/manual/relax_disp_cpmg_frq.html relax_disp.cpmg_frq user function] to [http://www.nmr-relax.com/manual/relax_disp_cpmg_setup.html relax_disp.cpmg_setup] and added some new options.  This follows from the thread http://thread.gmane.org/gmane.science.nmr.relax.devel/5511/focus=5520.  The ncyc_even option has been added so the user can specify if the pulse sequence requires an even number of CPMG blocks.  This is for use in the interpolated dispersion curves, but could have other uses in the future.
 
*  Renamed the [http://www.nmr-relax.com/manual/relax_disp_cpmg_frq.html relax_disp.cpmg_frq user function] to [http://www.nmr-relax.com/manual/relax_disp_cpmg_setup.html relax_disp.cpmg_setup] and added some new options.  This follows from the thread http://thread.gmane.org/gmane.science.nmr.relax.devel/5511/focus=5520.  The ncyc_even option has been added so the user can specify if the pulse sequence requires an even number of CPMG blocks.  This is for use in the interpolated dispersion curves, but could have other uses in the future.
 
*  Removed model [[B14]] to the list of MODEL_LIST_NUMERIC_CPMG.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.  This was not essential anyway.
 
*  Removed model [[B14]] to the list of MODEL_LIST_NUMERIC_CPMG.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax.  This was not essential anyway.
*  Changed the default value of pA, the population for state A, to 0.95.  When doing a grid search in the auto-analysis, one can set "None".  This will then use default values specified for parameters, instead of a grid search.  pA is best to start at 0.95, than 0.5.
+
*  Changed the default value of p<sub>A</sub>, the population for state A, to 0.95.  When doing a grid search in the auto-analysis, one can set "None".  This will then use default values specified for parameters, instead of a grid search.  p<sub>A</sub> is best to start at 0.95, than 0.5.
 
*  Extended system test Relax_disp.test_baldwin_synthetic to also include a N15 synthetic dataset.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Extended system test Relax_disp.test_baldwin_synthetic to also include a N15 synthetic dataset.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Added the synthetic N15 data for system test Relax_disp.test_baldwin_synthetic.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Added the synthetic N15 data for system test Relax_disp.test_baldwin_synthetic.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
Line 414: Line 414:
 
*  Changed all instances of "r2e" with "r20b", to be consistent with relax nomenclature.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Changed all instances of "r2e" with "r20b", to be consistent with relax nomenclature.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Changed all instances of R2g with r20a. This is to be consistent with the relax nomenclature.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Changed all instances of R2g with r20a. This is to be consistent with the relax nomenclature.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Implemented g3 and g4 as square root functions instead of atan2.  atan2 is always returning values between -pi and pi.  https://docs.python.org/2/library/math.html.  Next step is to convert g1>-g1, which will truly follow the [[CR72]] Nomenclature.  For this, the atan2 function is a blocker.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Implemented g3 and g4 as square root functions instead of atan2.  atan2 is always returning values between -&pi; and &pi;.  https://docs.python.org/2/library/math.html.  Next step is to convert g1>-g1, which will truly follow the [[CR72]] Nomenclature.  For this, the atan2 function is a blocker.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Had to lower the precision of system test Relax_disp.test_baldwin_synthetic.  This was after changing g3, and g4 from atan2 functions, to square root functions.  The model is still very precise though.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Had to lower the precision of system test Relax_disp.test_baldwin_synthetic.  This was after changing g3, and g4 from atan2 functions, to square root functions.  The model is still very precise though.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Altered the sign of g1, to follow [[CR72]] Nomenclature.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Altered the sign of g1, to follow [[CR72]] Nomenclature.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Had to lower the precision of system test Relax_disp.test_baldwin_synthetic after sign change of g1.  The model is still precise, finding the parameters which generated the data.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Had to lower the precision of system test Relax_disp.test_baldwin_synthetic after sign change of g1.  The model is still precise, finding the parameters which generated the data.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Made g2 use the [[CR72]] parameter convention.  No change detected, since the change will be erased by going to order**2.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Made g2 use the [[CR72]] parameter convention.  No change detected, since the change will be erased by going to order<sup>2</sup>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Made sign change of deltaR2, to use parameter convention of [[CR72]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Made sign change of &delta;<sub>R<sub>2</sub></sub>, to use parameter convention of [[CR72]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Implemented the alpha minus shorting from [[CR72]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Implemented the &alpha; minus shorting from [[CR72]].  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty the code, making space between all multiplications "*".  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty the code, making space between all multiplications "*".  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty up the code, making space between "=".  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty up the code, making space between "=".  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
Line 433: Line 433:
 
*  Pretty up code, removing multiple "(" and ")".  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty up code, removing multiple "(" and ")".  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Replaced Trel with relax_time, to use relax parameter conventions.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Replaced Trel with relax_time, to use relax parameter conventions.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Replaced pb and pa with relax parameter pA.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Replaced pb and pa with relax parameter p<sub>A</sub>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Replaced keg with relax parameter normal use of k_BA.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Replaced keg with relax parameter normal use of k<sub>BA</sub>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Replaced kge with k_AB, which is relax convention.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Replaced kge with k<sub>AB</sub>, which is relax convention.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Removed where k_AB was subtracted with k_AB.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Removed where k<sub>AB</sub> was subtracted with k<sub>AB</sub>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Speedup of code, replacing repetitive calculations of dw**2.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Speedup of code, replacing repetitive calculations of &Delta;&omega;<sup>2</sup>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Speedup, by removing repetitive calculations of g3**2.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Speedup, by removing repetitive calculations of g3<sup>2</sup>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Speedup, by removing repetitive calculations of g4**2.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Speedup, by removing repetitive calculations of g4<sup>2</sup>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Removed the specific API method aliasing in the pipe_control.opendx module.  The API object is now instead aliased as self.api.
 
*  Removed the specific API method aliasing in the pipe_control.opendx module.  The API object is now instead aliased as self.api.
 
*  Docsting fixes for some model_statistics() API methods, including the base class method.
 
*  Docsting fixes for some model_statistics() API methods, including the base class method.
*  Rewrite of the rotor2 CaM test data optimisation script.  This now handles the new rotor frame order model parameterisation.  Two functions have been added for converting between the old and new parameters - alpha_angle() to calculate the new alpha parameter and shift_pivot() for shifting the pivot to the closest point to the CoM on the rotor axis.
+
*  Rewrite of the rotor2 CaM test data optimisation script.  This now handles the new rotor frame order model parameterisation.  Two functions have been added for converting between the old and new parameters - alpha_angle() to calculate the new &alpha; parameter and shift_pivot() for shifting the pivot to the closest point to the CoM on the rotor axis.
*  Changed how the rotor axis is calculated in the func_rotor() frame order target function.  A new set of notations is now being used to try to solve a nasty alpha angle parameterisation bug.
+
*  Changed how the rotor axis is calculated in the func_rotor() frame order target function.  A new set of notations is now being used to try to solve a nasty &alpha; angle parameterisation bug.
*  Updated the rotor2 CaM frame order test data optimisation script for the changed notation.  A new set of notations is now being used to try to solve a nasty alpha angle parameterisation bug.
+
*  Updated the rotor2 CaM frame order test data optimisation script for the changed notation.  A new set of notations is now being used to try to solve a nasty &alpha; angle parameterisation bug.
 
*  Fixed the average position Euler angles for the rotor2 CaM frame order test data optimisation script.  The angles needed to be reversed.
 
*  Fixed the average position Euler angles for the rotor2 CaM frame order test data optimisation script.  The angles needed to be reversed.
*  Removed an duplicated chi2 printout in the rotor2 CaM frame order test data optimisation script.
+
*  Removed an duplicated &chi;<sup>2</sup> printout in the rotor2 CaM frame order test data optimisation script.
 
*  Speedup - made [[B14]] use the pre-calculated inverse time, instead of calculating the inverse time inside the function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Speedup - made [[B14]] use the pre-calculated inverse time, instead of calculating the inverse time inside the function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Speedup - moved the repetitive calculations of pB, k_BA and k_AB out of the library function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Speedup - moved the repetitive calculations of p<sub>B</sub>, k<sub>BA</sub> and k<sub>AB</sub> out of the library function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Speedup - moved the calculation of deltaR2 and alpha_m out of library function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Speedup - moved the calculation of &delta;<sub>R<sub>2</sub></sub> and alpha_m out of library function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty-up code.  Re-ordered logic of r20 parameters, and exchange parameters in function call.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Pretty-up code.  Re-ordered logic of r20 parameters, and exchange parameters in function call.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Moved Carver and Richards (1972) zeta and Psi notation outside library function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  Not sure, if this speeds the calculation up.  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Moved Carver and Richards (1972) &zeta; and &Psi; notation outside library function.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  Not sure, if this speeds the calculation up.  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Speedup - made variable for the repetitive calculations of zeta**2, and Psi**2.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Speedup - made variable for the repetitive calculations of &zeta;<sup>2</sup>, and &Psi;<sup>2</sup>.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Speedup - made "1" and "2" integers to float, to prevent Python conversion.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Speedup - made "1" and "2" integers to float, to prevent Python conversion.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Speedup - repetitive calculations of 2.0 * tcp.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Speedup - repetitive calculations of 2.0 * tcp.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
Line 464: Line 464:
 
*  Added B14_FULL to the [http://www.nmr-relax.com/manual/relax_disp_select_model.html relax_disp.select_model user function] front end.  Added the model, its description, the equations for the analytic models, and all references to the [http://www.nmr-relax.com/manual/relax_disp_select_model.html relax_disp.select_model user function] front end.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax##The_relax_disp.select_model_user_function_front_end.
 
*  Added B14_FULL to the [http://www.nmr-relax.com/manual/relax_disp_select_model.html relax_disp.select_model user function] front end.  Added the model, its description, the equations for the analytic models, and all references to the [http://www.nmr-relax.com/manual/relax_disp_select_model.html relax_disp.select_model user function] front end.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax##The_relax_disp.select_model_user_function_front_end.
 
*  Added B14_FULL to the target function.  The system test Relax_disp.test_baldwin_synthetic_full is now back and running.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
 
*  Added B14_FULL to the target function.  The system test Relax_disp.test_baldwin_synthetic_full is now back and running.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
*  Implemented system test Relax_disp.test_baldwin_synthetic for the model [[B14]], whereby the simplification R20A = R20B is assumed.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Implemented system test Relax_disp.test_baldwin_synthetic for the model [[B14]], whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Added target function for the Baldwin (2014) 2-site exact solution model for all time scales, whereby the simplification R20A = R20B is assumed.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
+
*  Added target function for the Baldwin (2014) 2-site exact solution model for all time scales, whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_target_function.
*  Finished system test Relax_disp.test_baldwin_synthetic.  This proves that model [[B14]] whereby the simplification R20A = R20B is assumed is successfully implemented.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Finished system test Relax_disp.test_baldwin_synthetic.  This proves that model [[B14]] whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed is successfully implemented.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Added the synthetic data for [[B14]] model whereby the simplification R20A = R20B is assumed.  This is used in system test Relax_disp.test_baldwin_synthetic.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Added the synthetic data for [[B14]] model whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed.  This is used in system test Relax_disp.test_baldwin_synthetic.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Added B14 and B14_FULL to the relax GUI.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUI
 
*  Added B14 and B14_FULL to the relax GUI.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUI
 
*  Added the latex bibliography reference for the model [[B14]].  This is the reference for Baldwin (2014) B14 model - 2-site exact solution model for all time scales.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
 
*  Added the latex bibliography reference for the model [[B14]].  This is the reference for Baldwin (2014) B14 model - 2-site exact solution model for all time scales.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
 
*  Added model [[B14]] description in the manual.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
 
*  Added model [[B14]] description in the manual.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
 
*  Updated the references in the b14.py library file, to point to the wiki, and the future API and html documentation.  The link to API and html documentation is to be updated for the future compilation of these.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
 
*  Updated the references in the b14.py library file, to point to the wiki, and the future API and html documentation.  The link to API and html documentation is to be updated for the future compilation of these.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
*  Reinserted the library function of b14.py the calculation of:  deltaR2 = r20a - r20b; alpha_m = deltaR2 + k_AB - k_BA; zeta = 2 * dw * alpha_m; and Psi = alpha_m**2 + 4 * k_BA * k_AB - dw**2.  And put the g_fact = 1/sqrt(2), inside the library function.  It made no sense to put these calculations outside the library, since there would be no skipping of a loop.  It actually makes much better sense to keep these calculation in the library function, to preserve the possibility to import this module in other software.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Reinserted the library function of b14.py the calculation of:  &delta;<sub>R<sub>2</sub></sub> = r20a - r20b; alpha_m = &delta;<sub>R<sub>2</sub></sub> + k<sub>AB</sub> - k<sub>BA</sub>; &zeta; = 2 * &Delta;&omega; * alpha_m; and &Psi; = alpha_m<sup>2</sup> + 4 * k<sub>BA</sub> * k<sub>AB</sub> - &Delta;&omega;<sup>2</sup>.  And put the g_fact = 1/sqrt(2), inside the library function.  It made no sense to put these calculations outside the library, since there would be no skipping of a loop.  It actually makes much better sense to keep these calculation in the library function, to preserve the possibility to import this module in other software.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Removed the pre-calculation of "zeta2 = zeta**2" "Psi2 = Psi**2" since it did not speed-up things.  This power 2 of zeta and Psi is only done once.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Removed the pre-calculation of "zeta2 = zeta**2" "Psi2 = Psi**2" since it did not speed-up things.  This power 2 of &zeta; and &Psi; is only done once.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
*  Used LaTeX subequations instead, and using R2eff parameter is defined in the relax.tex.  Using the defined \Rtwoeff, \RtwozeroA, \RtwozeroB, \kAB, \kBA, \kex.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
+
*  Used LaTeX subequations instead, and using R<sub>2eff</sub> parameter is defined in the relax.tex.  Using the defined \Rtwoeff, \RtwozeroA, \RtwozeroB, \kAB, \kBA, \kex.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_relax_manual.
 
*  Fixes for all URLs in the HTML version of the relax manual.  This fix will appear later at http://www.nmr-relax.com/manual/index.html once the next version of relax is released.  The trick was to translate the \url{} LaTeX commands which are not recognised by latex2html into \htmladdnormallink{#1}{#1} commands using a htmlonly environment in the headers.
 
*  Fixes for all URLs in the HTML version of the relax manual.  This fix will appear later at http://www.nmr-relax.com/manual/index.html once the next version of relax is released.  The trick was to translate the \url{} LaTeX commands which are not recognised by latex2html into \htmladdnormallink{#1}{#1} commands using a htmlonly environment in the headers.
 
*  The \bibitem command is no longer ignored when building the HTML version of the relax manual.  This will allow the bibliography at http://www.nmr-relax.com/manual/Bibliography.html to be formatted in a reasonable way.  And citations will have proper links to the entries in this file rather than the current behaviour of linking to itself, hence not going anywhere.
 
*  The \bibitem command is no longer ignored when building the HTML version of the relax manual.  This will allow the bibliography at http://www.nmr-relax.com/manual/Bibliography.html to be formatted in a reasonable way.  And citations will have proper links to the entries in this file rather than the current behaviour of linking to itself, hence not going anywhere.
Line 509: Line 509:
 
*  Fix for model [[B14 full]] making ugly graphs.  The power of ncyc has to be an integer.  [https://gna.org/bugs/?22018 Bug #22018: Model B14 creates ugly graphs ! Sig saw all over the place].
 
*  Fix for model [[B14 full]] making ugly graphs.  The power of ncyc has to be an integer.  [https://gna.org/bugs/?22018 Bug #22018: Model B14 creates ugly graphs ! Sig saw all over the place].
 
*  Fixes for the HTML version of the relax manual.  The renewal of the \theequation command in the model-free and relaxation dispersion chapters was causing all equation numbers in latex2html to be broken.  By placing these in a latexonly environment, the problem is avoided in the HTML version at www.nmr-relax.com/manual/.
 
*  Fixes for the HTML version of the relax manual.  The renewal of the \theequation command in the model-free and relaxation dispersion chapters was causing all equation numbers in latex2html to be broken.  By placing these in a latexonly environment, the problem is avoided in the HTML version at www.nmr-relax.com/manual/.
*  Changed script for synthetic CPMG data.  This is to test the fitting of [[CR72]] and [[B14]], when creating R2eff data with numerical model: MODEL_NS_CPMG_2SITE_EXPANDED.  This script is ideal for testing cases.  One can readily define experiments settings: sfrq_X, time_T2_X, ncycs_X for simulating one or more spectrometer experiments.  Spins can readily be set up, to have different dynamics, like: r2, r2a, r2b, kex, pA and dw.  The script can test clustering, and can convert to Sherekhan and make a hyper-dimensinal dx map to test Chi2 hypersurface on parameter settings.  It is also ideal for strees-testing relax, to see if its minimisation algorithm performs well.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
+
*  Changed script for synthetic CPMG data.  This is to test the fitting of [[CR72]] and [[B14]], when creating R<sub>2eff</sub> data with numerical model: MODEL_NS_CPMG_2SITE_EXPANDED.  This script is ideal for testing cases.  One can readily define experiments settings: sfrq_X, time_T2_X, ncycs_X for simulating one or more spectrometer experiments.  Spins can readily be set up, to have different dynamics, like: r2, r2a, r2b, k<sub>ex</sub>, p<sub>A</sub> and &Delta;&omega;.  The script can test clustering, and can convert to Sherekhan and make a hyper-dimensinal dx map to test Chi2 hypersurface on parameter settings.  It is also ideal for strees-testing relax, to see if its minimisation algorithm performs well.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Small improvement for generic CPMG data script file.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Small improvement for generic CPMG data script file.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Added functionality of the visualising the spin dynamics point which generated the data.  This is to the script, which can visualize the synthetic CPMG data.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Added functionality of the visualising the spin dynamics point which generated the data.  This is to the script, which can visualize the synthetic CPMG data.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
Line 523: Line 523:
 
*  Added [[B14]] to the dispersion auto-analysis.  The B14 models will not create output files until this is done.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUI
 
*  Added [[B14]] to the dispersion auto-analysis.  The B14 models will not create output files until this is done.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#The_GUI
 
*  Completely removed the list_of_lists argument.  [https://gna.org/task/?7791 Task #7791, the dx.map should accept a list of list with values for points].
 
*  Completely removed the list_of_lists argument.  [https://gna.org/task/?7791 Task #7791, the dx.map should accept a list of list with values for points].
*  Modified the description of making x,y,z points in the chi2 space for the [http://www.nmr-relax.com/manual/dx_map.html user function dx.map].  [https://gna.org/task/?7791 Task #7791, the dx.map should accept a list of list with values for points].
+
*  Modified the description of making x,y,z points in the &chi;<sup>2</sup> space for the [http://www.nmr-relax.com/manual/dx_map.html user function dx.map].  [https://gna.org/task/?7791 Task #7791, the dx.map should accept a list of list with values for points].
 
*  Made solutions for math domain error.  Prevented to take log of negative values, and division by zero.  This though slows the implementation down.  System test Relax_disp.test_baldwin_synthetic_full went from 6.x seconds to 8-9.x seconds.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Made solutions for math domain error.  Prevented to take log of negative values, and division by zero.  This though slows the implementation down.  System test Relax_disp.test_baldwin_synthetic_full went from 6.x seconds to 8-9.x seconds.  [https://gna.org/support/?3154 Sr #3154, implementation of Baldwin (2014) B14 model - 2-site exact solution model for all time scales].  This follows the tutorial for adding relaxation dispersion models at: http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging.
 
*  Changed an 'align' environment to 'equation' as there was only one equation.
 
*  Changed an 'align' environment to 'equation' as there was only one equation.
Line 532: Line 532:
 
*  Added proper punctuation to the [[B14]] dispersion model equations in the manual.  Equations should be readable as English sentences and they follow standard punctuation rules.  All of the equations in the [[B14]] model section of the dispersion chapter have been updated to follow this.
 
*  Added proper punctuation to the [[B14]] dispersion model equations in the manual.  Equations should be readable as English sentences and they follow standard punctuation rules.  All of the equations in the [[B14]] model section of the dispersion chapter have been updated to follow this.
 
*  Fixes for quotation marks in the [[B14]] dispersion model section of the manual.  LaTeX requires `' for single quotes rather than ''.
 
*  Fixes for quotation marks in the [[B14]] dispersion model section of the manual.  LaTeX requires `' for single quotes rather than ''.
*  Standardised the [[CR72]] R2eff factor in the [[B14]] dispersion model section of the manual.  This is now defined in the preamble of the LaTeX manuscript.
+
*  Standardised the [[CR72]] R<sub>2eff</sub> factor in the [[B14]] dispersion model section of the manual.  This is now defined in the preamble of the LaTeX manuscript.
 
*  Converted all complex numbers 'i' in the [[B14]] dispersion model section of the manual to \imath.
 
*  Converted all complex numbers 'i' in the [[B14]] dispersion model section of the manual to \imath.
 
*  Removed some unnecessary {} brackets from the user manual.  This is for the [[B14]] model section of the dispersion chapter.
 
*  Removed some unnecessary {} brackets from the user manual.  This is for the [[B14]] model section of the dispersion chapter.
Line 549: Line 549:
 
*  More basic editing of the text of the [[B14]] dispersion model section of the manual.
 
*  More basic editing of the text of the [[B14]] dispersion model section of the manual.
 
*  The T_relax symbol is now defined in the preamble of the manual.  This is to standardise its usage in the dispersion chapter.
 
*  The T_relax symbol is now defined in the preamble of the manual.  This is to standardise its usage in the dispersion chapter.
*  Major fix for the R2eff equations for the [[B14]] dispersion model in the manual.  Here tau_CPMG, the time for one CPMG block, was mixed up with T_relax, the total time of all CPMG blocks.
+
*  Major fix for the R<sub>2eff</sub> equations for the [[B14]] dispersion model in the manual.  Here &tau;<sub>CPMG</sub>, the time for one CPMG block, was mixed up with T<sub>relax</sub>, the total time of all CPMG blocks.
 
*  Switched some 'v' symbols to '\nu' in the [[B14]] dispersion model section of the manual.
 
*  Switched some 'v' symbols to '\nu' in the [[B14]] dispersion model section of the manual.
 
*  Standardised the spacing in the equations for the [[B14]] dispersion model in the manual.
 
*  Standardised the spacing in the equations for the [[B14]] dispersion model in the manual.
 
*  Clean ups for the end of the [[B14]] dispersion model section of the manual.  Here a number of 'v' were changed to \nu and the standard \kAB, \pA, and \pB are now used.
 
*  Clean ups for the end of the [[B14]] dispersion model section of the manual.  Here a number of 'v' were changed to \nu and the standard \kAB, \pA, and \pB are now used.
*  Some more tau_CPMG verses T_relax fixes for the [[B14]] dispersion model equations in the manual.
+
*  Some more &tau;<sub>CPMG</sub> verses T<sub>relax</sub> fixes for the [[B14]] dispersion model equations in the manual.
 
*  Added some symmetry to the T equation in the [[B14]] dispersion model section of the manual.
 
*  Added some symmetry to the T equation in the [[B14]] dispersion model section of the manual.
 
*  Latex2html fixes for the HTML version of the relax manual.  This is for the documentation at http://www.nmr-relax.com/manual/index.html.  Latex2html has problems determining if the contents of environments should added to the sub or superscript.  For example $1^\textrm{st}$ is not recognised and must be changed to $1^{\textrm{st}}$ for latex2html to function correctly.  Therefore these problems have been fixed throughout the manual.  The number of errors printed out by latex2html is now significantly less.
 
*  Latex2html fixes for the HTML version of the relax manual.  This is for the documentation at http://www.nmr-relax.com/manual/index.html.  Latex2html has problems determining if the contents of environments should added to the sub or superscript.  For example $1^\textrm{st}$ is not recognised and must be changed to $1^{\textrm{st}}$ for latex2html to function correctly.  Therefore these problems have been fixed throughout the manual.  The number of errors printed out by latex2html is now significantly less.
 
*  Shifted the model-free model equations for the HTML manual to the subequations environment.  This is for the relax manual at http://www.nmr-relax.com/manual/index.html  This is to preserve the equation numbering so that the HTML and PDF equation numbers match as closely as possible.
 
*  Shifted the model-free model equations for the HTML manual to the subequations environment.  This is for the relax manual at http://www.nmr-relax.com/manual/index.html  This is to preserve the equation numbering so that the HTML and PDF equation numbers match as closely as possible.
 
*  Fixes for the equation number in the HTML version of the manual.  This is for the relax manual at http://www.nmr-relax.com/manual/index.html.
 
*  Fixes for the equation number in the HTML version of the manual.  This is for the relax manual at http://www.nmr-relax.com/manual/index.html.
*  Made collecting of min, max and median value of chi2, when creating the chi2 map.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
+
*  Made collecting of min, max and median value of &chi;<sup>2</sup>, when creating the &chi;<sup>2</sup> map.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
*  Made the parsing of the min, max and median chi2 value to be used to define the chi2 hypersurfaces when writing the dx .net program.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
+
*  Made the parsing of the min, max and median &chi;<sup>2</sup> value to be used to define the &chi;<sup>2</sup> hypersurfaces when writing the dx .net program.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Updated the latex2html HTML version to 4.1.  This is for the relax manual at http://www.nmr-relax.com/manual/index.html.
 
*  Updated the latex2html HTML version to 4.1.  This is for the relax manual at http://www.nmr-relax.com/manual/index.html.
 
*  Removed the "remap" keyword in the dx.map function, since this is not in use.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Removed the "remap" keyword in the dx.map function, since this is not in use.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Removed the keywords for "remap" in backend function, since this was not used.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Removed the keywords for "remap" in backend function, since this was not used.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
*  Added the keyword "chi_surface" to the front-end dx.map function.  To set the chi2 surface level for the innermost, inner, middle and outer isosurface.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
+
*  Added the keyword "chi_surface" to the front-end dx.map function.  To set the &chi;<sup>2</sup> surface level for the innermost, inner, middle and outer isosurface.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
*  Added the chi_surface=None to the backend function.  When None, it will try to find reasonable chi2 values.  These will define surface levels for the innermost, inner, middle and outer isosurface.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
+
*  Added the chi_surface=None to the backend function.  When None, it will try to find reasonable &chi;<sup>2</sup> values.  These will define surface levels for the innermost, inner, middle and outer isosurface.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
*  Now saves all chi2 values, to better find reasonable chi level for the innermost, inner, middle and outer isosurface.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
+
*  Now saves all &chi;<sup>2</sup> values, to better find reasonable chi level for the innermost, inner, middle and outer isosurface.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
*  Made the standard values of chi2 surface be 10, 20, 50 and 90 percentile of all chi2 values.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
+
*  Made the standard values of &chi;<sup>2</sup> surface be 10, 20, 50 and 90 percentile of all &chi;<sup>2</sup> values.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Increased the precision of many of the Frame_order.test_rigid_data_to_*_model system tests.  This is to fix a test which was failing due to the recent re-parameterisation of the rotor frame order model to eliminate one parameter.  The precision of the numeric Sobol' sequence integration has been increased by shifting the fixed parameter values even closer to zero.  As a consequence, the chi-squared value of five of these tests is now lower.
 
*  Increased the precision of many of the Frame_order.test_rigid_data_to_*_model system tests.  This is to fix a test which was failing due to the recent re-parameterisation of the rotor frame order model to eliminate one parameter.  The precision of the numeric Sobol' sequence integration has been increased by shifting the fixed parameter values even closer to zero.  As a consequence, the chi-squared value of five of these tests is now lower.
 
*  Fix for system test Relax_dips.test_cpmg_synthetic_dx_map_points.  Removing keyword "remap", since this is not in use anymore.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Fix for system test Relax_dips.test_cpmg_synthetic_dx_map_points.  Removing keyword "remap", since this is not in use anymore.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
Line 574: Line 574:
 
*  Added "numpy_future" to the __init__.py file in lib directory.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Added "numpy_future" to the __init__.py file in lib directory.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Moved numpy_future from lib to extern.  Extern is special package for external software or code that is bundled with relax.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
 
*  Moved numpy_future from lib to extern.  Extern is special package for external software or code that is bundled with relax.  [https://gna.org/task/?7792 Task #7792, make the dx.map write suggest chi surface values].
*  Updated synthetic CPMG data script.  This is to analyse complex dispersion data.  Related to [https://gna.org/bugs/?22021 bug #22021 model B14 shows bad fitting to data].  [https://gna.org/bugs/?22024 Bug #22024 minimisation space for CR72 is catastrophic]. The chi2 surface over dw and pA is bounded.
+
*  Updated synthetic CPMG data script.  This is to analyse complex dispersion data.  Related to [https://gna.org/bugs/?22021 bug #22021 model B14 shows bad fitting to data].  [https://gna.org/bugs/?22024 Bug #22024 minimisation space for CR72 is catastrophic]. The &chi;<sup>2</sup> surface over &Delta;&omega; and p<sub>A</sub> is bounded.
 
*  Added 4 unit tests for the lib.geometry.lines.closest_point_ax() function.  This relax library function was previously not being checked in the test suite.
 
*  Added 4 unit tests for the lib.geometry.lines.closest_point_ax() function.  This relax library function was previously not being checked in the test suite.
 
*  Modified the rotor2 CaM frame order test data optimisation script to optimise the pivot.  Print statements has been added for comparing the optimised to the original pivot.  The rotation axis is now also only created once, as it is now used in three places in the script, hence the two functions for converting parameters to the new parameterisation have been updated.
 
*  Modified the rotor2 CaM frame order test data optimisation script to optimise the pivot.  Print statements has been added for comparing the optimised to the original pivot.  The rotation axis is now also only created once, as it is now used in three places in the script, hence the two functions for converting parameters to the new parameterisation have been updated.
Line 615: Line 615:
  
 
*  Fix for [https://gna.org/bugs/?21814 bug #21814, the PDB reading failure when the PDB records are not padded to 80 spaces].  The fix is simple, all PDB records are pre-validated.  This includes removing all newline characters and padding each PDB record to 80 spaces when needed.  This will however add an overhead cost -- the internal PDB reader will now be slower.  However corrupted PDB files, produced by MODELLER for example, not padded to 80 spaces will now be better supported.
 
*  Fix for [https://gna.org/bugs/?21814 bug #21814, the PDB reading failure when the PDB records are not padded to 80 spaces].  The fix is simple, all PDB records are pre-validated.  This includes removing all newline characters and padding each PDB record to 80 spaces when needed.  This will however add an overhead cost -- the internal PDB reader will now be slower.  However corrupted PDB files, produced by MODELLER for example, not padded to 80 spaces will now be better supported.
*  Bug fix for all of the R1rho relaxation dispersion models.  The atan2() function is now being used rather than atan() for determining the rotating frame tilt angle.  This is to allow the angle to be in the correct quadrant - i.e. to have a sign or direction.
+
*  Bug fix for all of the R<sub>1&rho;</sub> relaxation dispersion models.  The atan2() function is now being used rather than atan() for determining the rotating frame tilt angle.  This is to allow the angle to be in the correct quadrant - i.e. to have a sign or direction.
 
*  Huge speed up of the [http://www.nmr-relax.com/manual/interatom_define.html interatom.define user function].  This is to fix [https://gna.org/bugs/?21862 bug #21862, the freezing up of relax when using the dipolar relaxation button in the model-free auto-analysis in the GUI].  This involves a number of changes.  The algorithm for the backend of the interatom.define user function has been broken into two separate parts.  The first part is new and uses the internal structural object atom_loop() twice for each spin ID string.  This then calls the new are_bonded_index() structural object method which uses atom indices to find if two atoms are bonded, as the atom indices are returned from the atom_loop().  The are_bonded_index() is orders of magnitude faster than are_bonded() as selection objects are not used and the bonded data structure can be directly accessed.  The are_bonded() method has also been slightly speed up by improving its logic.  The second part is to perform the original algorithm of two nested spin loops over each spin ID and using the are_bonded() structural method.  This second part only happens if the first part finds nothing.  The structural object atom_loop() method has been modified to be able to return the molecule index.  These indices are needed for the new are_bonded_index() method.  When running relax with the profile flag turned on, a simple script which loads the 'Ubiquitin2.bz2' saved state and then the "interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True)" user function decreases from a total time of 143 to 3.8 seconds.  However there are no speed changes detectable in the relax test suite - on one computer the system, unit and GUI tests only only vary by a fraction of a second.
 
*  Huge speed up of the [http://www.nmr-relax.com/manual/interatom_define.html interatom.define user function].  This is to fix [https://gna.org/bugs/?21862 bug #21862, the freezing up of relax when using the dipolar relaxation button in the model-free auto-analysis in the GUI].  This involves a number of changes.  The algorithm for the backend of the interatom.define user function has been broken into two separate parts.  The first part is new and uses the internal structural object atom_loop() twice for each spin ID string.  This then calls the new are_bonded_index() structural object method which uses atom indices to find if two atoms are bonded, as the atom indices are returned from the atom_loop().  The are_bonded_index() is orders of magnitude faster than are_bonded() as selection objects are not used and the bonded data structure can be directly accessed.  The are_bonded() method has also been slightly speed up by improving its logic.  The second part is to perform the original algorithm of two nested spin loops over each spin ID and using the are_bonded() structural method.  This second part only happens if the first part finds nothing.  The structural object atom_loop() method has been modified to be able to return the molecule index.  These indices are needed for the new are_bonded_index() method.  When running relax with the profile flag turned on, a simple script which loads the 'Ubiquitin2.bz2' saved state and then the "interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True)" user function decreases from a total time of 143 to 3.8 seconds.  However there are no speed changes detectable in the relax test suite - on one computer the system, unit and GUI tests only only vary by a fraction of a second.
 
*  Fix for the NOE analysis for the peak intensity parameters.  This relates to [https://gna.org/bugs/?21863 bug #21863, the grace.write user function not being able to write ref/sat plots as described in sample script noe.py].  The 'ref' and 'sat' parameters have been replaced by the 'intensities' dictionary data structure a long, long time ago.  Therefore they have been eliminated and replaced by the 'intensities' definition.
 
*  Fix for the NOE analysis for the peak intensity parameters.  This relates to [https://gna.org/bugs/?21863 bug #21863, the grace.write user function not being able to write ref/sat plots as described in sample script noe.py].  The 'ref' and 'sat' parameters have been replaced by the 'intensities' dictionary data structure a long, long time ago.  Therefore they have been eliminated and replaced by the 'intensities' definition.
Line 621: Line 621:
 
*  Fixes for the definitions of the 'theta' and 'w_eff' relaxation dispersion parameters.  These should not be manually changed by the user and they are not optimised parameter.  Therefore they have been shifted from the set 'params' to the set 'all', to avoid listing them in the parameter tables (for example in the [http://www.nmr-relax.com/manual/value_set.html value.set user function]).
 
*  Fixes for the definitions of the 'theta' and 'w_eff' relaxation dispersion parameters.  These should not be manually changed by the user and they are not optimised parameter.  Therefore they have been shifted from the set 'params' to the set 'all', to avoid listing them in the parameter tables (for example in the [http://www.nmr-relax.com/manual/value_set.html value.set user function]).
 
*  Fixes for the [http://www.nmr-relax.com/manual/frame_order_pivot.html frame_order.pivot user function] - the model parameters were not being updated.  The update_model() function is now called to make sure that the pivot point is either added or removed from the list of model parameters.
 
*  Fixes for the [http://www.nmr-relax.com/manual/frame_order_pivot.html frame_order.pivot user function] - the model parameters were not being updated.  The update_model() function is now called to make sure that the pivot point is either added or removed from the list of model parameters.
*  Fix for [https://gna.org/bugs/?21924 bug #21924, the failure to output 2D Grace plots for the R20, R20A, R20B, and R1rho0 relaxation dispersion parameters].  A simple test for missing data fixed the problem.
+
*  Fix for [https://gna.org/bugs/?21924 bug #21924, the failure to output 2D Grace plots for the R<sub>2</sub><sup>0</sup>, R<sub>2A</sub><sup>0</sup>, R<sub>2B</sub><sup>0</sup>, and R<sub>1&rho;</sub><sup>0</sup> relaxation dispersion parameters].  A simple test for missing data fixed the problem.
 
*  Fix for the Relax_disp.test_korzhnev_2005_15n_sq_data system test for certain MS Windows systems.  This was reported as [http://gna.org/support/?3142 sr #3142].  The problem was simply the lower precision of this system.
 
*  Fix for the Relax_disp.test_korzhnev_2005_15n_sq_data system test for certain MS Windows systems.  This was reported as [http://gna.org/support/?3142 sr #3142].  The problem was simply the lower precision of this system.
 
*  Fix for the cpmg_analysis.py relaxation dispersion sample script.  This was reported as [http://gna.org/support/?3142 sr #3142].  The problem was that one of the paths was in the Linux/Unix format and hence if the path is not changed by the user, then the script will not work for them if they are using MS Windows or Mac OS X.
 
*  Fix for the cpmg_analysis.py relaxation dispersion sample script.  This was reported as [http://gna.org/support/?3142 sr #3142].  The problem was that one of the paths was in the Linux/Unix format and hence if the path is not changed by the user, then the script will not work for them if they are using MS Windows or Mac OS X.
Line 629: Line 629:
 
*  Python 3 fix for the Relax_disp.test_kteilum_mhsmith_eschulz_lcchristensen_gsolomentsev_moliveberg_makke_sod1wt_t25_to_cr72 system test.  The xrange builtin function does not exist in Python 3.
 
*  Python 3 fix for the Relax_disp.test_kteilum_mhsmith_eschulz_lcchristensen_gsolomentsev_moliveberg_makke_sod1wt_t25_to_cr72 system test.  The xrange builtin function does not exist in Python 3.
 
*  Python 3 fix for the Relax_disp.setup_sod1wt_t25 system test.  The xrange builtin function does not exist in Python 3.
 
*  Python 3 fix for the Relax_disp.setup_sod1wt_t25 system test.  The xrange builtin function does not exist in Python 3.
*  Updated the Relax_disp.test_hansen_cpmg_data_missing_auto_analysis system test for the recent changes.  This is for fixing [https://gna.org/bugs/?21960 bug #21960].  The chi-square values are different due to the fix for [https://gna.org/bugs/?21954 bug #21954, the peak intensity error analysis bug], and the [[CR72]] model results are different due to the fix for [https://gna.org/bugs/?21953 bug #21953, the change of the kex values used in the grid search].
+
*  Updated the Relax_disp.test_hansen_cpmg_data_missing_auto_analysis system test for the recent changes.  This is for fixing [https://gna.org/bugs/?21960 bug #21960].  The chi-square values are different due to the fix for [https://gna.org/bugs/?21954 bug #21954, the peak intensity error analysis bug], and the [[CR72]] model results are different due to the fix for [https://gna.org/bugs/?21953 bug #21953, the change of the k<sub>ex</sub> values used in the grid search].
 
*  Fix for the [http://www.nmr-relax.com/manual/relax_disp_select_model.html relax_disp.select_model user function] for when the C modules are not compiled.  This was checking for the presence of the compiled C modules whenever the [[R2eff]] model was specified.  However this behaviour is incorrect.  It should only check for the C modules if exponential curves are to be fit.
 
*  Fix for the [http://www.nmr-relax.com/manual/relax_disp_select_model.html relax_disp.select_model user function] for when the C modules are not compiled.  This was checking for the presence of the compiled C modules whenever the [[R2eff]] model was specified.  However this behaviour is incorrect.  It should only check for the C modules if exponential curves are to be fit.
 
*  Fix for bug.  The variances used to calculated std, should only be taken from those which are defined in the subset.  Regarding [https://gna.org/bugs/?21954 bug #21954, order of spectrum.error_analysis is important].
 
*  Fix for bug.  The variances used to calculated std, should only be taken from those which are defined in the subset.  Regarding [https://gna.org/bugs/?21954 bug #21954, order of spectrum.error_analysis is important].
Line 646: Line 646:
 
*  Fix for the local_min_search.py N-state model sample script.  The return_api() function call was preformed too early.  Instead of placing it after the data pipe creation, the specific analysis type is now directly specified.
 
*  Fix for the local_min_search.py N-state model sample script.  The return_api() function call was preformed too early.  Instead of placing it after the data pipe creation, the specific analysis type is now directly specified.
 
*  Fix for type in the eta scale of [[CR72]] model.  The calculation in relax was correct, but the scale of eta has been wrong in the documentation.  This was discussed in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5506.
 
*  Fix for type in the eta scale of [[CR72]] model.  The calculation in relax was correct, but the scale of eta has been wrong in the documentation.  This was discussed in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5506.
*  Bug fix for taking the median if there is more than 0 values in the list.  [https://gna.org/bugs/?22010 Bug #22010: relax_disp.parameter_copy return a list of pA, if copying only for one spin].
+
*  Bug fix for taking the median if there is more than 0 values in the list.  [https://gna.org/bugs/?22010 Bug #22010: relax_disp.parameter_copy return a list of p<sub>A</sub>, if copying only for one spin].
 
*  Fix for the dispersion model_statistics() specific API method.  The spin ID argument should override the model_info argument.  The method now correctly implements this.
 
*  Fix for the dispersion model_statistics() specific API method.  The spin ID argument should override the model_info argument.  The method now correctly implements this.
 
*  Fixed the rotor axis direction in the lib.frame_order.rotor_axis module.  The normalisation code has also been simplified.
 
*  Fixed the rotor axis direction in the lib.frame_order.rotor_axis module.  The normalisation code has also been simplified.
Line 652: Line 652:
 
*  Added another sentence telling the user that multiple field relaxation data is essential.  This is for the model-free dauvergne_protocol auto-analysis section of the relax manual and relates to [https://gna.org/bugs/?21799 bug #21799].
 
*  Added another sentence telling the user that multiple field relaxation data is essential.  This is for the model-free dauvergne_protocol auto-analysis section of the relax manual and relates to [https://gna.org/bugs/?21799 bug #21799].
 
*  Another sentence about multiple field relaxation data added to the manual.  This is for the model-free dauvergne_protocol GUI section of the relax manual and relates to [https://gna.org/bugs/?21799 bug #21799].
 
*  Another sentence about multiple field relaxation data added to the manual.  This is for the model-free dauvergne_protocol GUI section of the relax manual and relates to [https://gna.org/bugs/?21799 bug #21799].
*  Documentation fix for [[IT99]].  Changed kex to tex.  Still needs to be changed at homepage: http://www.nmr-relax.com/analyses/relaxation_dispersion.html#IT99.  [https://gna.org/bugs/?22019 Bug #22019: the IT99 model is listed with parameter kex instead of tex].
+
*  Documentation fix for [[IT99]].  Changed k<sub>ex</sub> to tex.  Still needs to be changed at homepage: http://www.nmr-relax.com/analyses/relaxation_dispersion.html#IT99.  [https://gna.org/bugs/?22019 Bug #22019: the IT99 model is listed with parameter k<sub>ex</sub> instead of tex].
*  Documentation fix for [[IT99]].  Changed kex to tex in user function.  [https://gna.org/bugs/?22019 Bug #22019: the IT99 model is listed with parameter kex instead of tex].
+
*  Documentation fix for [[IT99]].  Changed k<sub>ex</sub> to tex in user function.  [https://gna.org/bugs/?22019 Bug #22019: the IT99 model is listed with parameter k<sub>ex</sub> instead of tex].
 
*  Small extra explanation in auto analysis.  [https://gna.org/bugs/?21799 Bug #21799: Insufficient recommendations/warning message for the execution of dauvergne protocol with 1 field is incomplete].
 
*  Small extra explanation in auto analysis.  [https://gna.org/bugs/?21799 Bug #21799: Insufficient recommendations/warning message for the execution of dauvergne protocol with 1 field is incomplete].
 
*  Big bug fix for the relax installation path determination.  This is to fix [http://gna.org/bugs/?22037 bug #22037, the failure to load graphics in the GUI due to the relax installation path not being set up correctly].  The problem is that the status module was looking for the compat.py file to determine where the base directory is, but this file has been moved into the lib/ package.  Now the dep_check.py file is being searched for.
 
*  Big bug fix for the relax installation path determination.  This is to fix [http://gna.org/bugs/?22037 bug #22037, the failure to load graphics in the GUI due to the relax installation path not being set up correctly].  The problem is that the status module was looking for the compat.py file to determine where the base directory is, but this file has been moved into the lib/ package.  Now the dep_check.py file is being searched for.

Revision as of 16:21, 9 September 2014


Description

This is a major feature release. It includes the addition of the new B14 and B14 full relaxation dispersion models [Baldwin 2014], a complete rearrangement of the module layout of the specific analyses packages, a number of new user functions, documentation improvements including the addition of a new chapter to the manual for the N-state model or ensemble analysis, and numerous of other features. This is also a major bugfix release, so all users are recommended to upgrade. This is essential if you are using the new relaxation dispersion analysis in relax as a severe bug in the error calculation has been corrected. See below for a comprehensive list of new features, the rather large number of changes, and the long list of all bugs fixed.


Download

The new relax versions can be downloaded from http://www.nmr-relax.com/download.html. If binary distributions are not yet available for your platform and you manage to compile the binary modules, please consider contributing these to the relax project (described in section 3.6 of the relax manual, http://www.nmr-relax.com/manual/relax_distribution_archives.html).


CHANGES file

Version 3.2.0 (20 May 2014, from /trunk) http://svn.gna.org/svn/relax/tags/3.2.0


Features

  • Addition of the vector_angle() relax library function for calculating the signed or directional angle between two vectors.
  • Huge speed up of the interatom.define user function.
  • For improved feedback, a busy cursor is shown in the GUI when executing user functions.
  • The steady-state NOE auto-analysis now produces a 2D Grace plot of the reference and saturated spectra peak intensity values.
  • Complete redesign of the specific analyses backend, simplifying and cleaning up this internal API and making it easier for users to add completely new analysis types to relax.
  • Parametric reduction of the rotor frame order model, eliminating one redundant parameter hence simplifying optimisation.
  • Large improvement for the lib.software.grace module. The '*_err' and '*_bc' parameter names for the parameter error and back-calculated parameters respectively are now supported, allowing these values to be easily plotted.
  • Expansion of the value.set user function to handle parameters which consist of lists of values. The index argument has been added to allow the index of the list to be specified, and this is then propagated into the specific analysis API.
  • Improvements for the parameter definitions in all analysis types. This allows for better output in 2D plots and text files.
  • Implemented linear constraints for the frame order analysis. This uses the log-barrier constraint algorithm in the minfx library to provide constraints without requiring gradients.
  • Improved and expanded the relax command line options for debugging.
  • Full independence of the relax library so that it can be used outside of relax.
  • The addition of a relaxation dispersion user function for setting the R20 values to the minimum R2eff value.
  • Expanded capabilities for the relax_disp.sherekhan_input user function.
  • Implementation of the B14 and B14 full relaxation dispersion CPMG models for 2-site exchange for all time scales (from the new paper [Baldwin 2014] at http://dx.doi.org/10.1016/j.jmr.2014.02.023).
  • Large improvements to the relax HTML manual including fixes for URLs, bibliography entries, links, and tables.
  • Support for multiple point creation for the OpenDX chi-squared space mapping user function.
  • Automatic determination of reasonable initial contour levels for the OpenDX mapping user function.
  • Addition of a new chapter to the manual for the N-state model or ensemble analysis.
  • Creation of the new pymol.frame_order user function for visualising results.
  • Expansion of the Grace 2D data plotting capabilities.


Changes


Bugfixes

  • Fix for bug #21814, the PDB reading failure when the PDB records are not padded to 80 spaces. The fix is simple, all PDB records are pre-validated. This includes removing all newline characters and padding each PDB record to 80 spaces when needed. This will however add an overhead cost -- the internal PDB reader will now be slower. However corrupted PDB files, produced by MODELLER for example, not padded to 80 spaces will now be better supported.
  • Bug fix for all of the R relaxation dispersion models. The atan2() function is now being used rather than atan() for determining the rotating frame tilt angle. This is to allow the angle to be in the correct quadrant - i.e. to have a sign or direction.
  • Huge speed up of the interatom.define user function. This is to fix bug #21862, the freezing up of relax when using the dipolar relaxation button in the model-free auto-analysis in the GUI. This involves a number of changes. The algorithm for the backend of the interatom.define user function has been broken into two separate parts. The first part is new and uses the internal structural object atom_loop() twice for each spin ID string. This then calls the new are_bonded_index() structural object method which uses atom indices to find if two atoms are bonded, as the atom indices are returned from the atom_loop(). The are_bonded_index() is orders of magnitude faster than are_bonded() as selection objects are not used and the bonded data structure can be directly accessed. The are_bonded() method has also been slightly speed up by improving its logic. The second part is to perform the original algorithm of two nested spin loops over each spin ID and using the are_bonded() structural method. This second part only happens if the first part finds nothing. The structural object atom_loop() method has been modified to be able to return the molecule index. These indices are needed for the new are_bonded_index() method. When running relax with the profile flag turned on, a simple script which loads the 'Ubiquitin2.bz2' saved state and then the "interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True)" user function decreases from a total time of 143 to 3.8 seconds. However there are no speed changes detectable in the relax test suite - on one computer the system, unit and GUI tests only only vary by a fraction of a second.
  • Fix for the NOE analysis for the peak intensity parameters. This relates to bug #21863, the grace.write user function not being able to write ref/sat plots as described in sample script noe.py. The 'ref' and 'sat' parameters have been replaced by the 'intensities' dictionary data structure a long, long time ago. Therefore they have been eliminated and replaced by the 'intensities' definition.
  • Fixes for the definitions of the N-state model analysis parameters. This analysis does not use the CSA value, and the paramagnetic centre is a list, not a float.
  • Fixes for the definitions of the 'theta' and 'w_eff' relaxation dispersion parameters. These should not be manually changed by the user and they are not optimised parameter. Therefore they have been shifted from the set 'params' to the set 'all', to avoid listing them in the parameter tables (for example in the value.set user function).
  • Fixes for the frame_order.pivot user function - the model parameters were not being updated. The update_model() function is now called to make sure that the pivot point is either added or removed from the list of model parameters.
  • Fix for bug #21924, the failure to output 2D Grace plots for the R20, R2A0, R2B0, and R0 relaxation dispersion parameters. A simple test for missing data fixed the problem.
  • Fix for the Relax_disp.test_korzhnev_2005_15n_sq_data system test for certain MS Windows systems. This was reported as sr #3142. The problem was simply the lower precision of this system.
  • Fix for the cpmg_analysis.py relaxation dispersion sample script. This was reported as sr #3142. The problem was that one of the paths was in the Linux/Unix format and hence if the path is not changed by the user, then the script will not work for them if they are using MS Windows or Mac OS X.
  • More path fixes for the sample scripts to allow them to run on MS Windows and Mac OS X. This is for the relaxation dispersion R1rho_analysis.py script and the N-state model conformation_analysis_rdc+pcs.py script. These scripts should be modified by the user for their own data, so they should not encounter this problem when using the scripts normally.
  • Python 3 fixes throughout the codebase.
  • Python 3 fix for the Library.test_library_independence software verification test.
  • Python 3 fix for the Relax_disp.test_kteilum_mhsmith_eschulz_lcchristensen_gsolomentsev_moliveberg_makke_sod1wt_t25_to_cr72 system test. The xrange builtin function does not exist in Python 3.
  • Python 3 fix for the Relax_disp.setup_sod1wt_t25 system test. The xrange builtin function does not exist in Python 3.
  • Updated the Relax_disp.test_hansen_cpmg_data_missing_auto_analysis system test for the recent changes. This is for fixing bug #21960. The chi-square values are different due to the fix for bug #21954, the peak intensity error analysis bug, and the CR72 model results are different due to the fix for bug #21953, the change of the kex values used in the grid search.
  • Fix for the relax_disp.select_model user function for when the C modules are not compiled. This was checking for the presence of the compiled C modules whenever the R2eff model was specified. However this behaviour is incorrect. It should only check for the C modules if exponential curves are to be fit.
  • Fix for bug. The variances used to calculated std, should only be taken from those which are defined in the subset. Regarding bug #21954, order of spectrum.error_analysis is important.
  • Fix for system test Relax_disp.test_hansen_cpmgfit_input. Bug #21989, relax_disp.cpmgfit_input does not work for model CR72. The looping was performed over the file lines instead of the defined fixed lines. The output files is truncated, and does not contain the wished data.
  • Fix for "offset" and "point" swapped in looping. Bug #21989, relax_disp.cpmgfit_input does not work for model CR72.
  • Fix for bug #21990, the --log and --tee options not functioning with the test suite.
  • Fix for bug #21970. The Mac OS X dmg file required one of the test_suite/shared_data directories included in the 'include' list to properly bundle all relax modules inside the Mac App framework. This was achieved by creating a whitelist structure and adding the directory to that.
  • Fix for bug #21984, the numpy.float16 error. The numpy.float16 type is not defined for all numpy versions. Therefore the lib.check_types.float16 type is used instead as this defaults to numpy.float32 when numpy.float16 is missing.
  • Fix for the relax_disp.parameter_copy function. The median of the values was not performed properly, since 0.0 was already in the starting list of values.
  • Fix for the relax_disp.parameter_copy user function description. The parameters are not averaged but instead the median value from all spins is taken.
  • Fix for bug #22001, the execution of script changing the current working directory. The changing of the current working directory (CWD) was added to allow for nested scripting. However this is no longer needed as the script import mechanism has changed from the exec() function call to the runpy Python module.
  • Fix for bug #22002, the failure of the Library.test_library_independence software verification test. The fix was simply to use the relax installation path in the status singleton object to make sure that the relax 'lib' directory can be found independently of what the current working directory is.
  • Fix for path to sample data in sample script: sample_scripts/relax_disp/cpmg_analysis.py.
  • Fix for path to sample data in sample script: sample_scripts/relax_disp/R1rho_analysis.py.
  • Fix for bug #22004, the conformation_analysis_rdc+pcs.py N-state model sample script not working. The problem was that the return_api() function call needed to be after the creation of the data pipe.
  • Fix for the local_min_search.py N-state model sample script. The return_api() function call was preformed too early. Instead of placing it after the data pipe creation, the specific analysis type is now directly specified.
  • Fix for type in the eta scale of CR72 model. The calculation in relax was correct, but the scale of eta has been wrong in the documentation. This was discussed in: http://thread.gmane.org/gmane.science.nmr.relax.devel/5506.
  • Bug fix for taking the median if there is more than 0 values in the list. Bug #22010: relax_disp.parameter_copy return a list of pA, if copying only for one spin.
  • Fix for the dispersion model_statistics() specific API method. The spin ID argument should override the model_info argument. The method now correctly implements this.
  • Fixed the rotor axis direction in the lib.frame_order.rotor_axis module. The normalisation code has also been simplified.
  • Fix for tabular space and forgotten "\n" when writing dx.maps config files. Bug #22023: relax dx.map produce .net files which makes error.
  • Added another sentence telling the user that multiple field relaxation data is essential. This is for the model-free dauvergne_protocol auto-analysis section of the relax manual and relates to bug #21799.
  • Another sentence about multiple field relaxation data added to the manual. This is for the model-free dauvergne_protocol GUI section of the relax manual and relates to bug #21799.
  • Documentation fix for IT99. Changed kex to tex. Still needs to be changed at homepage: http://www.nmr-relax.com/analyses/relaxation_dispersion.html#IT99. Bug #22019: the IT99 model is listed with parameter kex instead of tex.
  • Documentation fix for IT99. Changed kex to tex in user function. Bug #22019: the IT99 model is listed with parameter kex instead of tex.
  • Small extra explanation in auto analysis. Bug #21799: Insufficient recommendations/warning message for the execution of dauvergne protocol with 1 field is incomplete.
  • Big bug fix for the relax installation path determination. This is to fix bug #22037, the failure to load graphics in the GUI due to the relax installation path not being set up correctly. The problem is that the status module was looking for the compat.py file to determine where the base directory is, but this file has been moved into the lib/ package. Now the dep_check.py file is being searched for.
  • Fixed the description of the N-state model in the pipe.create user function. This has nothing to do with domain motions - it is the treatment of ensembles of structures.
  • Fix for the axis labels in the rdc.corr_plot user function when T data is converted to D.
  • Fix for bug #22039, the printing out of Dpar twice by the diffusion_tensor.display user function. This is reported at https://gna.org/bugs/?22039. The solution is given in the original bug report.
  • Fix for bug #22041, the PDB atom serial number error from the structure.write_pdb user function. This was reported at https://gna.org/bugs/?22041. The problem is that the structure.write_pdb user function preserves the atom numbering from the original structure and uses that for the atom serial number. However the atom serial number must be replaced with sequential values to produce a valid PDB file. This is fatal for any CONECT records.
  • Fix for the chain-reaction failures in the test suite. This fixes bug #22055, the processor.run_queue() not cleaning up in uni_processor - chain-reaction failures in the test suite. The fix was insanely simple, just implementing what was mentioned Gary Thompson's FIXME comment in the run_queue() method of the uni-processor object. The queue execution code has been placed inside a 'try' statement and the queue cleaning up code in a 'finally' statement. This closes a painfully difficult to find bug that has been in relax since 2006, though only affecting relax developers.


Links

For reference, the following links are also part of the announcement for this release:


References

  • [*Baldwin 2014] A. Baldwin (2014). An exact solution for R2,eff in CPMG experiments in the case of two site chemical exchange. J. Magn. Reson., 244, 114-124. (DOI: 10.1016/j.jmr.2014.02.023).

<HarvardReferences />


See also

relax release descriptions