A module for working with NMR data in Python.


nmrglue is a module for working with NMR data in Python. When used with the numpy, scipy, and matplotlib packages nmrglue provides a robust interpreted environment for processing, analyzing, and inspecting NMR data.

nmrglue has the ability to read, write and convert between a number of common NMR file formats including Varian, Bruker, NMRPipe, and Sparky files. The files, which are represented in python as dictionaries of spectral parameters and Numpy array objects, can be easily examined, modified and processed as desired.

nmrglue provides a number of common functions for processing NMR data such as apodization, spectral shifting, Fourier and other transformations, baseline smoothing and flattening, and linear prediction. In addition new processing schemes can be implemented easily using the nmrglue provided functions and the multitude of numerical routines provided by the Numpy and Scipy packages.

When used in conjunction with the matplotlib (or other) python plotting library nmrglue can be used to create publication quality figures of NMR spectrum or examine data interactively.

nmrglue can be used to analysis NMR data, with routines to perform peak picking, multidimensional lineshape fitting (peak fitting), and peak integration. New analysis methods can be rapidly developed and tested in Python or by integrating Fortran and C/C++ code.




NMRbox Version Software Version
1.0.0 0.4,
2.0.0 0.5,
3.0.0 0.7,


  • Format Conversion
  • Spectral Reconstruction
  • Utilities
  • Spectral Visualization


Nmrglue: an open source Python package for the analysis of multidimensional NMR data
Helmus Jonathan J, Jaroniec Christopher P,
Journal of biomolecular NMR. 2013; 55(4): 355--367