Changes

Jump to navigation Jump to search

Relax 3.1.0

558 bytes added, 09:44, 11 September 2014
Many links to Category:MMQ CPMG data.
<section begin=features/>
* Full support for the analysis of relaxation dispersion data in the prompt, scripting, and graphical user interfaces.
* Support for [[:Category:MMQ CPMG data|single quantum (SQ), zero quantum (ZQ), double quantum (DQ), and multiple quantum (MQ) CPMG-type data]].
* Support for R<sub>1&rho;</sub>-type data.
* Support for [[:Category:MMQ CPMG data|combined proton-heteronuclear SQ, ZQ, DQ, and MQ CPMG-type data ]] (multiple-MQ or MMQ data).
* The [[R2eff]] model - used to determine the R<sub>2eff</sub> or R<sub>1&rho;</sub> values and errors required as the base data for all other models.
* The [[No Rex]] model - the model for no chemical exchange being present.
* The [[MP05]] R<sub>1&rho;</sub>-type analytic model - the Miloushev and Palmer 2005 off-resonance 2-site equation for all time scales with parameters {R<sub>1&rho;</sub>', &hellip;, p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>} [Miloushev and Palmer 2005].
* The [[NS R1rho 2-site]] R<sub>1&rho;</sub> numeric model - the model for 2-site exchange using 3D magnetisation vectors with the parameters {R<sub>1&rho;</sub>', &hellip;, p<sub>A</sub>, &delta;&omega;, k<sub>ex</sub>}.
* The [[MQ CR72]] [[:Category:MMQ CPMG data|MMQ-type ]] analytic model - the Carver and Richards 1972 2-site model for most time scales expanded for [[:Category:MMQ CPMG data |MMQ CPMG data]] by Korzhnev et al., 2004 with the parameters {R<sub>2</sub><sup>0</sup>, &hellip;, p<sub>A</sub>, &delta;&omega;, &delta;&omega;<sub>H</sub>, k<sub>ex</sub>}.* The [[MMQ 2-site]] [[:Category:MMQ CPMG data|MMQ-type ]] numeric model - the model for 2-site exchange whereby the simplification R<sub>2A</sub><sup>0</sup> = R<sub>2B</sub><sup>0</sup> is assumed with the parameters {R<sub>2</sub><sup>0</sup>, &hellip;, p<sub>A</sub>, &delta;&omega;, &delta;&omega;<sub>H</sub>, k<sub>ex</sub>}.
* An automated protocol for relaxation dispersion which includes sequential optimisation of the models, fixed model elimination rules to remove failed models and failed MC simulations increasing both parameter reliability and accuracy [d'Auvergne and Gooley 2006], and a final run whereby AIC model selection is used to judge statistical significance.
* Additional methods to speed up the auto-analysis by skipping the grid search: Model nesting, the more complex model starts with the optimised parameters of the simpler; Model equivalence, when two models have the same parameters; And spin clustering, the analysis starts with the averaged parameter values from a completed non-clustered analysis.
* Completed the support for ZQ and DQ CPMG experiment types in relax. This is needed for the [[NS MMQ 2-site|MQ NS CPMG 2-site]] model change to [[MMQ 2-site]] and follows from the post at http://article.gmane.org/gmane.science.nmr.relax.devel/4734. This follows the tutorial for adding relaxation dispersion models at http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Creating_a_new_experiment_type.
* The [[MMQ 2-site]] model target function can now handle multiple CPMG data types.
* Added dispersion curve plotting to the relax script for Korzhnev et al., 2005 [[:Category:MMQ CPMG data|MMQ data]].
* Turned off the &delta;&omega;, &delta;&omega;<sub>H</sub> > 0 constraint for the [[MMQ 2-site]] model.
* Added a page reference back to the intro chapter in the scripting section of the dispersion chapter. This is to help the user work out how to run a relax script.
* Fixes and completion of the Relax_disp.test_r2eff_read and Relax_disp.test_r2eff_read_spin system tests. These now handle the new user function design and now also check all of the global and spin data.
* A number of fixes for the dispersion analysis for all the recent changes.
* Better [[:Category:MMQ CPMG data |MMQ data]] support for the dispersion specific loop_cluster() function. For the models using proton-heteronuclear multi-multiple quantum data, proton spin containers are now skipped as all the data will be analysed from the perspective of the heteronucleus.
* Conversion of the format of the relaxation dispersion R<sub>2eff</sub>/R<sub>1&rho;</sub> data structures. These are now lists of lists of lists of numpy arrays instead of pure numpy rank-4 arrays. This only affects a number of related data structures in the dispersion target function class. The main purpose is to prepare to have a different number of dispersion points per experiment, per spin, and per spectrometer frequency.
* The return_cpmg_frqs() and return_spin_lock_nu1() dispersion functions now return lists of lists of arrays. The dispersion data structures are now experiment and spectrometer frequency dependent. Therefore the number of dispersion points can now be different for each.
* 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 <sup>1</sup>H SQ CPMG data for the [[:Category:MMQ CPMG data|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 [[:Category:MMQ CPMG data|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>.
* The r2eff_mmq_*() functions of lib.dispersion.mmq_2site now accept different R<sub>2A</sub><sup>0</sup> and R<sub>2B</sub><sup>0</sup> arguments. These are set to the same thing within the dispersion target function.
* Converted the spin specific 'r2', 'r2a', and 'r2b' dispersion parameters from lists to dictionaries. The new parameter keys are based on the experiment type and the spectrometer frequency. These keys are supported by the generate_r20_key() and decompose_r20_key() pair of functions in the specific_analyses.relax_disp.disp_data module. This enables support for different R<sub>2</sub><sup>0</sup> parameters for each experiment type - a key piece of infrastructure for the [[:Category:MMQ CPMG data|MMQ]] models. The relax_disp.select_model user function backend was modified so the parameter list only contains one instance for each of the 'r2', 'r2a', or 'r2b' strings. The specific_analyses.relax_disp.parameters.loop_parameters() function was modified so that the R<sub>2</sub><sup>0</sup>key rather than frequency index is returned for the R<sub>2</sub><sup>0</sup> parameters. Many other code changes were required.* The R<sub>2</sub><sup>0</sup> values are now correctly handled in the dispersion target function for [[:Category:MMQ CPMG data|MMQ-type data]].
* Simplified the [[MMQ 2-site]] dispersion model target function. The r2eff_mmq_2site_sq_dq_zq() and r2eff_mmq_2site_mq() functions from lib.dispersion.mmq_2site are now aliased by the experiment_type_setup() target function method. Both functions now have matching arguments.
* Change of the base relaxation dispersion experiment types. The base CPMG-type experiment has been changed from "CPMG" to "SQ CPMG". This is for better [[:Category:MMQ CPMG data|combined proton-heteronuclear SQ, ZQ, DQ, and MQ (MMQ) data ]] support. The relax_disp.exp_type user function now also as the proton SQ and MQ CPMG-types available to select from rather than the previous behaviour of relax automatically determining the type from the spin type. All of the CPMG experiment type variables in specific_analyses.relax_disp.variables have been renamed for better ordering. Many changes were therefore required.
* 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 [[:Category:MMQ CPMG data|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 <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 <sup>15</sup>N SQ CPMG data using the [[MMQ 2-site]] model.
* 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 <sup>1</sup>H SQ data fitting of cpmg_fit.
* The dispersion specific overfit_deselect() method now handles the [[:Category:MMQ CPMG data|MMQ-type ]] models better.
* The [[MMQ 2-site]] dispersion model can now be optimised if no heteronuclear R<sub>2eff</sub> data is loaded.
* Many more fixes for the [[:Category:MMQ CPMG data|MMQ-type ]] dispersion models for the proton spin data.
* Added many new relax results for the CPMG data form Korzhnev et al., 2005.
* The R<sub>2eff</sub> data key has been changed in the dispersion analysis. The experiment type has been added to the key so that R<sub>2eff</sub> data is not mixed up when data from multiple experiments is present.
* One last fix for the dispersion analysis for the changes of the model_loop() method.
* Updated the relax script for optimising Flemming Hansen's CPMG data.
* Better support for the [[:Category:MMQ CPMG data|MMQ-type data ]] dispersion models for the end of the optimisation. The back calculated R<sub>2eff</sub> values are now handled correctly for the attached proton in the spin system.
* Updated the Relax_disp.test_korzhnev_2005_15n_dq_data system test so it passes. The optimised values are very similar to that from cpmg_fit, so the code must be functioning correctly.
* 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.
* 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 <sup>1</sup>H MMQ flag calls.
* Large improvements to the relax_disp.plot_disp_curves user function including :Category:MMQ CPMG data|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.
* The relax_disp.plot_disp_curves now shows the experiment type as part of the Y-axis label. This is to allow for easy identification of the experiment when more than one is present.
* Bug fix for the [[MMQ 2-site]] dispersion model target function. The relaxation time was being taken as that of the first experiment for all experiments. This is a relic from the code being copied from a single experiment type model.
* Converted the [[MQ CR72]] dispersion model to handle [[:Category:MMQ CPMG data|MMQ data]]. This model can now handle proton-heteronuclear SQ, ZQ, DQ, and MQ CPMG-type data. Some debugging might still be required.
* Fix for the [[MQ CR72]] model for MQ-type data. The check to prevent acos of a number less than 1 has been changed to switch the sign rather than to set the back calculated R<sub>2eff</sub> to 1e<sup>99</sup>.
* Another bug fix for the [[MQ CR72]] dispersion model. The &nu;<sub>CPMG</sub> value rather than the relaxation time was being used to calculate the R<sub>2eff</sub> values as the division by 'n' was missing.
* Fixes for all of the Relax_disp.test_korzhnev_2005_*_data system tests. These now start optimising at the solution found by cpmg_fit. All tests now pass.
* Fix for the legends in the Grace graphs produced by the relax_disp.plot_disp_curves user function.
* The grid search for the [[:Category:MMQ CPMG data|MMQ-type ]] models now looks for negative chemical shift differences.
* Converted the dispersion api method _back_calc_r2eff() into a function of the optimisation module.
* Updated the spin-lock field strength data structures to be experiment and field specific. This allows different spin-locks to be used as different field strengths, or different experiments. It brings the structures in line with those for CPMG-type experiments.
* Improvements to the data-type labelling in the dispersion chapter of the user manual.
* The dispersion model GUI window is now set to a reasonable size for most screens. The scrolled panel now allows all contents to be shown while having the window smaller than its contents. The height of 750 pixels should be visible on the majority of computer monitors. According to Google Analytics, ~13% of visits to http://www.nmr-relax.com have screen resolutions of 1366x768, therefore the dispersion model list window should now not be bigger than their screens.
* Merged the [[MQ CR72]] dispersion model into the [[:Category:MMQ CPMG data|MMQ data type ]] sections in the tables of the manual.
* Implemented model elimination for the relaxation dispersion analysis. This currently uses the p<sub>A</sub> limits of 0.501 < p<sub>A</sub> < 0.999 to determine if a model has failed. To implement this, the dispersion API methods deselect(), eliminate(), get_param_names() and get_param_values() were written. These were copied from the model-free analysis and modified as needed.
* Model elimination is now activated in the dispersion auto-analysis.
Trusted, Bureaucrats
4,228

edits

Navigation menu