NMRView


This describes an older version of nmrView. It is left in place because it might prove useful even though the latest java versions of nmrView are have more features than the older version described here.

The latest version of NMRViewJ is available from One Moon Scientific and includes an online manual. Please consult the manual for your version of NMRView.

NMRView for NMR assignments


This describes the use of NMRView5 on the SGI or Mac (NMRViewAqua). As of yet, the NMRViewJ version is not fully functional.
1. Starting up - the basics On the SGI: type nv in a terminal window in the directory you plan to work in.
On a Mac OSX: Double click the NMRViewAqua icon. I am currently (18 May 2006) using Version 5.2.2_01. The scripts used below do not work in NMRViewJ.
Once NMRView starts up, use the command window with UNIX commands (e.g. cd) to move to the directory that contains your mat, xpk, script, etc. files.
An attractive alternative is to start NMRViewAqua from within the directory where you plan to work by going to that directory first and typing snbview (see under SmartNoteBook below). This starts NMRViewAqua but not SmartNoteBook. snb must be typed to start SmartNotebook.
"source" the scripts that you will need to use by typing "source filename.tcl" in the command window.
On the Mac, source the "startup" script to enable a number of the options on the Mac. This is supplied by Mike Summers and requires particular tcl8.3 and tk8.3 versions. This enters the modifications made by Mike Summers for Mac compatibility and adds some commands (see his documentation). These do not appear to be needed any longer in the NMRViewAqua version.
Scripts are very useful for setting up a work environment that you will be using a number of times (e.g. a particular combination of HSQC, HNCACB, CBCACONNH, etc.). A simple sample script for opening an HSQC file is shown here. Note: you can define the path to the file locations as follows:
nv_dataset open "/Users/johnshriver/Research/NMRView5.0.3-from laptop/hsqc.mat" or you can simply refer to the file if it is at the current directory level nv_dataset open hsqc.mat
#summary: set up hsqc proc hsqc {} { # hsqc window nv_dataset open hsqc.mat readpks hsqclistt.xpk hsqclist nv_sread seq sac7d.seq NvMkSpectrum hsqc 1x1
wm geometry .hsqc 460x460+0+95 nv_win -posi 200 0 nv_win dataset hsqc.mat nv_win displays hsqc
nv_win lvl 7.95 nv_win x 10.5 6.5 nv_win y 133 100 nv_win poscolor black nv_win negcolor red nv_win nlvl 20 nv_win dispeaks hsqclist nv_win draw
# set simple key functions bind .hsqc {nv_win bind .hsqc {nv_win bind .hsqc {nv_win bind .hsqc {nv_win #
}
full} draw} expand} previous}
DEMO: A useful set of NMR sequence files is located in the "HSQC-Sac7d" directory in the SmartNoteBook directory. You can save this on your computer and change the scripts (sac7d.tcl, jump.tcl) as needed. More detailed directions on using these files and scripts is given below. There is also an online manual with a summary of all low and high level commands that you can get to under Help in the NMRView menu.

2. Reading in Your Data
It is a good idea to read in all the spectra that you plan to work with at the very beginning (on the Mac there seems to be a problem in reading in additional data sets after starting to work on the first ones). See below for a script to read in multiple data sets that you work on a lot (e.g. for sequencing).
Read in datasets in "mat" or "nv" format simply by pulling down the "Dataset" menu item in the "Wish" window to "Open and Draw Dataset". Select the ".mat" matrix files for input. This can be done automatically with a script (see hsqc.tcl or sac7d.tcl).
Alternatively read in NMRPipe files with pipe2xyz command (see mail server archive on www.nmrview.com for directions. I have not tried this yet. It appears that you can also read in VNMR files, but the processing software is not documented and does not appear to be as good as FELIX or NMRPipe. One can also process in VNMR and then move in the phase file.)
Read in a sequence file under Molecules (main menu bar) -> Read Topology -> Sequence File. Sequence files are simply text files containing the names of the
data files, with referencing, crosspeak (xpk), and
amino acid residues, one on each line, using the three letter abbreviations (in caps). This should be done early in the session - for some reason this fails to work the longer you wait.
Expand the spectrum window to the desired size. Place the cursor in the spectrum window, and click on the right button (or hold down on the command
button while clicking on the mouse) and press the "Attributes" option. the threshold by increasing the "Lvl" to the desired value. Adjust the the displayed spectrum using the two crosshairs, the red one controlled middle mouse (hold down the mouse button on the Mac), and the green one controlled by the center mouse button (option button plus hold down the the Mac). Set number of contours drawn using the CLM and Nlvls settings. Press the "z" button and press First or Last to move to the top or bottom of the 3D stack. If you want to see negative peaks you need to set the color of the negative peaks to something other than white (the default).

3. Reference Setting
Go to Datasets under main menu. Pull down Manage Datasets. Select desired dataset. Press Reference Button. Set proper reference parameters (e.g. in N15 filtered spectra where only the left half of the proton dimension has been retained, set the right point (e.g. 1024) to 4.75 ppm; use center point for Nitrogen dimension typically 120 ppm). Write parameters - this creates a .par file in the working directory. This is automatically read in upon opening a dataset in future sessions.

4. Picking peaks
Picking peaks is a necessary evil in analyzing NMR. Everything that you do with the spectra uses the picked peaks. It is initially done automatically after selecting a region which you want to pick peaks in that are above a given threshhold, but then you must go through the entire list (plane by plane) and remove peaks which are not likely to be useful (e.g. noise).
Right click on the spectral window (on the Mac hold down the Command key and click), pull down to the Peak option then select Pick.
In the peak pick window, always give a name to the peaklist prior to picking - always!! The name should be a simple name such as hsqc_noesylist, with no suffix (e.g. do not use the .xpk suffix). Do a peak pick by pulling down the menu with the right mouse button over the displayed spectrum. Pull down to Peak and select Pick. This opens a PeakPick window where you can select the parameters for the picking.
To pick peaks in a 3D spectrum, set thickness to the number of planes, e.g. 64. Change Minimum number of points to 1 (instead of 3) in the second and third
Adjust size of by the
dimensions. Press "Pick". As the peaks are picked, a counter window will open showing the running count of the number of peaks. IN addition, the spectral display will show an overlay of the location of all the peaks. Note that this may take some time - especially for HSQC-NOESY which may have more than 2000 peaks. The picking process will pick up noise as well as data and you must go through the result and edit out the noise peaks.
To view only the peaks in the plane and maybe one plane above and below, use the Peak Attributes window, to set the Plane Offest to 1, and Color By to "Plane".
To delete peaks in the resulting 3D spectrum, change the cursor in the Attributes panel to Delete Peak, and click on the peaks you want to delete. This must be done carefully, and systematically by manually going through every plane of the spectrum, region by region, and inspecting each peak. The box will disappear and the "skull and crossbones" will turn red. Hit return to delete the peaks. You can continue to step through the spectra using the arrow up and down keys while in the delete mode. Note that when you click on the peak, the peak window jumps to that window so that you know that you have selected the desired peak. There does not appear to be any way to remove a large number of peaks at once by selecting a region (e.g. a water stripe).
One can also add peaks using the Cursor AddPeak option.
***You must save the peak list by pulling down the File menu to "Write list" in the Assign->Peaks window. Save the list with a .xpk suffix always since this will be required for reopening the peak list file. A script is provided below which contains a binding command which allows you to type S in any window to save the assignments for that window to the appropriate xpk file.
Read in Peak files - (if you have already created some in a previous session) Open the PeakPanel by pulling down the Assign menu to Peaks. Pull down the File menu and select "Read List". Select list in the "List" pull down menu. Hold down the Command key and click the mouse in the spectrum window, select Peaks, and Show Peaks to display labels. Press "Draw" in the Attributes window to redraw spectrum. There are various options for how you might choose to label the peaks - e.g. peak number or reside number. (This is most easily set up using the script that opens everything automatically at the beginning of a session.)

5. Setting Up Multiple Spectra for Assignments
Most people find the following spectra to be the most useful initially: N-HSQC, HNCO, HNCACB, CBCACONH, HNCA, HNCOCA. A script is available to load these six spectra and display them in separate windows with tracking cursors (sac7d.tcl). This can be found in the Sac7d NMRView Demo directory. You may want to move the appropriate mat and xpk files to your directory along with the seq file and the sac7d.tcl and jump.tcl files. Edit the sac7d.tcl file so that it contains the
appropriate paths to the data files in your directory. You may also want to adjust the sizes and positions of the windows. The line
wm geometry .hsqc 320x320+0+75
sets the size and position of the .hsqc window. This is a Tcl/Tk command and is described in the online manual or in any Tcl/Tk manual. The nv_win commands are described in the online manual for NMRView and can be viewed by starting up NMRView and pulling down the Help menu to Internal Viewer. Note that you will have to view each of the spectra individually and decided on appropriate values for lvl, spectra width (set with nv_win x 10.5 6.5, nv_win y 133 100 (note that the values are in ppm)), names for peak lists, and the way to display peaks. In 3D spectra, the z plane to be displayed initially is specified by a command such as nv_win z 103.8. You need to set the chemical shift for the initial plane by inspecting your 3D spectra and deciding on an appropriate initial starting point for display.
The script jump.tcl also may need to be edited for your spectra. If you are using the six spectra listed above, no changes will be needed. If you choose to use fewer spectra, or add others, the script will need to be changed appropriately.

6. Using jump scripts to "walk" along the backbone - intro to making assignments
Copy the HSQC-Sac7d directory to your site. Open a terminal window, and navigate into the HSQC-Sac7d directory. Start NMRView by typing snbview (make sure that you have set up SmartNoteBook as described below). Type source sac7d.tcl and then "sac7d" in the command window to run the script. You should see the spectra plotted and the picked peaks overlayed. Type "source jump.tcl" in the command window to set up the jump commands.
Go to the Assign menu list and open the "Peaks", "Atoms", and "Sequence" windows. The sequence should be right since the sequence file is read in by the sac7d.tcl script.
There are probably no entries in the Assign and Peak windows. In the Peaks window, pull down the "List" menu and select a list. The assignments should appear in the window. In the Assign window, pull down the "File" menu to "Get Shifts from Peaklists" and a new window should open up which allows the peaklist to be selected for filling the Assign window.
If you now click on any amino acid residue in the Sequence window, the Assign panel should move to that residue. You can also color the assigned residues in the sequence window to indicate which assignments have been made and which need to be done.
Place the cursor in the N-hsqc window and position over any peak. Hit the "j" key and the other spectra will move to the N-plane corresponding to the selected peak in the N-hsqc spectrum. Inspection of the HNCACB and CBCACONH spectra should permit identification of the C_i and C_i-1 peaks as well as the C_ and C_i-1 peaks if they are present (Gly will have no C_-peaks). Comparison to the HNCA and HNCOCA data should help in distinguishing alpha and beta peaks (especially useful for SER and THR where the beta carbons are shifted below the alpha). Place the cursor on the Ca peak in the HNCACB spectrum, and hit the "n" key. The CBCACONH spectra will change to the C-plane corresponding to the selected Ca peak and display all NH peaks that have a C attached with that chemical shift. There will almost always be more than one option due to overlap. We will refer to this as the "Ca view". Make a note of the positions of all the peaks for comparison to the next view. Go back to the HNCACB spectrum and place the cursor on the Cb peak and again kit the "n" key. The CBCACONH spectrum will now display all the NH's which have a carbon attached with the chemical shift selected in the HNCACB, and this will be referred to the "Cb view". Ideally there will be only one NH peak that is seen in both the Ca and Cb views. This is the NH of the next amino acid (i+1). Place the cursor on this NH peak in either the Ca or Cb view and hit the "r" key (right). The N- hsqc spectrum will move to this peak, and if your chemical shift referencing is done will the cursor will fall precisely on this NH. Place the cursor on this peak and hit the "j" key. All the 3D spectra will move to the N-planes corresponding to this NH peak and you can now continue the process.
Sequencing can also be done in the reverse direction by placing the cursor on the Ca and/or the Cb peaks in the CBCACONH spectra, typing "p" (preceeding) to move the HNCACB spectrum to the Ca and CB views of the preceeding NH. Select the unique peak in the Ca and Cb views, place the cursor on it and type "l" (left) to move the N-hsqc spectrum to this NH. Continue moving to the left by typing "j" and using the "p" command in the CBCACONH spectrum.
These scripts also contain the following options for manipulating spectra and data in the window which is currently active and at the front: f - typing f in a window draws the full spectrum d - typing d redraws the spectrum
e - typing e expands using the current crosshair placement p - typing p redraws using the previous drawing dimensions s - typing s saves the current peak assignments into the associated xpk file

6. Making Assignments - manually
Go to the ASSIGN pull down menu in the main window, and pull down to ATOMS. This opens a window showing the atoms of each residue in the order of the primary sequence. This can be used as a template for atom names while making assignments. Note some of these names will not work, e.g. HA#2 for glycine will not be accepted. Use the name conventions in the online manual Appendix called "The Amino Acids".
Go to the Assign pull down menu in the main window, and pull down to Peaks. Type in the name of the atom being assigned to the peak (two atom specifiers in 2D spectra, 3 atom specifiers in 3D spectra). Hit return. The peak number in the window should be red if unassigned, and will turn black on grey after hitting the return (indicating that it is assigned). RName (Residue name) will be inserted by the program if the sequence file has been read in.
Go Int -> Associate Dataset and associate peaklist with dataset. This does not appear to be necessary if you open the files as in the example scripts used here.
This assignment is now in the peaklist named above.
Save peaklist by going to File -> Write List and name with the same name as above but with a .xpk suffix - ALWAYS
One can read in a Dataset and input the .xpk file for further editing by reading in the Dataset as described above, read in the sequence file, open the Assign- >Peak window, and open the .xpk file by going to the File->Read List option. Then open the Peak->PeakAttributes window (in the spectrum pull down menu). Select the desired Peak List in the pull down window. Redrawing the spectrum should result in display of the peaks and selected label types.

6. Promoting crosspeak assignmens to the Assignment panel and the Sequence Panel Go Assign -> Atoms and the "assignPanel" will be opened.
Go File -> "Get Shifts from PeakLists". The peak list to be used is indicated in the pull down list at the top of the getPkppm window. Select the list that you want to promote. You may have to do this more than once to promote all of the assignments.
Go Assign -> Sequence and the assigned atoms should be colored red in the sequence.
There are various options in the PeakAttributes window for displaying the labels on the peaks. They can also be colored differently from the unassigned peaks.

7. How to use SmartNoteBook to make backbone assignments
Overview: SmartNoteBook is a good way to make 50-75% of your backbone assignments very quickly. It has a nice display of the spectra used for assignment, as well as a window showing the assigned sequence.
Download and install SmartNoteBook from http://www.bionmr.ualberta.ca/bds/software/snb/latest/index.html
Follow installation directions as described on the installation page. You will need the latest version of NMRView (not NMRViewJ). On the Mac you can use the NMRViewAqua version. You will need to tell it where NMRViewAqua is located. On my computer it is at:
/Users/johnshriver/Research/NMRView5.0.3 from laptop/ NMRViewAqua.app/Contents/MacOS/NMRViewAqua
Set up an alias by adding the following to your .cshrc (SGI) or .tcshrc (mac) file : alias snbview /Users/johnshriver/snb-v5.0.6/sbin/snbview so that you can type snbview to start SmartNoteBook. Actually this is a good way to start NMRView from any directory.
Download both the examples1 and examples2 directories.
Set up a directory containing your spectra (as mat or nv files), xpk files, and seq file. Go into this directory in a terminal window and type snbview. Once you start SmartNoteBook, type snb in the console to actually start SmartNoteBook.
If the snb.init file is not present, the initialization will start. Select the peakfiles and spectra to use. A good option is to use four strips with cbcaconnh and hncacb (i and i-1 for both).
After calculating the connectivities, the initial spectra will be displayed - usually only the hsqc spectrum will be drawn. Place the cursors on any peak in the hsqc, press the Spectra button, and the two spectra for that residue will be displayed, with various connectivities listed in the window. Select one connectivity (usually the top most) and press Display spectra. Open the attributes window and adjust the scales of all the spectra. Use the Options- Spectra Vertical Scale slides to set the windows. Save the window geometry.
Turn on peak labels under the options list. Under peak parameter window set the proper list for each spectrum, labels, and plane offset (0), and save window geometry. attributes should be set to display Color By Assigned, On Green, Off Red, Label With Residue, Peak Type Peak, Show Peak Off, Display Links Off. This will help distinguish between the assigned and unassigned peaks, and label the assigned peaks with the residue number.
The goal is to assign "Chains" of residues, running as far as possible in both directions as described below from a starting point of your choice. Invariably, you will arrive at a point at which you cannot go any further in either direction with confidence. At that point you should stop and move on to another starting point by picking an unassigned peak in the hsqc (thus the reason for different colors for assigned and unassigned HSQC peaks) and starting a new chain. In the end you will have a number of disjointed chains, some may abut. The total number of assigned residues may be on the order of 80-90%. Further
list in the peak display select the right display The HSQC spectra peaks
assignments will require inspection of other spectra, e.g. CCC-TOCSY-NNH, HSQC- NOESY, to distinguish various possibilities.
The proposed connectivities displayed after clicking the Spectra button are prioritized, but a high score is not always correct. The spectra must be checked to make sure they make sense before the most likely connectivity is accepted. For example, the peaks in the cbcaconnh (i) must also appear in the hncacb (i-1). Why? For some reason, the correct connectivity sometimes turns out to have a low priority score. Once a connectivity is thought to be acceptable, click start new chain (if you do not already have an active chain
that you are to Chain". of the chain thought to start at the residue that you click on in the sequence "pad". For example, if you have an 8 residue chain active, and you click on Tyr 8, the sequence will be assumed to start at Tyr8 and run to residue 15. This is true even if the chain is indicated on the sequence pad as running from a different point (e.g. K21 to K28. Observe the assignments before accepting to make sure they make sense.
working on), and add the connectivity to the chain by clicking "Add The assignments can be checked by clicking the first residue button and clicking "Assign". Be careful, it appears that the chain is
Note: The final assignments are contained in the peak list files (.xpk) contained in the snb.out directory.
Untested: I have not tested the Suggest or the Search options. The latter should be useful.

8. Side chain assignments -
These are made using CCC-TOCSY-NNH and HCC-TOCSY-NNH spectra. Ambiguities in the ordering of the side chain assignments (e.g. beta vs gamma) are made with the aid of HCCH-TOCSY and HCCH-COSY. These should be opened with the CCC-TOCSY- NNH and HCC-TOCSY-NNH spectra to use the cursors to correlate peaks.

9. NMRView peak assignments - intra- and inter-residue NOE assignments
NMRView can suggest peak assignments based on various criteria. This is especially nice for 3D hsqc-tocsy and 3D hsqc-noesy, but can be used for any spectrum. The routine provides a list of options, and one can be selected and used as the assignment without the need to manually type in atom names, etc. This makes assignment much easier once initial assignments are obtained.
To use this option, open the relevant spectra and peaklists. For example, open the hsqc-noesy spectrum for Sac7d using the sac7dhsqctocsynoesy.tcl script. Source the jumphsqctocsynoesy.tcl script and jump to the level corresponding to residue 10 (top most peak in the HSQC spectrum). Pull down the Assign->Peaks window. Select the hsqc-noesy xpk list. Under Edit in the xpk window, pull down the menu options to Reference. Set the pattern to "i.HN", "j,H*", and "i.N" to
indicate that the first column corresponds to the HN of residue i, the second to any residue j (which might include I), and the third to the N of residue i. Set the relation to d3 in the first column to indicate that the atom in the first column is bound to the atom in the third. Set the tolerances for the shifts in the idtol row to appropriate values (this takes some trial and error to make sure you get hits, but not an excessive number). Try 0.1, 0.1, 0.5 and then narrow down or increase the tolerances as you go. Open the Assign->Atoms window (assignPanel) and bring in assignments from a xpk list (such as HCCTOCSYNNH). This should fill the appropriate spaces for the assignments in the table. These can be written to a file (called ppm.out) by clicking on the write ppm menu item under File in the assignPanel. In future uses the ppm.out file can be read in directly (now that it has been created) using the ReadPPM option. This window (and therefore the ppm.out) file must be open for the Identify option to work. To Identify possibly peak assignments in a spectrum (e.g. the hsqcNoesy), open the Identify option under the Edit menu item in the xpk window. This will give you a pekiD panel that is associated with the xpk window (and associated xpk file) as well as the identification constraints in the peakAnalRef window and the shifts in the ppm.out file (assignPanel). By selecting any peak in the xpk window (e.g. using the peak id number) the assignment possibilities will be displayed in the peakiD window. You can select one of these, hit the assign button, and that assignment will be enetered into the xpk window. Make sure you save the assignments before exiting (If you have set up the windows with the lab scripts, simply typing S in each window will save the assignments to the xpk associated to that window). This procedure works very well if you have the hsqc-noesy and hsqc-tocsy open side-by-side to follow the assignments.
Once the intra-residue NOE assignments have been made in the 3D HSQC-NOESY spectrum, these can be used to write to the ppm.out table and then (using narrow id tolerances) these can be used to make inter-residue NOE assignments. This should provide a set of unambiguous NOE constraints that can then be used to start ARIA. And you're off!! Note that you can also use a structure to make NOE assignment decisions, although I have never done this.