
1D NMR line shapes
Contents
Back to Contents
Source code
This is a summary of all folders relevant to line shape analysis. See my lecture notes on theory of line shape analysis in Mathematical_models/NMR_line_shape_models/1D/My_lectures.
Back to Contents
Specific line-shape models
Specific models for one-dimensional NMR line shapes are defined by modules in code/+line_shape_equations_1D/ and included in the body of NMRLineShapes1D class (code/@NMRLineShapes1D/NMRLineShapes1D.m). Below is brief outline of the existing models, their purpose and capabilities. For a rigorous way of deriving them see
Mathematical_models/NMR_line_shape_models/1D/.
Back to Contents
A workflow for introducing a new model
- Solve equilibrium thermodynamic equations for your mechanism in MuPad
(See
Mathematical_models).
- Create a new model file to calculate equlibrium concentrations in code/+equilibrium_thermodynamic_equations/ .
- NOTE: If it requires numeric solution: express Rtot=f(Leq, all constants...), where Rtot is the total concentration of a receptor and Leq is equilbrium concentration of free ligand. Insert it in the model file [model-name]_numeric.m and call it from [model-name].m to solve numerically.
Example of numeric solution is
U_R2_model.m and corresponding
U_R2_model_numeric.m
.
- Create a 1D line shape model file in code/+line_shape_equations_1D/
- Insert a call to a new model function computing equilibrium concentrations (created above).
- Create a matrix of kinetic coefficients for the pseudo-first order process
- These kinetic matrices are different from regular ODE matrices because we also need to convert all transitions into a pseudo-first order form by incorporating necessary additional concentrations with the constants.
- NOTE 1: dC/dt of NMR-invisible species are NOT calculated by this ODE matrix.
- NOTE 2:
With the growing number of species and transitions the rate constant matrices become complex. There are a couple of simple rules that allow catching mistakes in K matrix derivation:
(1) a sum of each column should be zero (so each constant must appear with both positive and negative sign), and
(2) each row has to have complete pairs of constants (i.e., if k12 appears there must be k21 in the same row with an opposite sign and so on). |
-
Use 'vectorized' calculation of the spectral intensity based on analytical expression for inverted matrices I developed in code/+line_shape_expressions_analytical/
for less than 5 NMR detectable (R-containing) species.
- For number of R-containing species > 5 use 'standard' approach where matrices are inverted numerically (very slow).
- Add model definition in code/@NMRLineShapes1D/NMRLineShapes1D.m
- Test the model for 'common-sense' behavior by inspecting different parameter combinations corresponding to predictable limiting outcomes
- Create a control script using a template from code/Control_scripts_archive.
Use this script in your working directory and also place
it in code/Control_scripts_archive for future use.
- Create a new module for assigning parameter values to the model in
code/+line_shape_1D_fitting_modules (a kind of assign_parameters_MODEL-NAME()...)
- Add reference to the assigning module to assign_parameters.m in code/+line_shape_1D_fitting_modules
Now you can go to your working directory and launch your control script from there.
Back to Contents
Using BiophysicsLab 1D NMR
Experimental NMR line shapes are extracted from 2D HSQC spectra using a custom extension BiophysicsLab 1D NMR in Sparky spectral analysis software (obtain Sparky from http://www.cgl.ucsf.edu/home/sparky/). The BiophysicsLab 1D NMR extension is written in Python and described in Sparky_extension.
Important considerations on data acquisition and processing:
- Spectra must be prepared using Exponential Multiply apodization window (EM in NMRPipe). Bloch-McConnell equations describe lorentzian signals therefore any other apodization windows are not acceptable.
- If the heteronuclear spectrum was obtained using a constant-time experiment---the indirect dimension line shapes are (most likely) not useful because there was no free "induction decay" collected
due to constant-time acquisition mode of t1. Experiments like that are most frequently performed to record proton-carbon
correlations.
- Zero-filling must be adjusted to have about 5-10 data points per signal envelope (above baseline). More points only overload CPU but do not add any new information. Fewer points make fitting much less stable.
A subclass of NMRLineShapes1D called BiophysicsLab_1D_NMR.m enables import the exported spectral slices into a TotalFit session.
Back to Contents