Part 4: UXNMR

The Bruker nmr program, uxnmr, is their acquisition/data processing program for the Aspect X32 computer. It will not run on a MacIntosh or a PC. The binary is meant only for the X32. Trying to run it on a PC would be like trying to fit the engine from a Datsun into a Ford. XWinnmr is their corresponding program for SGI computers and PC's. There are many similarities between the two.

Parameter Changing

If you know the name of the parameter that you wish to change then changing it is most easily accomplished by simply typing the name of the parameter and responding to the window that opens. For example to change the value of D1, the interpulse delay time, you just type 'd1'. A window will pop up and display the current value of d1. If you type a new value in, this will become the new value for d1. If you just type 'enter' then the old value is retained. The d1 parameter is part of a large collection of time delay values and is in the 'd array' section. You would click on 'd array', a new window would open and you would click on d1 to change its value. It's faster and easier to simply type d1 to change it.

The other way to change a parameter is to open the appropriated parameter editor window and change it there. For d1, the editor window would be the acquisition parameter editor, EDA. Typing 'eda' opens a window with many, many parameters that can be editted.  Each parameter belongs to a parameter group, the major ones being acquisition, data processing, plotting ... the corresponding editors are EDA, EDP and EDG. If you want to, say, change the peak picking from ppm to Hz in you plot, this would involve changing a plot parameter in EDG. You would open up EDG and find several sub-editors, one of which pertains to peak picking (or peak labels). Opening this sub-editor would then present you with a field that specifies either ppm or Hz. Clicking on it will toggle it between ppm and Hz. Simple!

Data Acquisition

Assuming that you have successfully locked the instrument (see section 2, Lock) onto your particular solvent and shimmed (see section 5), it is necessary to set up the spectrometer for your solvent. In particular you must select the correct offset frequency in order to have the transmitter reference in the middle of your spectrum , and the spectral width must be wide enough to avoid aliasing or folding (but see section 2, Digitizing). You can do this manually by setting the values of O1 and SW or SWH or you can simply read in a parameter file using the RPAR command. Generally, we type 'rpar stan*' and get a list of parameter files beginning with the characters 'stan' (remember wild cards from section 1?) that we can select from. In this lab the files are organized as 'stanNUCLEUS.SOLVENT' . So for a carbon13 experiment done in methanol you would select 'stanC13.meoh'.

The receiver gain must be set to avoid overflow and underflow (section 2, Digitizing). There are two ways to do this, manually by setting the value of the RG (receiver gain) parameter or by letting the computer do it automatically using RGA. Most people use RGA. There are many, many other acquisition parameters that can be set ... far too many to mention here. They can all be viewed by typing EDA (Edit Acquisition parameters). Most of them refer to more exotic experiments than simple 1D acquisitions.

Now data acquisition can begin. Typing ZG will instruct the computer to start the currently loaded pulse program which is usually a simple 1D nmr experiment. If desired, you can view the time-domain data as it is being acquired by clicking on 'acqu' in the upper left corner of the screen. This display shows the data from one of the acquisition channels (remember there are two channels for quadrature acquisition?) as it is being received. You can, if you like view both channels simultaneously by clicking on the "N Y/Quad Sep" button. The default is N for 'no'. To see both channels (real and imaginary data) middle click on the buttion. You will see two fid's, one from each channel. ZG means 'zero - go' and is actually the combination of two commands from Bruker's old (ancient actually) FTNMR program. Originally, it was necessary to manually zero the computer's memory using ZE followed by a GO command to start pulsing. The two commands were used so often that they were combined into one, ZG, and the mnemonic has remained to this day in all of Bruker's nmr programs including the latest, Xwinnmr.

An interesting feature of the data acquisition screen is the realtime FT button. It is possible to view a transformed spectrum of the data as it is being acquired. This is very useful. It requires that the incoming time domain data be fourier transformed and displayed as frequency domain data (a spectrum, in other words). In order to display a properly phase corrected spectrum it is necessary for the program to have the proper phase correction constants in memory. The only way to do this is to aquire a spectrum, fourier transform it and phase correct it ... a real bootstrap problem if ever there was one. However, for 13C spectra, a few scans usually suffice to observe the solvent peak which can be phase corrected well enough to give a reasonable spectrum. You would then begin acquisition of the 'real' spectrum and middle click on the 'F S' button to get the transformed spectrum. For some reason the initial view in uxnmr is of both real and imaginary transformed data (thanks a lot, Bruker!). As soon as any button is clicked the display jumps to the real spectrum. I usually just click the right mouse button on the '<> >< r' screen button. You will now be able to watch the spectrum 'grow' out of the noise. This feature is especially useful for obtaining a finely tuned shim. Shimming on the lock signal is pretty much an approximation and not always reliable (see the FAQ discussion of the split field phenomenon). I usually do a quick shim using the lock signal and then fine tune it using this technique.

Data Processing

Processing the data usually means fourier transforming and perhaps integrating. The way that our system is set up, this is a fairly simple process but there are some things that are happening that you should be aware of. First, the command generally used to fourier transform from the time domain to the frequency domain is EF. Like ZG, this is actually a combination of two commands, EM and FT. FT does the fourier transform and EM applies what is known as an exponential window function on the time-domain data. This consists of simply applying an exponential function to each data point in the fid:

'a' is the LB parameter in uxnmr and is positive. The effect of applying this function to the fid is to decrease size of the fid as you go from left to right. In other words, you decrease the noise contribution which is generally what is present at the tail end of most fid's. This will have the effect of increasing the signal-to-noise ratio, always desireable in nmr spectroscopy. The price that is paid, however, is that the the spectral lines are broadened since the apparent decay time is shorter after application of the function (hence the name 'line broadening parameter, LB'). Judicious use of LB will result in an improved signal to noise ratio without much effect on the linewidths.

There are other window functions that can be applied. Most commonly, in 1D nmr spectroscopy, the Gaussian resolution enhancement window function is applied to ... well ... enhance the resolution of the spectrum.  This is done with a function such as:

Here, a is negative and b is between zero and one. Using this function the end of the fid is actually emphasized ... in other words the noise level is increased. Why do this, you ask? Well, the shapes of the nmr lines in the frequency domain (the familiar nmr spectrum, in other words) depend on how long the fid decays. A short decay leads to wide lines and a long decay leads to sharp lines. Ultimately, an infinite decay would give infinitely thin lines! Anyway, emphasizing the end of the fid makes it look to the fourier transform as if the fid has a longer decay time and the lines appear to be sharper. Hence the name 'resolution enhancement'. The price that is paid of course is that the noise is emphasized as well ... the signal-to-noise ratio suffers.  However, the experiment will often reveal multiplet structures that were hidden using the normal exponential window function. This may be useful when designing an experiment such as the noe difference experiment where it is important to know how many peaks are in a multiplet.

Zero filling is a technique used to increase the digital resolution of the spectrum. The digital resolution usually expressed as  the spectral width in hertz divided by the number of displayed points. The smaller this number is the higher the digital resolution. It is possible to add data points to the end of the fid where the signal has usually decayed to noise which is close to zero signal level. Generally, data points consisting of zeros are added, usually double the number of real data points in the fid ... hence the name zero filling. The effect of this is to potentially bring out details in the spectrum that are separated by only a few hertz. For example, in a 13C spectrum with spectral width 200 ppm there is a singlet where a double is expected. It may be that the doublet is separated by a smaller amount than the current digital resolution will show. Addition of zero filling may bring out the doublet to the point where it can be seen. In uxnmr, zero filling is accomplished by changing the value of SI (size of spectrum in data points). In order to apply zero filling it is necessary to know the value of TD (time domain data points). The amount of zero filling applied is defined as 2 * SI - TD. So, if TD is 16k and SI is 8K there will be no zero filling. If TD is 16K and SI is 16K there will be 16K of zero'ed points added. One thing to be aware of is truncation. If the real fid has not decayed to zero at the end of the acquisition period then adding zeros has the effect of trucating the fid to zero. This sudden drop in apparent signal will result in an effect know as sinc'ing in which strong, sharp peaks in the spectrum will have ringing at their bases.

Sometimes the baseline has a roll to it that will adversely affect integration. This can be compensated for by using the ABS command which will do an automatic baseline correction.

Integration is performed by clicking the INTEG button from the main screen to get to the integration screen.  Since you will be using the mouse to point to the beginning and end points of the integral it is usually a good idea to expand the spectrum horizontally so that the peaks in the spectrum are clearly visible from each other. To mark the integrals the mouse cursor must be 'stuck' to the spectrum by a single left click with the mouse cursor somewhere in the spectral window. This will stick the cursor to the spectrum ... to unstick just left click again. While the cursor is stuck you can mark the beginning and end of the integrals with the middle mouse button. Integral sizes on screen can be changed by using the vertical integral expansion button.  An integral can be marked for an operation (calibration, deletion, slope, bias etc) by stick the cursor to the spectrum, moving the cursor to some point between the beginning and end of the integral and unsticking the cursor. An asterisk will appear on the integral to show that it is the currently marked integral. Frequently the slope and bias of the integral have to be adjusted. This is done on the marked integral. Use the middle mouse button to adjust the slope of the low side of the integral until it is horizontal. Use the right button to do the same for the high side of the integral. The marked integral may be calibrated by clicking on the CALIB button.

Processing 2D data is usually a matter of typing 'xfb' to perform the 2D transform and, in the case of the hmqc and noesy experiments, phase correction. Symmetrical 2D spectra can be cosmetically improved by symmetrization.

Phase correction of 2D spectra (hmqc, noesy) is done in a similar fashion to 1D spectra. The idea is to choose three slices through the spectrum, choose the one that will have the pivot point, do the zero order phase correction in it and the first order phase correction in the other two. This is all done in the phase correction screen, chosen from the PCORR button in the main 2D screen.

Data Plotting

Plotting 1D data is simply a matter of invoking the plot screen, setting up the spectrum to look the way that you want it and then plotting it. Modifying the plot depends on what you want. If you don't want the parameters you will have to specify this before entering the plot screen. To do this, use the edg editor and click on the 'parameters' field until it says 'no'.  Integrals and integral numbers can be turned on or off in the plot window as can peak picking (using the appropriate boxes at the bottom of the plotting screen).

Plotting 2D data is a bit more complex. Usually, you will want to plot projections on the edge of the 2D spectrum. These are usually the corresponding 1D spectra. You have to tell the program exactly where these spectra are. They can be in separate files or can be in different experiment numbers with the same file name as the 2D spectrum. The second approach is the one that I use and recommend. It keeps all of your related 1 and 2 dimensional spectra organized logically. To specifiy where the projections are you invoke the edg plotting editor. Within edg there are several sub-editors. With respect to projections we are interested in 'edproj1' and 'edproj2'. Start up edproj1 and in here you will have to specify the name of the file for projection 1, the spectrum that goes along the vertical axis. Make sure that the disk unit, username, filename, experiment number and processed data number all correspond to the desired 1D spectrum. The same is done for the F2 projection using edproj2. Unfortunately, there is no way to tell whether or not the heights of the 1D spectra in the 2D plot will be acceptable other than to do a plot. To alter the heights it is necessary to change the appropriatre 'CY'  parameter. For the F1 projection this is PF1CY and for the F2 projection, PF2CY. You can either do this manually at the keyboard (faster) or using the appropriate plot editor.

Pulse Programming