Frank Delaglio, Ph.D.

19804 Maycrest Way
Germantown MD 20876 USA

301 806-0867

NMRPipe: Comprehensive Software for Multidimensional NMR
[See Also: The Big NMRPipe Reference Page]


NMRPipe is a UNIX-based collection of programs and scripts for manipulating multidimensional Nuclear Magnetic Resonance (NMR) Spectra. It is developed and maintained by Frank Delaglio, with contributions from the colleagues listed in the link here. A typical NMRPipe installation includes related software such as NMRDraw, NMRWish, DYNAMO, ACME, and MFR. There are also options for installing TALOS+ and SPARTA+ packages for analysis of protein chemical shifts.

NMRPipe has its genesis as a spectral processing engine, emphasizing multidimensional NMR applications. The use of NMRPipe is noted in roughly 40% of all NMR structures accepted into the Protein Data Bank (PDB). Over the years, NMRPipe has been augmented as part of a plan to provide a set of tools under a common framework for all aspects of biomolecular NMR. The key philosophy is a bottom-up approach to software and application development, where simpler components are combined using standard scripting techniques (here, UNIX C-Shell and TCL) to achieve complex goals.

An early focus of the software was flexibility, since protein NMR methods were rapidly changing and expanding, typical protein structure calculation projects took months or even years, and no completely standard protocol was used. Now, computers are fast enough to process 3D spectra in seconds, experimental methods for high-throughput NMR structure determination are available, and NMR structural biology is practiced by those who might not be completely familiar with details of multidimensional signal processing.

In addition, 1D and 2D spectral series are now common tools for ligand screening, quality assurance, metabolomics, and food science. In response, our current software development includes an emphasis on automation and batch processing, and spectral series analysis.

Since it is script-based, NMRPipe is highly customizable.
Some things that the software can do:

Spectral Processing

  • NMRPipe includes special tools to help automate the conversion of time-domain data from Agilent, Bruker, Varian, and JEOL Delta, with adjustment for digital oversampling.
  • General-purpose data format conversion tools are provided, so that most any sequential data format can be used to generate input for NMRPipe, and processed data can be saved in other forms.
  • NMRPipe includes comprehensive facilities to process, rephase and display multidimensional data, including options for Maximum Entropy Reconstruction (MEM), Linear Prediction (LP), and Maximum Likelihood Frequency Maps (ML).
  • NMRPipe provides tools for reconstruction of Non-Uniform Sampled Data (NUS), including Iterative Shrinkage Thresholding (IST). Decomposition.
  • Rigorous inverse processing facilities are provided for optimal use of special reconstruction methods.
  • NMRPipe's pipeline-based processing schemes are intrinsically parallel, and multidimensional processing scripts can be modified for distributed processing in multi-CPU environments.
  • NMRPipe includes flexible, effective methods to replace bad values in multidimensional data using Linear Prediction.
  • Common image processing and segmentation functions.

Spectral Display

  • The nmrDraw program can display multidimensional time- frequency- and interferogram data, and multiple 1D overlays. The program also provides real-time interactive phasing of multiple 1D spectra, with automated reconstruction of imaginary data.
  • NMRDraw includes facilities for correlated cursors and data positioning for viewing two or more related spectra.
  • Create and draw strip displays, projections, and overlays. Options include interactive strip displays for multiple spectra with differing PPM ranges, providing drag and drop options to adjust strip order.

Spectral Quantification and Analysis

  • Rapid and effective automated peak detection for 1D-4D spectra.
  • Automated 1D-4D lineshape fitting, for precise and convenient spectral quantification, including direct fitting of pseudo-3D data such as relaxation series or J-modulated series.
  • Simulate time or frequency domain data, including qualitative simulations of common spectral types such as HNCA etc.
  • Form linear combinations of time-domain data or spectra.
  • Vector decomposition of spectral and imaging data using Principal Component Analysis (PCA).
  • General-purpose tools for X,Y model fitting and statistics.

Chemical Shift Analysis, Dipolar Couplings, and NMR Homology

  • Predict protein backbone angles based on backbone chemical shifts.
  • Simulate and display protein backbone chemical shifts based on protein strucuture.
  • Calculate J-couplings from Karplus parameters
  • Extensive facilities to manipulate and visualize Dipolar Couplings, including restrained fitting and cross-validation of tensor parameters.
  • Use NMR homology search to estimate protein alignment tensor parameters from measured dipolar couplings without prior knowledge of the structure.
  • Visualize tensor parameters with respect to a PDB file.
  • Extract structural information by NMR Homology Search (Molecular Fragment Replacement, MFR).

Molecular Structure Utilities

  • List or display backbone and sidechain angles, visualize ramachandran trajectory for one or more proteins or fragments.
  • Analyze Protein PDB for H-bonds, secondary structure and turn classification, mass, volume, and surface area.
  • Find coordinate or torsion RMSD between two or more structures, form overlay.
  • Simple Simulated annealing structure calculation, including NOEs, J-coupling, torsion restraints, absolute or relative atomic coordinate restraints, radius of gyration, pseudo-contact shifts, and dipolar couplings.
  • Easily add Hydrogen atoms to a protein PDB file via simulated annealing.
  • Since many NMRPipe facilities use input and output in the form of text tables, a variety of applications are available to manipulate tables as well as PDB files.

For Software Developers

  • The NMRPipe distribution includes C source code for programs which read and write NMRPipe-format data, as a guide to development of software which maniupulates NMRPipe data.
  • The NMRPipe distribution includes C source code for NMRPipe plug-in creation, so that developers can build their own processing functions for use in NMRPipe pipeline schemes.

NOE Cube

Special applications developed using NMRPipe include:

  • specView, for 1D and 2D spectral series. It includes options for difference spectroscopy, and colorization of spectra according to metadata. specView can also apply Principal Component Analysis directly to interactively selected regions, allowing spectra to be classified according to similarities without the need to identify or assign peaks.
  • screenViewN ligand screening for 10-compound pools.
  • selNMR automatically scans a file system to locate and identify NMR data for batch processing.
  • ezProc1D provides automated 1D batch processing and plotting.
  • std module performs automated 1D Saturation Transfer Difference (STD) analysis.
  • titrView and showEvolve tools for extraction and analysis of 2D chemical shift titration curves.
  • fitXY general-purpose model fitting for X,Y data.
  • imageView for multivariate analysis of hyperspectral images.

The NMRPipe Spectral Processing Engine

The spectral processing engine of NMRPipe is based on the concept of UNIX filters and pipes. A filter program is one which reads some input, processes it in some way, and produces an output of the result. One example of a filter is the UNIX command sort, which reads lines of text, and writes them sorted in alphabetical order. By analogy, we can implement individual spectral processing functions in this way. For example, a filter program for Fourier Transform would read a series of time-domain vectors as input, and produce a series of frequency-domain vectors as output. A UNIX pipe is used to connect two of more filter programs in series, so that the output of one program is used as the input to the next program in the series. This allows sophisticated schemes to be constructed from a series of simpler steps. The steps can be organized into a text file (a shell script) for easy manipulation and re-use. In the case of a spectral processing scheme, the steps in the pipeline will be functions such as a window function (here, SB, a sine-bell digital filter), zero filling (ZF), Fourier transform (FT), and phase adjustment (PS). Since the programs in a pipeline operate simultaneously, pipeline-based approaches are naturally parallel, and can immediately take advantage of multi-CPU architecture.

Conversion and Processing of First 2D Plane:

var2pipe -in ./hnco.fid -noaswap \
 -xN         1024  -yN          128  -zN           64 \
 -xT          512  -yT           64  -zT           32 \
 -xMODE   Complex  -yMODE   Complex  -zMODE   Complex \
 -xSW    8000.000  -ySW    1500.000  -zSW    1650.000 \
 -xOBS    499.843  -yOBS    125.707  -zOBS     50.654 \
 -xCAR      4.773  -yCAR    175.019  -zCAR    118.019 \
 -xLAB         HN  -yLAB         CO  -zLAB          N \
 -ndim          3  -aq2D     States                   \
 -out fid/test%03d.fid -verb -ov

nmrPipe -in fid/test001.fid \
| nmrPipe  -fn SOL                                    \
| nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5    \
| nmrPipe  -fn ZF -auto                               \
| nmrPipe  -fn FT -verb                               \
| nmrPipe  -fn PS -p0 43 -p1 0.0 -di                  \
| nmrPipe  -fn EXT -x1 10.5ppm -xn 5.5ppm -sw         \
| nmrPipe  -fn TP                                     \
| nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 1 -c 1.0    \
| nmrPipe  -fn ZF -auto                               \
| nmrPipe  -fn FT -verb                               \
| nmrPipe  -fn PS -p0 -135 -p1 180 -di                \
| nmrPipe  -fn TP                                     \
| nmrPipe  -fn POLY -auto                             \
   -verb -ov -out test.ft2
Typical 3D Processing and Automated Strip Display:

xyz2pipe -in fid/test%03d.fid -x -verb \
| nmrPipe  -fn SOL                                  \
| nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 2 -c 0.5  \
| nmrPipe  -fn ZF                                   \
| nmrPipe  -fn FT                                   \
| nmrPipe  -fn PS -p0 43  -p1 0.0 -di               \
| nmrPipe  -fn EXT -x1 10.5ppm -xn 5.5ppm -sw       \
| nmrPipe  -fn TP                                   \
| nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 1 -c 1.0  \
| nmrPipe  -fn ZF                                   \
| nmrPipe  -fn FT                                   \
| nmrPipe  -fn PS -p0 -135 -p1 180 -di              \
| nmrPipe  -fn TP                                   \
| nmrPipe  -fn POLY -auto                           \
| pipe2xyz -out ft/test%03d.ft2 -x

xyz2pipe -in ft/test%03d.ft2 -z -verb \
| nmrPipe  -fn SP -off 0.5 -end 0.98 -pow 1 -c 0.5  \
| nmrPipe  -fn ZF                                   \
| nmrPipe  -fn FT                                   \
| nmrPipe  -fn PS -p0 0.0 -p1 0.0 -di               \
| pipe2xyz -out ft/test%03d.ft3 -z

proj3D.tcl -in ft/test%03d.ft3 -abs
peakHN.tcl -proj -in ft/test%03d.ft3 -out -hi Full
scroll.tcl -in ft/test%03d.ft3 -tab -hi Full 

Spectrometer Format Conversion Utility 1D/2D Time-Domain Display Process 1D Vector from Interferogram

NMRPipe includes facilities for automated and semi-automated extraction of acquisition parameters for Bruker, Varian, and JEOL Delta spectrometer formats. There are also special facilities to compensate for digital oversampling used in Bruker and JEOL data, and generic facilities to convert data from most other sequential formats. The graphic application NMRDraw provides tools to visualize time-domain data as 1D traces and 2D planes.

View 1D Spectra From 3D Phase Multiple 1D Rigorous Automated Inverse Processing

NMRDraw also includes facilities for interactive 1D processing, rigorous inverse processing, creation of multidimensional processing schemes, and interactive phasing and re-phasing of one or more vectors simultaneously, using vectors extracted from any dimension of a spectrum or interferogram.

Linear Prediction Maximum Entropy Matrix Decomposition

Facilities for Linear Prediction extrapolation (LP) and Maximum Entropy Reconstruction (MEM) are provided. The NMRPipe MEM implementation includes options J-deconvolution and for reconstruction of Non-Uniformly Sampled data (NUS). Options for spectral matrix decomposition are also available, and these can be adapted to many possible schemes for signal analysis, reconstruction, and enhancement.

Peak Detection, Automated Identification of Peak Overlap 1D Lineshape Fitting (gel data) Pseudo-3D Fitting (Relaxation Data)

Complete facilities for 1D-4D peak detection are available, as well as facilities for automated spectral fitting of 1D-4D data, with special options for simplifying analysis of pseudo-3D data such as 2D relaxation series. NMRPipe also includes tools for creating simulated time-domain and frequency domain data, using input tables which supply peak parameters in the form of positions, line widths, and amplitudes.

Intensity Evolution Fit: Exponential Intensity Evolution Fit: Coupling Modulation Chemical Shift Evolution Fit

NMRPipe includes general purpose fitting tools with Monte Carlo error estimation of the fitted parameters. These are used in applications for relaxation series analysis, extraction of couplings from quantitative J-modulated spectral series, and analysis of chemical shift titration curves

COSY Diagonal Suppression ACME COSY Coupling measurement 3D TOCSY Analysis

A central component of NMRPipe is NMRWish, our customized version of the TCL/TK window shell interpreter wish. NMRWish provides an environment for constructing custom, targeted applications, and includes commands and options for generating multi-window spectral graphics and PostScript output. It also includes a simple text-table database engine for manipulating peak data, assignments, NMR parameters, and molecular structures. Shown here are special-purpose applications for COSY proton-proton coupling measurement (ACME), and 3D 13C TOCSY assignment.

Automatic Strip-Plot Overview of Processed Result Multi-Spectrum Strip Viewer: Original Design Multi-Spectrum Strip Viewer: Refined Design

NMRWish applications include strip display of 3D spectra. Shown here are examples of an automatically generated overview of a 3D HN-detected spectrum, and a multi-spectrum viewing tool to assist in sequential assignment Here, an earlier version of one such application is shown, along with a more recent refined version.

Atomic Coord RMS Overlay Solvent Accessible Surface MFR Result: Ramachandran Trajectory

DYNAMO is a system of software tools and scripts for calculating and evaluating molecular structures. It includes a cartesian-coordinate simulated annealing engine, and facilities for NMR homology search to assemble collections of molecular fragments which are consistent with NMR observables (Molecular Fragment Replacement, MFR). The tools of DYNAMO are accessed via NMRWish scripts written in the TCL/TK scripting language and include structure calculation using NOE distances, torsion restraints, J-couplings, Radius of gyration, Pseudo-Contact Shifts, and Dipolar couplings.