Changes

Jump to navigation Jump to search

Relax 3.3.0

1,123 bytes added, 19:54, 7 September 2014
m
* Small fix for the indices to the errors and values numpy array. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Lowered the number of iterations to the profiling scripts. This is to use the profiling script as bug finder. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Moved the calculation of dw_frq out of spin and spectrometer loop. This is done by having a special 1/0 spin numpy array, which turns on or off the values in the numpy array multiplication. The multiplication needs to first axis expand dwδω, and then tile the arrays according to the numpy structure. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Moved the calculation of p<sub>A</sub> and kex out off all loops. This was done by having two special 1/0 spin structure arrays. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed dw_frq_a numpy array, as it was not necessary. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made special ei, si, mi, and oi numpy structure array. This is for rapid speed-up of numpy array creation in target function. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced self.spins_a with self.disp_struct. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made initialisation structures for dw&delta;&omega;. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Initial try to reshape dw &delta;&omega; faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Switched to use self.ei, self.si, self.mi, self.oi, self.di. This is for better reading of code. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Comment out the sys.exit(), which would make the code fail for wrong calculation of dw&delta;&omega;. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Copied profiling script for CPMG model [[CR72]] to R<sub>1&rho;</sub> [[DPL94]] model. The framework of the script will be the same, but the data a little different. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Started converting profiling script to [[DPL94]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced self.(ei,si,mi,oi,di) with self.(NE,NS,NM,NO,ND). These numbers represents the maximum number of dimensions, instead of index. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Added the ei index, when creating the first dw_mask. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Reordered how the structures dw &delta;&omega; init structures are created. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Clearing the dw_struct before calculation. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Started using the new way of constructing dw&delta;&omega;. This is for running system tests. Note, somewhere in the dw &delta;&omega; array, the frequencies will be different between the two implementations. But apparently, this does not matter. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Inserted temporary method to switch for profiling. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* First try to speed-up the old dw &delta;&omega; structure calculation. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Simplified calculation. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Yet another try to implement a fast dw &delta;&omega; structure method. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Implemented the fastest way to calculate the dw &delta;&omega; structure. This uses the numpy ufunc multiply.outer function to create the outer array, and then multiply with the frqs_structure. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Renamed dw &delta;&omega; temporary structure to generic structure. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Restructured the calculation of R20A R<sub>2A</sub><sup>0</sup> and R20B R<sub>2B</sub><sup>0</sup> to the most efficient way. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made the lib/CR72.py to a numpy multi dimensional numpy array calculation. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the catching when dw &delta;&omega; is zero, to use masked array. Implemented backwards compatibility with unit tests. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Bugfix for testing if kex is zero. It was tested if kex was equal 1.0. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Implemented masked replacement if fact is less that 1.0. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced isnan mask with function that catches all invalid values.
* Removed the masked replacement if fact is less than 1.0. This is very strange, but otherwise system test: Relax_disp.test_hansen_cpmg_data_missing_auto_analysis would fail. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed the slow allclose() function to test if R20A R<sub>2A</sub><sup>0</sup> and R20B R<sub>2B</sub><sup>0</sup> is equal. It is MUCH faster to just subtract and check sum is not 0.0. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced the temporary variable R<sub>2eff</sub> with back_calc, and used numpy subtract to speed up. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made the lib function into a pure numpy array calculation. This requires, that r20a, r20b and dw &delta;&omega; has same dimension as the dispersion points. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changes too unit tests, so data is sent to target function in numpy array format. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed the creation of an unnecessary structure by using numpy multiply. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Comment fix for finding when E0 is above 700 in lib function of [[B14]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed use of "asarray", since the variables are already arrays. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed target function for model [[CR72]]. To [[CR72]] is now also the input of the parameters of R20AR<sub>2A</sub><sup>0</sup>, R20B R<sub>2B</sub><sup>0</sup> and dw&delta;&omega;. dw &delta;&omega; is tested for zero, to return flat lines. It is faster to search in the smaller numpy array, than the 5 dimensional dw &delta;&omega; array. This is for speed-up. R20A R<sub>2A</sub><sup>0</sup> and R20B R<sub>2B</sub><sup>0</sup> is also subtracted, to see if the full model should be used. In the same way, it is faster to subtract the smaller array. These small tricks are expected to give 5-10 pct. speeed-up. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Made the lib function of [[CR72]] accept the R20AR<sub>2A</sub><sup>0</sup>, R20B R<sub>2B</sub><sup>0</sup> and dw &delta;&omega; of the original array. This is for speed-up. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Changed unit-tests, to send in the original R20AR<sub>2A</sub><sup>0</sup>, R20B R<sub>2B</sub><sup>0</sup> and dw_orig to the testing of the lib function [[CR72]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Changed profiling script to send R20AR<sub>2A</sub><sup>0</sup>, R20B R<sub>2B</sub><sup>0</sup> and dw&delta;&omega;, as original parameters to the lib function. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Changed target function for model [[B14]]. To [[B14]] now also send the input of the original parameters dw&delta;&omega;. dw &delta;&omega; is tested for zero, to return flat lines. It is faster to search in the smaller numpy array, than the 5 dimensional dw &delta;&omega; array. This is for speed-up. These small tricks are expected to give 5-10 pct. speed-up. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Made the lib function of [[B14]] accept dw &delta;&omega; of the original array. This is for speed-up. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed unit-tests, to send in the original dw_orig to the testing of the lib function [[B14]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed profiling script to send dw &delta;&omega; as original parameters to the lib function [[B14]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Copied profiling script for [[CR72]] model to [[TSMFK01]] model. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Modified profiling script to be used for model [[TSMFK01]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Modified target function for model [[TSMFK01]], to send in dw &delta;&omega; as original parameter. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Modified lib function for model [[TSMFK01]] to accept dw_orig as input and replaced functions to find math domain errors into maske replacements. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made unit tests for model [[TSMFK01]] send in R20A R<sub>2A</sub><sup>0</sup> and dw &delta;&omega; as a numpy array. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Large increase in speed for model [[TSMFK01]] by changing target functions to use multidimensional numpy arrays in calculation. This is done by restructuring data into multidimensional arrays of dimension [NE][NS][NM][NO][ND], which are number of spins, number of magnetic field strength, number of offsets, maximum number of dispersion point. The speed comes from using numpy ufunc operations. The new version is 2.4X as fast per spin calculation, and 54X as fast for clustered analysis.
* Replacing math domain checking in model [[DPL94]], with masked array replacement. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Documentation fix for description of input arrays to lib functions. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Converted [[TAP03]] model to use multi dimensional numpy arrays. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made dw &delta;&omega; in unit tests of [[TAP03]] be of numpy array. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced the loop structure in target function of [[TAP03]] with numpy arrays. This makes the model faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Reordered the initialization structure of the special numpy arrays. This was done in the init part of the target function of relaxation dispersion. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Added model MODEL_TSMFK01 also get self.tau_cpmg calculated in init part. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Methods to replace math domain errors in model [[TP02]], has been replaced with numpy masks. Documentation is also fixed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for sending in dw &delta;&omega; as numpy array in unit tests of model [[TP02]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced target function for model [[TP02]], to use higher dimensional numpy array structures. That makes the model much faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for adding model [[TP02]] to part of init class to initialize preparation of higher dimension numpy structures. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced target function for model [[M61]], to use higher dimensional numpy array structures. That makes the model much faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Methods to replace math domain errors in model [[M61b]], has been replaced with numpy masks. Documentation is also fixed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for sending in r1rho_prime and dw &delta;&omega; as numpy array in unit tests of model [[M61b]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced target function for model [[M61b]], to use higher dimensional numpy array structures. That makes the model much faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed number of points to be send to lib function of model [[TSMFK01]]. These are not used anymore. Also removed in corresponding unit tests. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed number of points, to be send to lib function of model [[M61b]]. Number of points are not used anymore. Fixed in target function. Fixed in lib function. Fixed in corresponding unit tests. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Methods to replace math domain errors in model [[MP05]], has been replaced with numpy masks. Number of points has been removed, as the masks utility replaces this. Calculation of p<sub>B</sub>, has been moved to lib function for simplicity. Documentation is also fixed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for sending in dw &delta;&omega; as numpy array in unit tests of model [[MP05]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced target function for model [[MP05]], to use higher dimensional numpy array structures. That makes the model much faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Methods to replace math domain errors in model [[LM63]], has been replaced with numpy masks. Number of points has been removed, as the masks utility replaces this. Documentation is also fixed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* 1 digit decrease in parameter check in system test: Relax_disp.test_hansen_cpmg_data_to_lm63. It is unknown, why this has occurred. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Methods to replace math domain errors in model IT99, has been replaced with numpy masks. Number of points has been removed, as the masks utility replaces this. p<sub>B</sub> is now moved to be calculated inside. This makes the lib function simpler. Documentation is also fixed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for sending in r20 and dw &delta;&omega; as numpy array in unit tests of IT99. This is after using masks as replacement. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced target function for model IT99, to use higher dimensional numpy array structures. That makes the model much faster. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Methods to replace math domain errors in model ns_cpmg_2site_expanded, has been replaced with numpy masks. Number of points has been removed, as the masks utility replaces this. p<sub>B</sub> is now moved to be calculated inside. This makes the lib function simpler. k<sub>AB</sub> and k<sub>BA</sub> is also now calculated here. Documentation is also fixed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for sending in r20 and dw &delta;&omega; as numpy array in unit tests of ns_cpmg_2site_expanded. This is after using masks as replacement. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced target function for model ns_cpmg_2site_expanded, to use higher dimensional numpy array structures. That makes the model much faster. I cannot get system test: Relax_disp.test_cpmg_synthetic_dx_map_points to pass. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for system test Relax_disp.test_cpmg_synthetic_dx_map_points. By just copying self.back_calc_a to self.back_calc, problem was solved. In specific_analysis.relax_disp.optimisation in function back_calc_r2eff(), the function gets the last values stores in the class function. This is in "class Disp_result_command(Result_command)" with self.back_calc = back_calc. And back_calc_r2eff() have return model.back_calc. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the unit test of [[NS CPMG 2-site 3D]], after the input to the function has changed. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the target function for [[NS CPMG 2-site 3D]]. This reflects the new API layout. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the lib function of [[NS CPMG 2-site star]], to get input of dw &delta;&omega; and r20a+r20b of higher dimensional type. This is to move the main operations from the target function to the lib function, and make the API code clean and consistent. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the target function of [[NS CPMG 2-site star]], to reflect the input to the function. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Made the dot evolution structure faster for [[NS CPMG 2-site 3D]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Implemented a frqs_squared calculation in the init of target function. This is to speed up the calculations. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Restructured frqs_H to higher dimension in target function. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Moved the calculation of dw &delta;&omega; and dwH out of for loops for model [[MMQ CR72]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed looping over spin and frequencies for model [[MMQ CR72]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Temporary removed check for dw &delta;&omega; = 0.0 in [[MMQ CR72]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed number of points to be parsed to model [[MMQ CR72]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Removed power to be parsed to [[MMQ CR72]], since it is not used. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed [[MMQ CR72]] to use multi dimensional data. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed unit test of [[MMQ CR72]] to pass. dw &delta;&omega; needs to be of numpy structure. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.* Moved the calculation of dw &delta;&omega; out of for loops for model [[NS MMQ 2-site]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Modified lib function for [[NS MMQ 2-site]], to have looping over spins and frequencies inside lib function. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fixed the use of higher dimensional data in [[NS MMQ 2-site]] SQ DQ ZQ. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fix for documentation in [[NS MMQ 2-site]]/SQ/DQ/ZQ/MQ. Now explains which dimension data should be in. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the reshaping of dw &delta;&omega; and dwH, since it is not dependent on experiment. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Changed the calculation of inner product in model [[NS CPMG 2-site 3D]]. The out argument of numpy.dot is buggy, and should not be used. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Added missing instances of cleaning the data. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Updated the dispersion model speed statistics for the disp_spin_speed branch vs. relax-3.2.2. This now includes the [[NS CPMG 2-site 3D]], [[DPL94]], and [[NS R1rho 2-site]] dispersion models. The timings for the single spin analyses are now comparable to the clustered analysis, as the equivalent of 100 single spins is being used. The final printout is also in a better format to present for the relax release messages. These new results show the insane 160x speed up of the [[DPL94]] model.
* Alignment improvements for the final printout from the dispersion model super profiling script. The log file has been updated with what the new formatting will look like.
* Updated the model names in the dispersion model super profiling script. The [[CR72]], [[B14]] and [[NS CPMG 2-site 3D]] models are the full, slower versions rather than the faster models with R20 R<sub>2</sub><sup>0</sup> = R20A R<sub>2A</sub><sup>0</sup> = R20BR<sub>2B</sub><sup>0</sup>. The log file has been updated to match.
* Moved the parameter conversion for [[NS MMQ 3-site]] into lib function. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Updated the dispersion model profiling comparison of the disp_spin_speed branch vs. relax-3.2.2. The [[M61]], [[TP02]], [[TAP03]], and [[MP05]] models are now included. The final printout has been manually updated to reflect the newest version of the disp_profile_all.py super profiling script.
* Copied profiling script for [[NS CPMG 2-site star]].
* Copied profiling script for [[No Rex]].
* Modified profiling script for [[B14]], to R20AR<sub>2A</sub><sup>0</sup>=R20BR<sub>2B</sub><sup>0</sup>. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Implemented profiling script for [[NS CPMG 2-site 3D]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Implemented profiling script for [[NS CPMG 2-site star]] and [[NS CPMG 2-site star full|star full]]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Fixed the input for unit test of [[MMQ CR72]]. The number of input parameters has been lowered. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Added additional math domain checking in [[B14]]. This is when v1c is less than 1.0. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Comment fixing, for explaining the masking and replacing when dw &delta;&omega; is zero. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Copied profiling script to be used for profiling the use of higher dimensional data for the numpy eig function.
* Implemented the collection of the 3D exchange matrix, for rank [NE][NS][NM][NO][ND][7][7]. [https://gna.org/task/?7807 Task #7807]: Speed-up of dispersion models for clustered analysis.
* Replaced instances of "['r2', 'r2a', 'r2b']" with variable PARAMS_R20. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Implemented model list, which uses parameter of inverted relax delay times. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Implemented model list, which uses parameter of R20BR<sub>2B</sub><sup>0</sup>. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Fix in target function for relax_disp, where model IT99 does not belong to model list with several chemical shift correlated parameters. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added new variable, for models which has parameters with mixed dw&delta;&omega;, and has two variables. For example with both dw &delta;&omega; and dwH or dw_AB and dw_BC or phi_ex_B and phi_ex_C. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.* Added model MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR, to list of models who has who dw &delta;&omega; parameters. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.* Added new variable, for models which has parameters with mixed dw&delta;&omega;, and has four variables [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added to relax_disp auto_analyses, that R1_fit should be plotted and written out. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added 2 new models, MODEL_NOREX_R1RHO and MODEL_NOREX_R1RHO_FIT_R1. The "NOREX" model is not covering R<sub>1&rho;</sub> models. The target function for "NOREX" is calculated as: back_calc = R20 R<sub>2</sub><sup>0</sup>. R20 R<sub>2</sub><sup>0</sup> is for R1hro models equivalent to R<sub>1&rho;</sub> prime (R<sub>1&rho;</sub>'), which for example in the model of [[DPL94]] would mean: R<sub>1&rho;</sub> = R<sub>1&rho;</sub>' But for the "NOREX" case, the return should be R<sub>1&rho;</sub> = R1 * cos^2(theta) + (R<sub>1&rho;</sub>' + 0) * sin^2(theta). This affects all off-resonance model calculations. These two target functions will be implemented. [https://gna.org/bugs/?22440 Bug #22440]: The "NOREX" model is not covering R<sub>1&rho;</sub> models. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Made the model MODEL_NOREX_R1RHO_FIT_R1, be tested in system test Relax_disp.test_r1rho_kjaergaard_missing_r1(). [https://gna.org/bugs/?22440 Bug #22440]: The "NOREX" model is not covering R<sub>1&rho;</sub> models. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added models MODEL_NOREX_R1RHO and MODEL_NOREX_R1RHO_FIT_R1 to MODEL_LIST_FULL. [https://gna.org/bugs/?22440 Bug #22440]: The "NOREX" model is not covering R<sub>1&rho;</sub> models. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Locked values in system test Relax_disp.test_r1rho_kjaergaard_missing_r1. This is possible after locking the R2eff values and errors from a previous run. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Removed MODEL_NS_CPMG_2SITE_EXPANDED to be analysed in system test test_hansen_cpmg_data_missing_auto_analysis. The new ordering of models, will make MODEL_NS_CPMG_2SITE_EXPANDED be analysed first, and results copied to model [[CR72]]. This will interfere with the old results. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Lowered the precision of dw &delta;&omega; for model [[NS CPMG 2-site expanded]], in system test est_hansen_cpmg_data_auto_analysis_numeric. Model [[NS CPMG 2-site expanded]] is now analysed before MODEL_CR72, which alter the values a bit. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added GUI text for parameter r1_fit. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added front-end description of the 6 new R1 fit R<sub>1&rho;</sub> models for relax_disp.select_model. [https://gna.org/support/?3135 Sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models.
* Added unit tests regarding model.py and its functions.
* Removed the auto-sorting of models, when performing auto analysis of Relaxation dispersion. This was discussed in: http://thread.gmane.org/gmane.science.nmr.relax.scm/22733, http://thread.gmane.org/gmane.science.nmr.relax.scm/22734, http://thread.gmane.org/gmane.science.nmr.relax.scm/22737. Through this discussion, it has appeared that the order of how models are sorted for analysis, and hence the possibility for nesting, is a complicated case. The order of analysis should be possible to manually put into the auto analysis. This was not the scope of [https://gna.org/support/?3135 sr #3135]: Optimisation of the R1 relaxation rate for the off-resonance R<sub>1&rho;</sub> relaxation dispersion models to implement such a feature. Such a feature could be implemented for the next version of relax. It could be designed as function to "suggest" an order in the GUI. But this functionality would have to wait.
* Removing the 'tex'->'kex' conversion, and 'phi_ex' from dw &delta;&omega; and p<sub>A</sub>. This solution is not a proper implementation, but these parameters should rather be found by grid search.
* Re-inserted "MODEL_NS_CPMG_2SITE_EXPANDED" to be tested in system test test_hansen_cpmg_data_missing_auto_analysis.
* Removed special cases for nesting. Now following order is determined. First sort completed models into: EQ_NUMERIC, EQ_SILICO, EQ_ANALYTIC. Then into year, with newest first. Then number of chemical sites, which reflects number of parameters. Go through the completed models. If the experiment types are the same, then look for: If a completed model has same parameters, then nest from this. If a completed model has all other parameters than R20 R<sub>2</sub><sup>0</sup> parameters, then nest from this. Special cases are taken care of by: MODEL_LM63_3SITE from MODEL_LM63, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR from MODEL_NS_MMQ_2SITE, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR from MODEL_NS_R1RHO_2SITE, MODEL_MMQ_CR72 from MODEL_CR72. This functionality represents the hard-coding from previous implementation.
* Moved the nesting lists down in variables file.
* Small verb tense fix for the descriptions of the '* R1 fit' relaxation dispersion models.
* Fixes to unit tests, after parameter conversion have been corrected.
* Replaced that folder names for writing out results should be with replaced with underscores "_". This is for the dispersion auto-analysis.
* Fixes for the relaxation dispersion loop_parameters() function. The R1, R20R<sub>2</sub><sup>0</sup>, R20AR<sub>2A</sub><sup>0</sup>, R20B R<sub>2B</sub><sup>0</sup> (and R1rho_prime, R1rho_primeA, R1rho_primeB) parameters are now checked for in each spin container rather than just the first of the cluster. This should make no difference as all spins should have the same model and parameters, but it might be a source of bugs in the future.
* The r1_fit flag is now used to switch between dispersion target functions. This is as described in http://thread.gmane.org/gmane.science.nmr.relax.scm/22850/focus=6736. The change makes the '* R1 fit' models now redundant.
* Removed all of the '* R1 fit' models out of the relax_disp.select_model user function frontend. These models are now redundant as the question of R1 fitting is now determined internally in relax.
Trusted, Bureaucrats
4,228

edits

Navigation menu