Fluorine relaxation theory simulations
19F labels are attractive in biomolecular NMR because fluorine has high sensitivity, a wide chemical shift range, and no natural background. However, the large chemical shift anisotropy of 19F also makes transverse relaxation fast and strongly field-dependent. This tutorial shows how to set up 19F relaxation calculations in Spinach using Bloch-Redfield-Wangsness theory. It first explains dipole-dipole/CSA cross-correlation, then builds a minimal 19F-1H two-spin example, and finally walks through the trosy_fluorine_num.m and trosy_double.m examples from the relaxation theory example set.
DD-CSA cross-correlation
In a liquid state system, anisotropic spin interactions are randomly modulated by molecular rotation. If a molecule is rigid, dipolar interactions (defined by internuclear vectors) and chemical shielding anisotropy tensors (defined by local geometry) tumble synchronously, so their stochastic modulations are correlated. Redfield theory therefore contains not only separate dipolar and CSA self-relaxation terms, but also DD-CSA cross-correlation terms. The seriously complicated mathematics of this process is decribed in the papers dealing with the TROSY effect.
When a J-coupling exists between the two nuclei, the DD-CSA cross-correlation makes one component of the doublet wider and the other narrower. In terms of transerse relaxation rates:
\(R_{\mathrm{broad}}=R_{\mathrm{DD}}+R_{\mathrm{CSA}}+\left|R_{\mathrm{DD-CSA}}\right|,\qquad R_{\mathrm{narrow}}=R_{\mathrm{DD}}+R_{\mathrm{CSA}}-\left|R_{\mathrm{DD-CSA}}\right|.\)
The amount of cancellation between \(R_{\mathrm{DD}}+R_{\mathrm{CSA}}\) and \(\left|R_{\mathrm{DD-CSA}}\right|\) depends on magnetic field, rotational correlation time, inter-nuclear geometry, nuclear gyromagnetic ratios, and the size and orientation of the CSA tensor. Spinach does not need a separate switch for this effect: if inter.relaxation requests Redfield theory, if anisotropic Zeeman tensors are present, and if Cartesian coordinates are supplied for dipolar couplings, cross-correlations are included in the relaxation superoperator automatically.
A two-spin fluorine-proton model
A minimal model needs two spins, a magnetic field, anisotropic Zeeman tensors, and Cartesian coordinates. The numerical values (in ppm) below are simple examples; in production work they should be replaced by DFT calculations or experimentally determined values written in the same reference frame as the Cartesian coordinates. Note that there is a difference between absolute chemical shielding (relative to bare nucleus in vacuum, that is what electronic structure theory packages return) and chemical shift (relative to some reference substance, that is what chemistry textbooks have and Spinach expects).
function fluorine_proton_trosy()
sys.magnet=14.1;
sys.isotopes={'19F','1H'};
inter.zeeman.matrix=cell(1,2);
inter.zeeman.matrix{1}=diag([-80 -20 100]);
inter.zeeman.matrix{2}=diag([-4 1 3]);
inter.coordinates=cell(2,1);
inter.coordinates{1}=[0.00 0.00 0.00];
inter.coordinates{2}=[0.00 0.00 1.10];
inter.coupling.scalar{1,2}=50;
The first Zeeman interaction tensor belongs to fluorine and gives it a sizeable CSA. The second belongs to the proton; proton CSA is normally small, but supplying the tensor keeps the example structurally similar to real-life cases. The two coordinate vectors are in Angstrom and define the dipolar tensor which Spinach computes automatically.
Redfield relaxation theory options
In the relaxation theory part of the Spinach input:
inter.relaxation={'redfield'}; inter.rlx_keep='secular'; inter.equilibrium='zero'; inter.tau_c={10e-9};
the first line requests Bloch-Redfield-Wangsness relaxation theory. The inter.tau_c value is the rotational correlation time in seconds; one scalar value requests isotropic rotational diffusion. Two values request axial diffusion, and three values request fully anisotropic rotational diffusion, as described in Relaxation theory parameters.
The inter.rlx_keep option determines which rotating-frame terms survive in the relaxation superoperator. Use 'secular' for ordinary high-field rotating-frame NMR simulations, 'labframe' when you want the untransformed laboratory-frame superoperator, and 'diagonal' when cross-relaxation is to be deliberately ignored. The inter.equilibrium option tells Spinach what state relaxation should drive the system towards. 'zero' is useful when the relaxation matrix itself is the object of study.
We use the complete basis set in Liouville space:
bas.formalism='sphten-liouv'; bas.approximation='none'; spin_system=create(sys,inter); spin_system=basis(spin_system,bas);
The create report should be checked carefully. For DD-CSA relaxation it should confirm that anisotropic interactions and coordinates have been recognised.
From the superoperator to relaxation rates
For a two-spin 19F-1H system, the two fluorine doublet components (here labelled left and right) may be viewed as single-quantum fluorine coherences conditioned on the proton longitudinal state. We first compute the relaxation superoperator:
R=relaxation(spin_system);
then request left and right doublet coherence states from Spinach:
F_left=state(spin_system,{'L+'},{1})-... 2*state(spin_system,{'L+','Lz'},{1,2}); F_right=state(spin_system,{'L+'},{1})+... 2*state(spin_system,{'L+','Lz'},{1,2});
then normalise those states and compute the relaxation matrix elements:
F_left=F_left/norm(F_left,2);
F_right=F_right/norm(F_right,2);
r_left=-F_left'*R*F_left;
r_right=-F_right'*R*F_right;
The two resulting numbers are relaxation matrix elements in Hz for the normalised doublet-component states. If the DD-CSA cross-correlation is significant, the two values would be different. The lower value corresponds to the narrower TROSY component.
Field dependence of DD-CSA relaxation processes
The trosy_fluorine_num.m example in Spinach (open the file and have it in front of you) computes transverse relaxation rates as a function of magnetic field for a 3-fluorotyrosine labelled protein. Only the fluorine atom and its directly bonded carbon-13 are retained. The following command reads a Gaussian log file and converts the carbon and fluorine tensors and coordinates into Spinach input:
[~,inter_dft]=g2spinach(gparse('../standard_systems/3_fluoro_tyr.log'),... {{'C','13C'},{'F','19F'}},[186.38 192.97]);
The example then keeps only two entries from that imported structure:
sys.isotopes={'19F','13C'}; inter.zeeman.matrix{1}=inter_dft.zeeman.matrix{8}; inter.zeeman.matrix{2}=inter_dft.zeeman.matrix{7}; inter.coordinates{1}=inter_dft.coordinates{8}; inter.coordinates{2}=inter_dft.coordinates{7};
The anisotropic Zeeman tensors cause CSA relaxation, and the coordinates trigger the calculation the dipole-dipole tensor that then causes DD relaxation. The relaxation theory options block is:
inter.relaxation={'redfield'}; inter.rlx_keep='labframe'; inter.equilibrium='zero'; inter.tau_c={25e-9};
The laboratory-frame option is appropriate here because the code is not running a pulse sequence in a rotating frame; it is directly analysing the relaxation superoperator. The field axis is specified in terms of proton Larmor frequency in MHz:
lin_freq=linspace(200,800,20);
B0=2*pi*lin_freq*1e6/spin('1H');
For each magnetic field, the example rebuilds the spin system, constructs the complete basis, obtains the relaxation superoperator with relaxation.m, and forms six normalised states: pure fluorine coherence, pure carbon coherence, and the two doublet components on each spin:
F_left=state(spin_system,{'L+'},{1})-... 2*state(spin_system,{'L+','Lz'},{1,2}); F_right=state(spin_system,{'L+'},{1})+... 2*state(spin_system,{'L+','Lz'},{1,2}); C_left=state(spin_system,{'L+'},{2})-... 2*state(spin_system,{'L+','Lz'},{2,1}); C_right=state(spin_system,{'L+'},{2})+... 2*state(spin_system,{'L+','Lz'},{2,1});
The reported quantities are expectation values of the relaxation superoperator:
r2f(n)=-LpF'*R*LpF;
fleft(n)=-F_left'*R*F_left;
fright(n)=-F_right'*R*F_right;
and similarly for carbon. The resulting plots show how the two doublet components separate as the DD-CSA cross-correlation changes with field.
Double TROSY in trosy_double.m
The trosy_double.m example (open that file and keep it in front of you) is a simulation of Hari Arthanari's double TROSY effect where two instances of DD-CSA cross-correlation are nested. The example file imports a 4-fluorophenylalanine quantum chemistry calculation:
[~,inter_dft]=g2spinach(gparse('../standard_systems/4_fluoro_phe.out'),... {{'H','1H'},{'C','13C'},{'F','19F'}},[32.07 186.38 192.97]);
The example keeps four spins: two protons, the fluorine, and one carbon. It copies their Zeeman tensors and coordinates from the DFT-derived structure, and copies the corresponding scalar-coupling submatrix:
sys.isotopes={'1H','1H','19F','13C'}; inter.coupling.scalar=inter_dft.coupling.scalar([10 20 19 8],[10 20 19 8]);
The relaxation settings are:
inter.relaxation={'redfield'}; inter.rlx_keep='secular'; inter.equilibrium='zero'; inter.tau_c={20e-9};
Here 'secular' is the natural choice because the calculation is a conventional high-field NMR acquisition in the rotating frame. The sequence parameters request direct 13C acquisition:
parameters.spins={'13C'}; parameters.rho0=state(spin_system,'L+','13C'); parameters.coil=state(spin_system,'L+','13C'); parameters.decouple={};
The simulation itself is a standard liquid-state acquisition:
fid=liquid(spin_system,@acquire,parameters,'nmr');
The comparison at the end of the example is important. After plotting the full spectrum, the code removes the coordinates of the two protons:
inter.coordinates{1}=[]; inter.coordinates{2}=[];
and then repeats the calculation. Empty coordinates remove dipolar relaxation contributions involving those protons. The difference between the two spectra therefore isolates the contribution of proton dipolar interactions to the observed double-TROSY line shape.
Practical checks
Redfield calculations are only as good as their tensors, coordinates, and motional model. Before trusting a 19F relaxation simulation, check the following:
- Zeeman tensors and coordinates must be in the same molecular frame.
- The isotropic parts of the Zeeman tensors set resonance positions; the anisotropic parts drive CSA relaxation; both must be correct.
- Coordinates must be present for every dipolar interaction that should contribute to relaxation.
- The rotational correlation time should match the molecule and solution conditions being modelled.
- The
inter.rlx_keepoption should match how the relaxation superoperator is being used. - The create and relaxation reports should be double-checked for warnings.
Exercises
- In the two-spin 19F-1H model, rotate the fluorine CSA tensor relative to the bond vector and observe how the two doublet-component relaxation rates change.
- Replace the proton in the 19F-1H model with 13C and compare the DD-CSA cancellation with the fluorine-carbon case in
trosy_fluorine_num.m. - In
trosy_fluorine_num.m, changeinter.rlx_keepfrom'labframe'to'secular'and inspect which matrix elements change. - In
trosy_double.m, remove only one proton coordinate at a time and compare the two spectra with the full calculation. - Repeat the field scan with a shorter and a longer
inter.tau_cvalue to see how the motional regime affects the TROSY component separation.
Version 2.12, authors: Ilya Kuprov