NMRPipe: a Comprehensive Software System for Multidimensional NMR Applications
[See Also: The Big NMRPipe Reference Page]
|
NMRPipe
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 the illustration link here. A typical NMRPipe installation includes
related software such as NMRDraw, NMRWish, TALOS, DYNAMO, ACME, and MFR.
NMRPipe has its genesis as a spectral processing engine, emphasizing multidimensional NMR applications.
The use of NMRPipe is noted in roughly 50% of the NMR structures accepted into the Protein Data Bank (PDB) since 2000.
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 analysis are now common tools for
protein-ligand screening and characterization. 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:
-
NMRPipe includes special tools to help automate the conversion
of time-domain data from 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). Rigorous inverse processing
facilities are also provided for optimal use of these special
reconstruction methods.
-
NMRPipe provides a variety of approaches for reconstruction of Non-Uniform
Sampled Data (NUS), using MEM, ML, and Matrix
Decomposition.
-
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.
-
Recent versions of
nmrDraw now also include facilities for correlated cursors and
data positioning for viewing two or more related spectra.
-
NMRPipe's pipeline-based processing schemes are intrinsically
parallel, and multidimensional processing scripts can be easily
modified for distributed processing in multi-CPU environments.
-
NMRPipe includes flexible, effective methods to replace bad values
in multidimensional data using Linear Prediction.
-
NMRPipe includes tools for vector decomposition of spectral and imaging data,
and common image processing and segmentation functions.
-
NMRPipe provides rapid and effective automated peak detection for 1D-4D
spectra.
-
The software includes extensive Line-Shape fitting functions, for precise and
convenient spectral quantification, including direct
fitting of pseudo-3D data such as relaxation series or
J-modulated series.
-
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.
-
Simulate time or frequency domain data, including
qualitative simulations of common spectral types such as HNCA etc.
-
Create and draw strip plots, projections, and overlays.
Latest options include
strip plots for multiple spectra, with drag and drop options to
adjust strip order.
-
Predict protein backbone angles based on backbone chemical shifts.
-
Simulate and display protein backbone chemical shifts based on
protein strcuture.
-
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.
-
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.
-
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.
-
Add Hydrogen atoms to a protein PDB file via simulated annealing.
-
Extract structural information by NMR Homology Search (Molecular Fragment Replacement, MFR).
|
Special applications developed using NMRPipe include:
-
Screening applications for individual compounds and mixtures.
-
Facilities to automatically scan a file system to locate and identify NMR data for
batch processing.
-
Automated 1D batch processing and plotting
-
Special facilities for
automated 1D STD (Saturation Transfer Difference) analysis.
-
Automated 2D HSQC batch processing.
-
Multivariate analysis to interactively characterize
similarities and differences in large spectral series.
-
Tools for extraction and analysis of chemical shift evolution curves.
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.
Typical 3D Conversion and Processing of First 2D Plane:
#!/bin/csh
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:
#!/bin/csh
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 hn.proj.tab -hi Full
scroll.tcl -in ft/test%03d.ft3 -tab hn.proj.tab -hi Full
|
 |
 |
 |
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.
|
 |
 |
 |
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.
|
 |
 |
 |
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.
|
 |
 |
 |
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.
|
 |
 |
 |
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
|
 |
 |
 |
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.
|
 |
 |
 |
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.
|
 |
 |
 |
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.
|
|