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/.
- Lorentzian - standard Lorentzian function
- U-model - the simplest implementation of the U model: a binary 1:1 binding process
- U-model-LRcorrection - the U model with correction factor for L/R
- U_model_1D_LRcorr_doublet - the U-model-LRcorrection model written to fit a doublet (approximation that a doublet may be fit as a sum of two singlets---only good when coupling constant is much smaller (10x) than exchange rate constant for the binding process).
- U_model_1D_LR_LB_SF - the same as U-model-LRcorrection with baseline correction and additional normalization.
- U_R-model - a three-state U-R model
Back to Contents
A workflow for introducing a new model
- Solve equilibrium thermodynamic equations for your mechanism in MuPad
(See
Equilibrium_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' setting for calculations 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 try to create an analytical expression for inverted matrix of the size you need (my MuPad choked in 2009 to do N=6 and more but newer versions could do the job). If it does not work---use 'standard' setting 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
Now the model may be used to simulate or fit experimental data.
- To enable an 'automated' workflow for loading and fitting 1D datasets from NMR titrations created by IDAP 1D NMR Sparky extension (limited to one sequence of titration points):
Back to Contents
Using IDAP 1D NMR
Experimental NMR line shapes are extracted from 2D HSQC spectra using a custom extension IDAP 1D NMR in Sparky spectral analysis software (obtain Sparky from http://www.cgl.ucsf.edu/home/sparky/). The IDAP 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