Hi Atul,
Continuing from Troels' post at
http://thread.gmane.org/gmane.science.nmr.relax.user/1718/focus=1732,
this time with the ppm units:
On 21 August 2014 12:00, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Dear Atul.
[snip]
# Set the relaxation dispersion experiment type.
relax_disp.exp_type(spectrum_id=id, exp_type='R1rho')
-> Well, the program needs to know which "code-path" to take. Not CPMG
code. :-)
# Set the relaxation dispersion spin-lock field strength (nu1).
relax_disp.spin_lock_field(spectrum_id=id, field=field)
-> Here: 'help(relax_disp.spin_lock_field)', show is that this should be in
Hz.
-> Let is review figure Fig1_Palmer_Massi_2006.png
-> This is the w_1 on S_x axis.
-> What is here put into relax is nu_1. This is then later converted
to w_1, by multiplying with 2*pi.
-> It seems that you have: 'spin-lock amplitude' / "nu_1" / 'spin-lock
field' in column 4, while the the sample script has this in Column 3.
# Set the spin-lock offset.
relax_disp.spin_lock_offset(spectrum_id=id, offset=offset)
-> Here: 'help(relax_disp.spin_lock_offset)', show is that this should
be in "ppm".
-> I see you have the distance/position (in Hz) of the spin-lock
carrier in column 3. Values of 2100, 2728, ... .... ... ...6500
-> Relax needs to know the position in ppm. Edward can give you a
detailed description why we use ppm. It is related to minimise user
error input.
-> You need to calculate this yourself.
If you use NMRPipe, and look in 'fic.com', it could look like this
var2pipe -in ./fid \
-noaswap \
-xN 2044 -yN 256 \
-xT 1022 -yT 128 \
-xMODE Complex -yMODE Rance-Kay \
-xSW 12001.200 -ySW 2659.928 \
-xOBS 750.061 -yOBS 76.012 \
-xCAR 4.7893 -yCAR 118.536 \
-xLAB HN -yLAB N15 \
-ndim 2 -aq2D States \
-out ./test.fid -verb -ov
Or try this script in relax:
relax test.py
------------ test.py
from math import pi
from lib.physical_constants import return_gyromagnetic_ratio
H_frq = 900.0e6
print("The magnetic field strength as the proton frequency in Mega
Hertz: %3.2f" % (H_frq / 1.E6) )
xOBS_Hz = H_frq
B0_tesla = xOBS_Hz / return_gyromagnetic_ratio(nucleus='1H') * 2.0 * pi
print("BO in Tesla: %3.2f" % B0_tesla)
yOBS_N15_Hz = abs( xOBS_Hz / return_gyromagnetic_ratio(nucleus='1H') *
return_gyromagnetic_ratio(nucleus='15N') )
print("The precess frequency for 15N in MHz: %3.2f" % (yOBS_N15_Hz / 1.E6) )
offset_Hz = 2100.
offset_ppm_N15 = offset_Hz / yOBS_N15_Hz * 1E6
print("The offset ppm: %3.2f" % (offset_ppm_N15) )
# Position of carrier.
yCAR_N15_ppm = 118.536
print("The center position of the carrier: %3.2f" % (yCAR_N15_ppm) )
omega_rf_ppm = yCAR_N15_ppm + offset_ppm_N15
print("The omega_rf in ppm: %3.2f" % (omega_rf_ppm) )
------------
This is correct, you will have have to convert to ppm values. The
reason is simple, this is the most universal way of specifying the
position in the spectrum as it is field strength independent. And it
matches the ppm units of the chemical shifts you will have loaded.
Some people measure Hz units from the centre of the spectrum, others
from the edge of the spectrum. It often depends if you are a Varian,
Bruker, or Joel user. But with ppm units, such issues do not need to
be handled within relax.
Regards,
Edward