Arrays in Vnmr


 

I. Using Arrays to Control Hardware (a.k.a. where are the knobs?)

II. Simple Arrays using s2pul

III. Interleaving Block Acquisition of Arrays Using nt, il and bs.

IV. Useful Commands Associated with Arrays


I. Using Arrays to Control Hardware (a.k.a. where are the knobs?)

Vnmr allows you to quickly define experiments in which a series of spectra can be obtained as a function of any NMR parameter. For example, you can obtain an array of spectra where transmitter frequency, pulse width, temperature, decoupling state, sweep width, etc., are varied. You can define arrays of one dimension by varying a single parameter. Alternatively, you can define multi-dimensional arrays in which two or more parameters are varied.

You can array any parameter by simply typing the command array and answering the questions about the desired parameter and the size and range of the array. You can also define an array by manually setting the parameter to the desired values. For example, to obtain a series of 10 spectra where each successive spectra is acquired with twice the number of scans as the previous one, you would type nt=1,2,4,8,16,32,64,256,512,1024. To obtain spectra with the decoupler turned on and off, you would enter dm='yyy','nnn'.

The following sections describe how to perform several basic NMR measurements using the standard Varian 2 pulse acquisition sequence s2pul and arrayed acquisition of spectral data.


II. Simple Arrays using s2pul

A. Measuring 90 degree pulse widths

You can measure the 90 degree pulse width of the selected nucleus by making an array of the pulse width pw. The following spectra were obtained on the Gemini-300 using the array pw=5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95. The spectra were displayed using the command dssh (display spectra stacked horizontally). When measuring the 90 pulse width, set parameters p1 and d2 equal to zero and set d1 to ca. 5 x T1.

Figure 1. Peak Intensity vs. Pulse Width

array of spectra using pw

After displaying the spectra with dssh, you can plot the array by typing pl('all') and then page. dssh will automatically calculate the width of chart wc, start of chart sc, and horizontal offset ho needed to fit all the spectra on the page.


B. Spin-Lattice Relaxation Times (T1)

Arrays greatly simplify the measurement of spin-lattice relaxation times or T1. The standard 2 pulse sequence (s2pul), in combination with arrays, can be used to perform T1 measurements using inversion-recovery sequence, as shown below. The inversion (180°) pulse is performed with pulse p1, which is followed by the recovery delay d2. d2 is arrayed to observe the relaxation of magnetization to equilibrium as a function of time.

Figure 2. Inversion Recovery T1 Pulse Sequence Generated With s2pul.

t1 pulse sequence

d1=5 x T1
p1=180°

d2=array from ca. 0.01 x T1 to 3-5 x T1
pw=90°


T1 measurements require a long (5x T1) delay of time d1, followed by a 180° inversion pulse p1. The magnetization is allowed to recover for a time d2. The residual magnetization is then examined by a quantitative 90° pulse, pw. The sequence is repeated for nt transients at various values of d2.

An example of an arrayed series of spectra obtained using the inversion-recovery method is shown in Figure 3. T1 experiments can be easily acquired using s2pul and an array of d2. To acquire a T1 data set, obtain a simple 1D spectrum. Type dot1 and answer the questions about minimum and maximum expected T1 values and the desired time for the experiment. The macro dot1 will set pw to 90° and p1 to 180°. dot1 will set the equilibration delay d1 to ca.5 times the longest expected T1 value. dot1 will then generate an array of relaxation delays d2. You can adjust d1, d2 and nt to change the overall time required, if so desired (type time to find out how long the experiment will take). Finally, type ga to acquire the data. When finished, type dssa (display spectra stacked automatically to display the spectra).

Figure 3. Example of a Carbon T1 Measurement (Menthol).

t1 spectra of menthol

VNMR has an excellent set of tools for analyzing the results of the T1 experiment. To process the T1 data, display the last spectrum and set the threshold for peak picking. Type ds(n) where n is the number of the last spectrum. Phase the spectrum and set the threshold, in exactly the same way you would with a simple 1D spectrum. Adjust the display so that only six peaks are shown and type dpf (or dll). This will generate a list of peaks in the spectrum. Now type fp. The command fp will find the intensity of each of the peaks in the displayed region and will do so for all the spectra in the array. Type t1 to calculate the T1 value for each of the displayed peaks. The command t1 will generate a list of peak intensities for each peak, and the quality of the fit to the estimated T1 value.

Display the stacked spectra with dssa (display spectra stacked automatically). You can manually change the horizontal offset ho, the vertical offset vo, and the width of chart wc and start of chart sc. After displaying the spectra with dssa, you can plot the array by typing pl('all') and then page. dssa will automatically calculate the width of chart wc, start of chart sc, and vertical offset vo needed to fit all the spectra on the page.

You can generate a graphical display of this data using the expl (Figure 4). The command expl will display the fit of the data. The following graph was generated by displaying three of the peaks in the T1 example shown earlier, followed by dpf, fp, t1, and expl. The exponential analysis can be output to the plotter by typing pexpl page. expl and pexpl accept the peak numbers as options. For example, if you had displayed six peaks and analyzed the T1 values with fp, followed by t1, you could generate the T1 curves for peaks 2 and 5 (of the six) by typing expl(2,5).

Figure 4. Example of T1 Analysis.

exponential relaxation plot


C. Kinetics Experiments

Kinetics and Variable Temperature experiments are straightforward to set up using arrays. VNMR has a parameter called the pre-acquisition delay, pad. The spectrometer will wait pad seconds before acquiring the spectrum. For a kinetics measurement, simply array pad to leave the desired time between successive spectra. Alternatively, a local macro program called kineticset can be used to automatically defined an array of pad values that increase in user-definable stages that take into consideration the exponential rate of change in kinetic experiments.

Once you have defined the array of pad values, type ga to acquire the spectra. VNMR contains tools to analyze the spectra in a manner that is very similar to that of T1 data. First, display the last spectrum in the kinetics series and set the threshold for peak picking. Type ds(n) where n is the number of the last spectrum. Phase the spectrum and set the threshold, in exactly the same way you would with a simple 1D spectrum. Adjust the display so that only six peaks are shown and type dpf (or dll) to generate the list of peaks in the displayed portion of the spectrum. Next type fp determine the intensity of each of the peaks in the displayed region of the array. Type kini or kind to fit the data for each peak to an increasing or decreasing exponential function, respectively. The commands kini and kind generate a list of peak intensities for each peak, and give errors to the exponential fit. As with T1 data analysis, you can generate a graphical display of this data using the expl as shown in Figure 4. Use dssa and pl('all') to display and plot the arrayed series of spectra.


D. Homonuclear One-Dimensional NOE Measurements

1d noe
d1=5 x T1 (typically 5-20 s)
d2=1 to 5 x T1
pw=90°
or less
dm='nyn'
dmm='ccc',
dof=desired frequencies (click here to see how to set)
dpwr=value in db. Depends upon probe, sample and spectrometer (ask staff for current parameters)

In the homonuclear NOE experiment a spectrum is acquired with single-frequency (selective) CW irradiation of one resonance. This spectrum is subtracted from a second spectra acquired without irradiation of the peak.

The homonuclear NOE measurement requires an array of decoupler frequencies. The first spectrum is acquired with the decoupler off-resonance from any peaks. Successive spectra are acquired with irradiation of a single peak for a time d2. The decoupler is turned off and the transient is acquired after the pulse pw. The spin-system is allowed to return to equilibrium during the time d1.

Set the array of decoupling frequencies by taking a simple 1D spectrum without decoupling. First, put the cursor on a region of noise well-removed from all peaks in the spectrum. Type sd. This will set the decoupler offset frequency dof to the value of the cursor. Next, redisplay the spectrum with ds. Put the cursor on the first peak you wish to decouple. Type (sda for set decoupler array). Repeat the sequence ds, sda for all the peaks you wish to decouple.

Next, set the decoupler power. This will depend upon the spectrometer, the probe, and your sample. Ask the staff to find power levels appropriate to your situation. Set the decoupler to be on in the period before acquisition by typing dm='nyn'. Set d1=2 to 5 times the T1 of the peaks of interest. Set d2=1 to 5 times T1. Setting dm='nyn' will leave the decoupler off during equilibration, turn it on to irradiate the peak of interest and generate the NOE. Finally, the decoupler will be turned off during acquisition.

Type ga to acquire the spectra. When finished, you should transform (wft) and phase correct the spectra, either with aph or manually. You may improve sensitivity by using a line broadening lb that is equal to the line widths of your peaks. Next, type ai to put the display in absolute scaling. Display any of the spectra in which the peaks have been irradiated by typing ds(n), where n is 2 to the last spectra. Clear the add-subtract buffer (experiment 5) by typing clradd. Add the displayed spectra to the buffer with spadd. Display the off-resonance irradiated spectra by typing ds(1). Subtract this spectrum from the add-subtract buffer by typing spsub. View the subtracted spectrum with jexp5, ds. Alternatively, instead of subtracting the spectrum, you can interactively manipulate the subtraction by typing ds(1), followed with addi.


E. Single Frequency Decoupling Measurements

As in the homonuclear NOE measurement , single frequency decoupling of a series of resonances will require an array of decoupler frequencies. The first spectrum can be acquired with the decoupler off-resonance from any peaks.\, to act as a control. Successive spectra are acquired with irradiation of a single peak for a time d2. Unlike the NOE measurement, the decoupler is left on after the pulse pw. This is accomplished by setting dm='yyy'.

Set the array of decoupling frequencies by taking a simple 1D spectrum without decoupling. First, put the cursor on a region of noise well-removed from all peaks in the spectrum. Type sd. This will set the decoupler offset frequency dof to the value of the cursor. Next, redisplay the spectrum with ds. Put the cursor on the first peak you wish to decouple. Type (sda for set decoupler array). Repeat the sequence ds, sda for all the peaks you wish to decouple.

Next, set the decoupler power. This will depend upon the spectrometer, the probe, and your sample. Ask the staff to find power levels appropriate to your situation. Type ga to acquire the spectra. Process the spectra with wft and dssa as in the NOE measurement. Display any of the desired spectra with ds(n).


III. Interleaving Block Acquisition of Arrays Using nt, il and bs.

In NOE, T1, decoupling, kinetics, and other arrayed spectra, changes in room temperature, tuning, field homogeneity, etc. can create small changes in chemical shift and line-widths of the sample. These effects will often increase over time, and can become significant in the latter portions of experiments. Such changes can become pronounced if you acquire spectra overnight and on weekends, even in the best of instruments. One solution is to try to average any such changes over all the spectra in a given experiment.

Vnmr has a particularly easy way to do this. Spectra are transferred from the acquisition processor to the host computer every bs or multiple of bs transients. If you are acquiring a spectrum with nt=128 and bs=32, the spectrum will be updated when the number of completed transients ct=32, 64, 96 and 128. Now suppose you are acquiring three spectra, each with a different decoupling frequency dof. If you type ga, the first spectra will be acquired. It will be updated at each multiple of bs until nt transients are accumulated. The spectrometer will then start acquiring the second spectrum. It will also be updated every bs number of transients and so on until all arrayed spectra have been acquired.

However, we could interleave acquisition at each bs, i.e., we could acquire 32 transients on the first spectrum, then 32 on the next and 32 on the next. We could then reload the first spectrum and acquire 32 more transients until we have acquired another bs number of transients and do the same with the second and third spectra. This process of interleaved acquisition could be repeated until we have acquired nt transients on all spectra. Interleaved acquisition can be done at any time, simply by typing il='y', setting up an array, and setting nt to be an integer multiple of the bs. For example, an array of five values of dof, bs=8, nt=32, and il='y' would result in five spectra, each cycled through four times. You can turn interleave off and acquire spectra sequentially by typing il='n'(default).


IV. Useful Commands Associated with Arrays

 
generate an array array the command array will help you generate an array of essentially any nmr parameter in vnmr.
display arrayed parameters da displays a list of all values of all arrayed parameters
calculate total experiment time time time will calculate the total time needed to perform the arrayed experiment (works with all n-D and non-arrayed experiments as well).
Set decoupler and set decoupler array sd, sda Use sd to set the decoupler offset dof to the peak of interest. Use sda to set subsequent decoupler frequencies into an array of dof.
Display any spectra in an array ds(n) ds(n) will display the nth spectrum, where n is the number of the spectrum in array you wish to view.
Display stacked spectra dssa, dssh, dss dssa will display spectra stacked automatically, with both vertical and horizontal offsets. dssh will stack spectra with only a horizontal offset. dss will display spectra without recalculating the horizontal or vertical offsets ho and vo.
Horizontal and vertical offsets vo, ho vo and ho control the vertical and horizontal offsets, respectively, of arrayed spectra displayed with dssh, dssa, or dss. vo and ho are in mm.
Plot arrayed spectra pl(n,m,o), pl('all') pl('all') will plot all the spectra in an array, using the values of wc, sc, ho, and vo determined by the last display (see dssa). pl(n,m,o) can be used to plot selected spectra, where n is the number of the first desired spectrum, m is the last desired spectrum, and o is the increment between spectra.
Add and subtract spectra clradd, spadd, spsub clradd will erase the add-subtract buffer (experiment 5). Display the spectrum you want to add with ds(n) and add the spectrum with spadd. Then display the spectrum to be subtracted with ds(n) and subtract it with spsub. Join expt 5 by typing jexp5 and view the result with ds.
Interactive add and subtract addi Once a spectrum has been placed in the add-subtract buffer (ds(n), clradd, spadd) and the spectrum to be subtracted is displayed (ds(n)), you can use addi to interactively add or subtract the displayed spectrum in the current experiment.
Pre-acquisition delay pad pad is a pre-acquisition delay which occurs before each spectrum. It can be used to wait between temperature changes, or can be used to wait various times between experiments for kinetics runs.
Set up a kinetics experiment kineticset kineticset will set up an array of pad values for a kinetics experiment, based on user input.
Set up a T1 experiment dot1 dot1 will generate an appropriate set of arrayed parameters to carry out a T1 experiment, based on user input.
Find peaks fp fp will find the shift and intensity of a given peak in an arrayed set of spectra. Display one of the spectra with ds(n), place the cursor on the peak. Type nl (nearest line), then fp.
Calculate T1 values t1 t1 will calculate T1 values for peaks after completion of the experiment. t1 is issued after the spectra are displayed, the threshold is set, peaks are located with either dpf or dll and found in all arrayed spectra with fp.
Evaluate kinetics data kini, kind kini and kind will calculate kinetics values for increasing or decreasing peaks after completion of the experiment. The kini or kind command is issued after the spectra are displayed, the threshold is set, peaks are located with either dpf or dll and found in all arrayed spectra with fp.
display exponential plots expl(n,m,etc.), pexpl(n,m,etc.) expl will generate a plot of the results of t1, kini, or kind. Individual lines (1 through 6) can be shown by typing expl(n,m,etc.) where n, m can be any values from 1 to 6. pexpl will generate a plot and send it to the plotter (this should be followed by page).