Abstract
Nmrglue, an open source Python package for working with multidimensional NMR data, is described. When used in combination with other Python scientific libraries, nmrglue provides a highly flexible and robust environment for spectral processing, analysis and visualization and includes a number of common utilities such as linear prediction, peak picking and lineshape fitting. The package also enables existing NMR software programs to be readily tied together, currently facilitating the reading, writing and conversion of data stored in Bruker, Agilent/Varian, NMRPipe, Sparky, SIMPSON, and Rowland NMR Toolkit file formats. In addition to standard applications, the versatility offered by nmrglue makes the package particularly suitable for tasks that include manipulating raw spectrometer data files, automated quantitative analysis of multidimensional NMR spectra with irregular lineshapes such as those frequently encountered in the context of biomacromolecular solid-state NMR, and rapid implementation and development of unconventional data processing methods such as covariance NMR and other non-Fourier approaches. Detailed documentation, install files and source code for nmrglue are freely available at http://nmrglue.com. The source code can be redistributed and modified under the New BSD license.
This is a preview of subscription content, access via your institution.








References
Bak M, Rasmussen JT, Nielsen NC (2000) SIMPSON: a general simulation program for solid-state NMR spectroscopy. J Magn Reson 147:296–330
Baldus M (2002) Correlation experiments for assignment and structure elucidation of immobilized polypeptides under magic angle spinning. Prog Nucl Magn Reson Spect 41:1–47
Beazley DM (2003) Automated scientific software scripting with SWIG. Future Gener Comput Syst 19:599–609
Behnel S, Bradshaw R, Citro C, Dalcin L, Seljebotn DS, Smith K (2011) Cython: the best of both worlds. Comput Sci Eng 13:31–39
Blanton WB (2003) BlochLib: a fast NMR C++ tool kit. J Magn Reson 162:269–283
Brüschweiler R, Zhang F (2004) Covariance nuclear magnetic resonance spectroscopy. J Chem Phys 120:5253–5260
Cock PJA, Antao T, Chang JT, Chapman BA, Cox CJ, Dalke A, Friedberg I, Hamelryck T, Kauff F, Wilczynski B, De Hoon MJL (2009) Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics 25:1422–1423
Delaglio F, Grzesiek S, Vuister GW, Zhu G, Pfeifer J, Bax A (1995) NMRPipe: a multidimensional spectral processing system based on UNIX pipes. J Biomol NMR 6:277–293
Delsuc MA (1988) Spectral representation of 2D NMR spectra by hypercomplex numbers. J Magn Reson 77:119–124
Goddard TD, Kneller DG (2008) SPARKY 3. University of California, San Francisco
Gorgolewski K, Burns CD, Madison C, Clark D, Halchenko YO, Waskom ML, Ghosh SS (2011) Nipype: a flexible, lightweight and extensible neuroimaging data processing framework in python. Front Neuroinform. doi:10.3389/fninf.2011.00013
Günther UL, Ludwig C, Rüterjans H (2000) NMRLAB: advanced NMR data processing in Matlab. J Magn Reson 145:201–208
Helmus JJ, Nadaud PS, Höfer N, Jaroniec CP (2008a) Determination of methyl 13C–15N dipolar couplings in peptides and proteins by three-dimensional and four-dimensional magic-angle spinning solid-state NMR spectroscopy. J Chem Phys 128:052314
Helmus JJ, Surewicz K, Nadaud PS, Surewicz WK, Jaroniec CP (2008b) Molecular conformation and dynamics of the Y145Stop variant of human prion protein in amyloid fibrils. Proc Natl Acad Sci USA 105:6284–6289
Helmus JJ, Surewicz K, Surewicz WK, Jaroniec CP (2010) Conformational flexibility of Y145Stop human prion protein amyloid fibrils probed by solid-state nuclear magnetic resonance spectroscopy. J Am Chem Soc 132:2393–2403
Helmus JJ, Surewicz K, Apostol MI, Surewicz WK, Jaroniec CP (2011) Intermolecular alignment in Y145Stop human prion protein amyloid fibrils probed by solid-state NMR spectroscopy. J Am Chem Soc 133:13934–13937
Hoch JC, Stern A (1996) NMR data processing, 1st ed. Wiley-Liss, New York
Hunter JD (2007) Matplotlib: a 2D graphics environment. Comput Sci Eng 9:90–95
Jaroniec CP, Filip C, Griffin RG (2002) 3D TEDOR NMR experiments for the simultaneous measurement of multiple carbon-nitrogen distances in uniformly 13C,15N-labeled solids. J Am Chem Soc 124:10728–10742
Jones E, Oliphant T, Peterson P, et al (2001) SciPy: open source scientific tools for Python. http://www.scipy.org/
Keller RLJ (2004) The computer aided resonance assignment tutorial. Cantina Verlag, Goldau
Laage S, Lesage A, Emsley L, Bertini I, Felli IC, Pierattelli R, Pintacuda G (2009) Transverse-dephasing optimized homonuclear J-decoupling in solid-state NMR spectroscopy of uniformly 13C-labeled proteins. J Am Chem Soc 131:10816–10817
Lauterbur PC (2005) All science is interdisciplinary: from magnetic moments to molecules to men (Nobel Lecture). Angew Chem Int Ed 44:1004–1011
Lewis IA, Schommer SC, Markley JL (2009) rNMR: open source software for identifying and quantifying metabolites in NMR spectra. Magn Reson Chem 47:S123–S126
Lutz M (2011) Programming Python, 4th ed. O’Reilly Media, Sebastopol
Marquardt DW (1963) An algorithm for least-squares estimation of nonlinear parameters. J Soc Ind Appl Math 11:431–441
Meissner A, Duus JO, Sørensen OW (1997) Spin-state-selective excitation. Application for E.COSY-type measurement of JHH coupling constants. J Magn Reson 128:92–97
Nadaud PS, Helmus JJ, Jaroniec CP (2007) 13C and 15N chemical shift assignments and secondary structure of the B3 immunoglobulin-binding domain of streptococcal protein G by magic-angle spinning solid-state NMR spectroscopy. Biomol NMR Assign 1:117–120
Nadaud PS, Helmus JJ, Kall SL, Jaroniec CP (2009) Paramagnetic ions enable tuning of nuclear relaxation rates and provide long-range structural restraints in solid-state NMR of proteins. J Am Chem Soc 131:8108–8120
Nadaud PS, Helmus JJ, Sengupta I, Jaroniec CP (2010) Rapid acquisition of multidimensional solid-state NMR spectra of proteins facilitated by covalently bound paramagnetic tags. J Am Chem Soc 132:9561–9563
Nadaud PS, Sengupta I, Helmus JJ, Jaroniec CP (2011) Evaluation of the influence of intermolecular electron-nucleus couplings and intrinsic metal binding sites on the measurement of 15N longitudinal paramagnetic relaxation enhancements in proteins by solid-state NMR. J Biomol NMR 51:293–302
Ni F, Scheraga HA (1986) Phase-sensitive spectral analysis by maximum entropy extrapolation. J Magn Reson 70:506–511
Nicholson JK, Lindon JC, Holmes E (1999) “Metabonomics”: understanding the metabolic responses of living systems to pathophysiological stimuli via multivariate statistical analysis of biological NMR spectroscopic data. Xenobiotica 29:1181–1189
Nowling RJ, Vyas J, Weatherby G, Fenwick MW, Ellis HJC, Gryk MR (2011) CONNJUR spectrum translator: an open source application for reformatting NMR spectral data. J Biomol NMR 50:83–89
Oliphant TE (2007) Python for scientific computing. Comput Sci Eng 9:10–20
Pedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, Blondel M, Prettenhofer P, Weiss R, Dubourg V, Vanderplas J, Passos A, Cournapeau D, Brucher M, Perrot M, Duchesnay É (2011) Scikit-learn: machine learning in Python. J Mach Learn Res 12:2825–2830
Pellecchia M, Bertini I, Cowburn D, Dalvit C, Giralt E, Jahnke W, James TL, Homans SW, Kessler H, Luchinat C, Meyer B, Oschkinat H, Peng J, Schwalbe H, Siegal G (2008) Perspectives on NMR in drug discovery: a technique comes of age. Nat Rev Drug Discov 7:738–745
Perez F, Granger BE (2007) IPython: a system for interactive scientific computing. Comput Sci Eng 9:21–29
Peterson P (2009) F2PY: a tool for connecting Fortran and Python programs. Int J Comp Sci Eng 4:296
Pons J-L, Malliavin TE, Delsuc MA (1996) Gifa V. 4: a complete package for NMR data set processing. J Biomol NMR 8:445–452
Seabold S, Perktold J (2010) Statsmodels: econometric and statistical modeling with python. Proceedings of the 9th Python in science conference, pp 57–61
Sengupta I, Nadaud PS, Helmus JJ, Schwieters CD, Jaroniec CP (2012) Protein fold determined by paramagnetic magic-angle spinning solid-state NMR spectroscopy. Nat Chem 4:410–417
Shao H, Seifert J, Romano NC, Gao M, Helmus JJ, Jaroniec CP, Modarelli DA, Parquette JR (2010) Amphiphilic self-assembly of an n-type nanotube. Angew Chem Int Ed 49:7688–7691
Short T, Alzapiedi L, Brueschweiler R, Snyder D (2011) A covariance NMR toolbox for MATLAB and OCTAVE. J Magn Reson 209:75–78
Shuker SB, Hajduk PJ, Meadows RP, Fesik SW (1996) Discovering high-affinity ligands for proteins: SAR by NMR. Science 274:1531–1534
Smith SA, Levante TO, Meier BH, Ernst RR (1994) Computer simulations in magnetic resonance. An object-oriented programming approach. J Magn Reson A 106:75–105
States D, Haberkorn R, Ruben D (1982) A two-dimensional nuclear overhauser experiment with pure absorption phase in four quadrants. J Magn Reson 48:286–292
Stevens TJ, Fogh RH, Boucher W, Higman VA, Eisenmenger F, Bardiaux B, Van Rossum B-J, Oschkinat H, Laue ED (2011) A software framework for analysing solid-state MAS NMR data. J Biomol NMR 51:437–447
Takegoshi K, Nakamura S, Terao T (2001) 13C–1H dipolar-assisted rotational resonance in magic-angle spinning NMR. Chem Phys Lett 344:631–637
Turk MJ, Smith BD, Oishi JS, Skory S, Skillman SW, Abel T, Norman ML (2011) yt: a multi-code analysis toolkit for astrophysical simulation data. Astrophys J (Suppl Ser) 192:9
Van Beek JD (2007) matNMR: a flexible toolbox for processing, analyzing and visualizing magnetic resonance data in Matlab((R)). J Magn Reson 187:19–26
Van Rossum G (1995) Python tutorial, Technical Report CS-R9526
Veshtort M, Griffin RG (2006) SPINEVOLUTION: a powerful tool for the simulation of solid and liquid state NMR experiments. J Magn Reson 178:248–282
Vranken WF, Boucher W, Stevens TJ, Fogh RH, Pajon A, Llinas M, Ulrich EL, Markley JL, Ionides J, Laue ED (2005) The CCPN data model for NMR spectroscopy: development of a software pipeline. Proteins Struct Funct Bioinf 59:687–696
Wassenaar TA et al (2012) WeNMR: structural biology on the grid. J Grid Comp 10:743–767
Wüthrich K (2003) NMR studies of structure and function of biological macromolecules (Nobel Lecture). Angew Chem Int Ed 42:3340–3363
Acknowledgments
This work was supported in part by the National Science Foundation (CAREER Award MCB-0745754 to C.P.J.), the National Institutes of Health (R01GM094357 to C.P.J.), the Camille and Henry Dreyfus Foundation (Camille Dreyfus Teacher-Scholar Award to C.P.J.) and Eli Lilly and Company (Young Investigator Award to C.P.J.). The authors thank the current and former members of the Jaroniec research group (in particular P.S. Nadaud, M. Gao, C. Gupta, S.P. Pondaven, I. Sengupta, B. Wu and S. Mukherjee) for testing and providing valuable feedback on the early versions of nmrglue, and M. Fenwick and P. Semanchuk for reporting bugs and providing patches for the package. This work would not have been possible without the Scientific Python community, whose efforts have produced a powerful environment for scientific computing. The members of this community are too numerous to list here, however special thanks go to the late J.D. Hunter for his dedication to the community and contributions to creating the indispensable matplotlib package. J.J.H. also thanks J. Hoch (U. Connecticut Health Center) for supporting his continuing work on the development of nmrglue.
Author information
Authors and Affiliations
Corresponding authors
Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Helmus, J.J., Jaroniec, C.P. Nmrglue: an open source Python package for the analysis of multidimensional NMR data. J Biomol NMR 55, 355–367 (2013). https://doi.org/10.1007/s10858-013-9718-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10858-013-9718-x
Keywords
- Nuclear magnetic resonance
- Solid-state NMR
- Data processing
- Data analysis
- Data visualization
- Python
- Open source