Open main menu

Changes

Relax 3.1.0

231 bytes added, 15:34, 8 September 2014
Formatting of isotopes.
* Added the results for the [[CR72]] model optimisation in CPMGFit using Flemming Hansen's truncated CPMG data.
* Added the [[CR72]] model results to the software comparison document for Hansen's CPMG data.
* Improvements for the &phi;<sub>ex</sub> and &delta;&omega; relaxation dispersion model parameters. These are now stored with the units of ppm<sup>2</sup> and ppm respectively. The conversion to (rad/s)<sup>2</sup> and rad/s units respectively now is spin specific, allowing mixed spin types (1H<sup>1</sup>H, 13C<sup>13</sup>C, 15N<sup>15</sup>N, etc.) to be analysed simultaneously.
* Updated the relax results for Hansen's CPMG data for the recent &phi;<sub>ex</sub> and &delta;&omega; changes.
* Fixes for the CPMGFit results in the software comparison table for Hansen's CPMG data.
* Fix for a bug introduced earlier - the call to the calculate_r2eff() must also be made private.
* Fixes for 2 Relax_disp GUI tests to match the previous model-free fixes. The Fake_right_click.GetPosition() method now returns a wx.Point object.
* Added test data where both the spin-lock time, the spin lock offset and the spin lock field is varied. The data is published in "Kjaergaard, M., Andersen, L., Nielsen, L.D. & Teilum, K. (2013). A Folded Excited State of Ligand-Free Nuclear Coactivator Binding Domain (NCBD) Underlies Plasticity in Ligand Recognition. Biochemistry, 52, 1686-1693" with experimental conditions that "off-resonance R<sub>1&rho;</sub> relaxation dispersion experiments on 15N <sup>15</sup>N were recorded at 18.8 T and 31 C." and "using the pulse sequence of Mulder et al. with spin-lock field strengths from 431 to 1649 Hz and offsets ranging from 0 to 10000 Hz."
* Shifted the [[NS CPMG 2-site expanded]] model to the top of the CPMG numerical solutions in the manual. This is because this is the default model which should be used in most cases.
* A 20-25% speed increase for the [[NS CPMG 2-site expanded]] dispersion model. Many repetitive mathematical operations have been eliminated and the equations have been changed to optimise the calculation speed.
* Bug fix for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model. This was found with the aid of private feedback from Dmitry Korzhnev and him emailing his cpmg_fitd9 program. The problem is that he defines the 'n' parameter as half of a CPMG block. The code was however assuming that 'n' is a full CPMG block.
* Added ZZ exchange as a missing feature to the dispersion chapter of the manual.
* Added Dmitry Korzhnev's Fyn SH3 domain data for Asp 9 to the repository. This is from Dmitry M. Korzhnev, Philipp Neudecker, Anthony Mittermaier, Vladislav Yu. Orekhov, and Lewis E. Kay (2005) Multiple-site exchange in proteins studied with a suite of six NMR relaxation dispersion experiments: An application to the folding of a Fyn SH3 domain mutant. 127, 15602-15611 (doi: http://dx.doi.org/10.1021/ja054550e). It consists of the 1H <sup>1</sup>H SQ, 15N <sup>15</sup>N SQ, ZQ, DQ, 1H <sup>1</sup>H MQ and 15N <sup>15</sup>N MQ data for residue Asp 9 of the Fyn SH3 domain mutant.
* Added the results from Korzhnev's cpmg_fit program for the Asp9 Fyn SH3 dispersion data.
* Created a relax state for the R<sub>2eff</sub> SQ data of Korzhnev et al., 2005.
* Improvements to all of the R<sub>1&rho;</sub> model descriptions in the dispersion chapter of the manual.
* Added a placeholder for the relaxation dispersion citation to the citation chapter of the manual. The bibtex entry for this will need to be updated later once the citation is published.
* Added support for 1H <sup>1</sup>H SQ CPMG data for the MMQ-type dispersion models. The key is to skip the protons in the spin cluster loops and to instead find the proton spin containers attached to the heteronuclei of the spins of the cluster. The EXP_TYPE_PROTON_SQ_CPMG and EXP_TYPE_PROTON_MQ_CPMG experiment type variables have been created to aid this. The MODEL_LIST_MMQ list variable has also been created to more consistently identify the MMQ-type dispersion models. The has_disp_data() function has been created to simplify the finding of dispersion data for a given cluster, experiment type, spectrometer frequency and dispersion point. The has_proton_sq_cpmg() and has_proton_mq_cpmg() are used to determine if there is proton dispersion data for the given heteronucleus. The loop_exp() function has been modified to yield the proton SQ and MQ data if present. Similarly the num_exp_types() and return_index_from_exp_type() functions exhibit different behaviour if this data is present. The return_r2eff_arrays() function now assembles all of the proton data on top of the heteronuclear data by fetching the protons attached to the heteronuclei and aliasing the correct spin for the given experiment type.
* Updated the relaxation dispersion target functions. The input data structures have changed type.
* Implemented the [[MMQ 2-site]] CPMG model equations from the Korzhnev et al., 2005 reference. The paper reference is "Dmitry M. Korzhnev, Philipp Neudecker, Anthony Mittermaier, Vladislav Yu. Orekhov, and Lewis E. Kay (2005). Multiple-site exchange in proteins studied with a suite of six NMR relaxation dispersion experiments: An application to the folding of a Fyn SH3 domain mutant. J. Am. Chem. Soc., 127, 15602-15611. (doi: http://dx.doi.org/10.1021/ja054550e)". The original code from Mathilde Lescanne and Dominique Marion has only slightly been modified for this change as the MQ data treatment in the Korzhnev et al., 2004 reference is the same as in the 2005 reference, but using a different notation. This has been renamed to r2eff_mmq_2site_mq(). The new r2eff_mmq_2site_sq_dq_zq() function has been added to the lib.dispersion.mmq_2site module to allows the SQ, DQ, and ZQ R<sub>2eff</sub> data to be calculated. This function follows the notation of the 2005 paper. The populate_matrix() function has been modified to only accept one combined chemical shift difference value. It can now also accept different values for R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup>, though the mmq_2site module defaults to R<sub>2A</sub><sup>0</sup>=R<sub>2B</sub><sup>0</sup>.
* Fix for the specific_analyses.relax_disp.disp_data.num_exp_types() function. This needed updating after the change in the relaxation dispersion experiment type variables.
* Different relaxation time periods for each experiment is now taken into account in the dispersion code. Previously only the first relaxation time period was being used. This was fine for single data type models, but was preventing the MMQ-type models from working. Now the return_r2eff_data() function of the specific_analyses.relax_disp.disp_data module assembles and returns the relax_times data structure which has two dimensions - the experiment type and the magnetic field strength.
* Added a relax script to optimise just the 15N <sup>15</sup>N SQ CPMG data from Korzhnev et al., 2005. The corresponding log file has also been added to the repository.* Created the Relax_disp.test_korzhnev_2005_15N_sq_data system test. This is used to check the optimisation of the 15N <sup>15</sup>N SQ CPMG data using the [[MMQ 2-site]] model.
* Fixes for the dispersion optimisation Disp_result_command.run() method. The dispersion point loop is fixed over all dispersion points, but the 'missing' data structure has a variable length.
* Big redesign of the dispersion point returning and loop_*() functions. These are the functions in the specific_analyses.relax_disp.disp_data module. The return_cpmg_frqs() and return_spin_lock_nu1() functions now no longer take the spins and spin_ids arguments. Instead they determine if a dispersion point exists for the given experiment and spectrometer frequency using the intensity keys and data in the base of the data pipe. The specific_analyses.relax_disp.disp_data.loop_*() functions now accept the return_indices argument which if True will cause all of the relevant experiment type, spectrometer frequency, dispersion point, and relaxation time indices to be returned. The behaviour of the loop_point() method is now different. Instead of looping over all possible dispersion points, it only loops over those points present for the given experiment and spectrometer frequency. This change allows for many simplifications and latent bug fixes in the dispersion analysis.
* Added cmpg_fit input and results files for the 15N <sup>15</sup>N SQ CPMG data from Korzhnev et al., 2005.
* Added cmpg_fit input and results files for all single CPMG data combinations from Korzhnev et al., 2005.
* Updated the cpmg_fit results for the Korzhnev et al., 2005 single data sets. The starting point for optimisation is now the solution for using all data together. This allows a much better solution to be found for each script.
* Created 5 more system tests for checking the optimisation of single sets of Korzhnev et al., 2005 data. These are Relax_disp.test_korzhnev_2005_15n_dq_data, Relax_disp.test_korzhnev_2005_15n_mq_data, Relax_disp.test_korzhnev_2005_15n_zq_data, Relax_disp.test_korzhnev_2005_1h_mq_data, and Relax_disp.test_korzhnev_2005_1h_sq_data. These should individually test out all parts of the [[MMQ 2-site]] dispersion model.
* The cpmg_fit script for the Korzhnev et al., 2005 15N <sup>15</sup>N ZQ CPMG data now starts at the relax solution. This is to try to find better solutions for &delta;&omega; and &delta;&omega;<sub>H</sub>, thought it was not so successful.
* Updated the Relax_disp.test_korzhnev_2005_15n_zq_data system test. It now starts at the relax solution and the test passes as it seems to reasonably match the cpmg_fit results.
* Reintroduced the F vector into r2eff_mmq_2site_mq() to calculate the magnetisation.
* Added the cpmg_fit results for optimisation all of the Korzhnev et al., 2005 CPMG data. This is for the 2-site model. It includes all proton-nitrogen SQ, ZQ, DQ, and MQ data.
* Updated the cpmg_fit results for all Korzhnev et al., 2005 data.
* Shifted the relax results for the 15N <sup>15</sup>N SQ Korzhnev 2005 CPMG data to its own directory. The relax save state and grace curve have been added to the repository as well.
* Created a Grace plot of the failed cpmg_fit results. This is for the Korzhnev et al., 2005 data, using all data sets.
* Fixes for the cpmg_fit results for all of the data from Korzhnev et al., 2005. The &delta;&omega;<sub>H</sub> value must start negative, otherwise optimisation will fail to find the correct minimum.
* Created a Grace graph for the 1H <sup>1</sup>H SQ data fitting of cpmg_fit.
* The dispersion specific overfit_deselect() method now handles the MMQ-type models better.
* The [[MMQ 2-site]] dispersion model can now be optimised if no heteronuclear R<sub>2eff</sub> data is loaded.
* Improvement for the file names in the relax_disp.plot_disp_curves user function. The '_' character is now used between the experiment name and the rest of the file name.
* Bug fix for the specific_analyses.relax_disp.disp_data.find_intensity_keys() function. This function was not handling multiple experiment types correctly.
* Created the Relax_disp.test_korzhnev_2005_all_data system test for checking the [[MMQ 2-site]] model. This checks against all six data types, 1H <sup>1</sup>H SQ, 15N <sup>15</sup>N SQ, DQ, ZQ, 1H <sup>1</sup>H MQ, and 15N <sup>15</sup>N MQ. This is currently set to the values found by cpmg_fit. As this is the true solution, relax should find similar parameter values.* Created a Grace plot of the 15N <sup>15</sup>N MQ CPMG data fitting from cpmg_fit.
* Bug fix for the multiple quantum relaxation dispersion models. These require both the heteronuclear and proton chemical shift differences. But the proton difference was being scaled by the heteronuclear Larmor frequency and not the proton frequency.
* The relaxation dispersion calculate user function now stores the back calculated R<sub>2eff</sub> values. A number of changes were required for this. The code from the end of the Disp_result_command.run() method was converted to the function specific_analyses.relax_disp.disp_data.pack_back_calc_r2eff(). This allows the back calculation R<sub>2eff</sub> unpacking code to be shared. The new has_proton_mmq_cpmg() function has also been created to simplify the code.
* Bug fix for the dispersion calculate user function.
* Created a script to compare the cpmg_fit and relax solutions for the [[MMQ 2-site]] dispersion model.
* Clean ups and speed ups of the 1H <sup>1</sup>H MMQ flag calls.
* Large improvements to the relax_disp.plot_disp_curves user function including MMQ model support. This user function now handles multiple dispersion data sets better by placing each into a new graph. All graphs have also been improved by matching the colours of the sets for each field strength and using different symbols and line styles to emphasize the data.
* Fixes for the relax_disp.plot_exp_curves user function for the lib.software.grace changes.
Trusted, Bureaucrats
4,228

edits