* 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 R<sub>2</sub><sup>0</sup> values to the minimum R2eff 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].
* 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).
* 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 ω<sub>1</ Delta_omegasub> / Δω) with atan2(omega1 ω<sub>1</sub> , Delta_omegaΔω), to make sure returned &theta ; values are between 0 and π. 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.
* 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 φ<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 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.
* 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.
* 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.
* 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 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.
* Redesign and major clean up of the specific_analyses.jw_mapping package. The code has been broken up into separate modules.
* 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.
* 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 α.* 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.* 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.* 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().* Updated the chi2 χ<sup>2</sup> value check in some of the CaM frame order system tests for the rotor model. The chi2 χ<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.
* 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 χ<sup>2</sup> value.
* 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.
* 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.
* Correction for the nu_CPMG ν<sub>CPMG</sub> to tau_CPMG τ<sub>CPMG</sub> conversion formula in the dispersion chapter of the manual. In relax, the conversion nu_CPMG ν<sub>CPMG</sub> = 0.25 * tau_CPMG τ<sub>CPMG</sub> is used and not nu_CPMG ν<sub>CPMG</sub> = 0.5 * tau_CPMGτ<sub>CPMG</sub>.
* 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.
* 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.
* 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 π.
* 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.
* 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.
* The relaxation dispersion auto-analysis now outputs the R20R<sub>2</sub><sup>0</sup>, R20AR<sub>2A</sub><sup>0</sup>, R20BR<sub>2B</sub><sup>0</sup>, and R1rho0 R<sub>1ρ</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.
* 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.
* 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].
* Lowered range for grid search by factor 10 for kex 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.
* 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].
* 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 dw Δω and kex 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].
* 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.
* Undid the modification of dw Δω and kex 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].
* 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.
* 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.
* 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' 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 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 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.
* Changed the default R20 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 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.
* 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 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 R<sub>2eff</sub> value to set as R20 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 R<sub>2</sub><sup>0</sup> from minimum R2eff 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.
* 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].
* 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.
* Made a generic script to generate R2eff 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 R2eff R<sub>2eff</sub> data with a numerical model with some extreme parameters. 2) Then add noise to the R2eff 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.
* 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.
* 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.
* Made synthetic CPMG script accept R2eff R<sub>2eff</sub> noise values as input.* Added array with zero R2eff 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 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 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.
* 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 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.
* 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.
* 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 pAp<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. pA 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.
* 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.
* 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.
* Implemented g3 and g4 as square root functions instead of atan2. atan2 is always returning values between -&pi ; and π. 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.
* 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.
* 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δ<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.
* 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 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 pb and pa with relax parameter pAp<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_BAk<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_ABk<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 k<sub>AB</sub> was subtracted with k_ABk<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**Δω<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**<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**<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.
* 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.* 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.
* 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 χ<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 - moved the repetitive calculations of pBp<sub>B</sub>, k_BA k<sub>BA</sub> and k_AB 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 δ<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.
* 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**;<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 - 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.
* 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.
* Implemented system test Relax_disp.test_baldwin_synthetic for the model [[B14]], whereby the simplification R20A R<sub>2A</sub><sup>0</sup> = R20B 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 R<sub>2A</sub><sup>0</sup> = R20B 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 R<sub>2A</sub><sup>0</sup> = R20B 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 R<sub>2A</sub><sup>0</sup> = R20B 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 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.
* 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 δ<sub>R<sub>2</sub></sub> = r20a - r20b; alpha_m = deltaR2 δ<sub>R<sub>2</sub></sub> + k_AB k<sub>AB</sub> - k_BAk<sub>BA</sub>; &zeta ; = 2 * dw Δω * alpha_m; and &Psi ; = alpha_m**<sup>2 </sup> + 4 * k_BA k<sub>BA</sub> * k_AB k<sub>AB</sub> - dw**Δω<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.* Used LaTeX subequations instead, and using R2eff 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.
* 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.
* 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/.
* Changed script for synthetic CPMG data. This is to test the fitting of [[CR72]] and [[B14]], when creating R2eff 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, kexk<sub>ex</sub>, pA p<sub>A</sub> 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.
* 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 [[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].
* Modified the description of making x,y,z points in the chi2 χ<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.
* Changed an 'align' environment to 'equation' as there was only one equation.
* 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 ''.
* Standardised the [[CR72]] R2eff 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.
* Removed some unnecessary {} brackets from the user manual. This is for the [[B14]] model section of the dispersion chapter.
* 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.
* Major fix for the R2eff R<sub>2eff</sub> equations for the [[B14]] dispersion model in the manual. Here tau_CPMGτ<sub>CPMG</sub>, the time for one CPMG block, was mixed up with T_relaxT<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.
* 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.
* Some more tau_CPMG τ<sub>CPMG</sub> verses T_relax 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.
* 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.
* 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χ<sup>2</sup>, when creating the chi2 χ<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 χ<sup>2</sup> value to be used to define the chi2 χ<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.
* 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].
* Added the keyword "chi_surface" to the front-end dx.map function. To set the chi2 χ<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 χ<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 χ<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 χ<sup>2</sup> surface be 10, 20, 50 and 90 percentile of all chi2 χ<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.
* 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].
* 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].
* 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 χ<sup>2</sup> surface over dw Δω and pA 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.
* 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.
* 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 R<sub>1ρ</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.
* 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.
* 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.
* Fix for [https://gna.org/bugs/?21924 bug #21924, the failure to output 2D Grace plots for the R20R<sub>2</sub><sup>0</sup>, R20AR<sub>2A</sub><sup>0</sup>, R20BR<sub>2B</sub><sup>0</sup>, and R1rho0 R<sub>1ρ</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 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.
* 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 [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 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 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 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. [https://gna.org/bugs/?22010 Bug #22010: relax_disp.parameter_copy return a list of pAp<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.
* Fixed the rotor axis direction in the lib.frame_order.rotor_axis module. The normalisation code has also been simplified.
* 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].
* Documentation fix for [[IT99]]. Changed kex 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 kex k<sub>ex</sub> instead of tex].* Documentation fix for [[IT99]]. Changed kex k<sub>ex</sub> to tex in user function. [https://gna.org/bugs/?22019 Bug #22019: the IT99 model is listed with parameter kex 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].
* 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.