NMR spectroscopy allows for in-situ reaction monitoring by collecting a series of spectra over time as a reaction occurs in the NMR tube. Researchers may choose to monitor 1H or X nuclei spectra during this process. The main requirements for reaction monitoring via NMR are that the sample gives sufficient signal-to-noise for the peaks of interest after just a few scans, and that the reaction does not proceed too quickly to capture the initial reaction time points. There are several ways to accomplish a variable-delay array in Topspin, but this tutorial will focus on the arrayed pseudo-2D "kinetics" experiment for reaction monitoring via 1H NMR spectroscopy, and a second method of using an automation script to create a series of 1D experiments with variable time delays between the experiments. The second method is particularly powerful if you require solvent suppression or you are monitoring the reaction via some spin other than 1H.
Time-Arrayed Spectral Sequence Using multi_zgvd
This procedure will work for any 1D experiment you would like to acquire in a time-arrayed fashion. If you believe your reaction will begin very quickly, you may choose to do the initial setup on a “dummy” sample that does not contain the catalyst or substrate. An example of how to use a dummy sample: heat up the probe to the desired temperature with the dummy sample inserted and lock/tune/shim. Then switch to the real sample - the probe will be pre-heated, and you can put the sample in, do a quick shim or even skip it, and start the expt queue as discussed below. If you think the reaction is fairly slow/steady, you can just set up on the real sample, or set up the queue at room temperature before turning on the probe heater. (Note: for experiments above 80 °C you will need to use the ceramic spinner.)
Set up the first experiment as desired - regular 1H, solvent-suppressed 1H, 31P, etc.
Acquire this first spectrum and make sure you have all of the settings as you would like them for the array. For example: number of scans (ns), dummy scans (ds), spectral width (sw), center frequency (o1p), recycle delay (d1). The general rule for kinetics and reaction monitoring with NMR is that you want to use the fewest number of scans possible to get reasonable signal-to-noise for the peaks of interest. Ideally, for a 1H, you would be using ds = 0 and ns = 1. For each time point in the array, you want a "snapshot" of the reaction. If you have too many scans for a time point, the reaction can proceed significantly during the acquisition time, and several snapshots will be blurred together.
Back to the setup. At this point, you've set up your experiment how you'd like to repeat it in the array. Now we must set up the array.
In setting up the array, you have a choice to make. If you want the space between spectra to be variable, (for example, 15 mins, 15 mins, 30, 30, 30), you need to create something called a vdlist (variable delay list). Type edlist vd to bring up the variable delay list editor window. I created one called queue.
You can edit the queue list, or create a new one using your initials or ISU Net-ID. For this example, let's select the queue list and click File -> edit. Each line is a separate time, in seconds. So, you could have a list like:
…. And so on. Each line is the time delay between experiments. The first experiment will start immediately once you type the command to start the queue. Let's say the example experiment takes one minute. After the acquisition has completed, the software will wait 300 s (5 minutes) before starting the next experiment in the queue. Thus, the second experiment will begin 6 minutes after the start of the first experiment. The variable delay list may begin with the data points closer together (because the reaction is proceeding more quickly), and longer delays towards the end. You will need at least as many rows as data points you plan to acquire.
In first experiment that just finished running, type iexpno. This will create the second file in the queue that is a copy of the first experiment. (If using a dummy sample, this is when you would insert the real sample. Add your substrate/catalyst or allow it to come to temperature and do a quick shim if you think it’s necessary.) Type multi_zgvd in the second file to start the queue. It will ask if you want fixed (f) or variable (v) delay.
If you choose fixed, the next box will be the time (in seconds). For example, entering 1800 would create a queue with all of the experiments spaced 30 mins apart; 600 would create a queue with the experiments spaced 5 minutes apart.
If you choose v, the next box will ask you for the vdlist that we set up in the previous step. In this example, we are using the list named queue.
In the next box you will enter the total number of experiments.
In the final box, it will tell you the total experiment time for all the experiments and the delays between them, the expected end time, and it will start the queue.
The first time you type multi_zgvd it may pop up a box saying “compiling au,” and after a few seconds it will say it’s done compiling and you can proceed. (This only happens the first time.)
If you realize the setup is incorrect after starting the queue, typing halt will only stop the current experiment. Typing kill will pop up a screen where you can kill the multi_zgvd process.