MetaboLabPy—An Open-Source Software Package for Metabolomics NMR Data Processing and Metabolic Tracer Data Analysis
Abstract
:1. Introduction
2. Materials and Methods
- To create software with a user-friendly GUI to allow non-expert users to process and analyse NMR-based metabolomics and metabolic tracing data.
- To provide software enabling spectral data processing from scratch, i.e., not relying on other—potentially commercial—software packages for NMR data processing.
- To enable scripted batch-processing of large series of NMR spectra.
- To provide a robust and easy-to-use workflow for data pre-processing of NMR-based metabolomics data.
- To enable exporting pre-processed data to various statistical analysis software packages such as MetaboAnalyst [3], Batman [6], rDolphin [7], Chenomx (https://www.chenomx.com/ accessed on 5 January 2025), or other software packages that may use Excel files as data input.
- To enable non-expert users to process, assign, and analyse ultra-high resolution 2D HSQC NMR spectra.
- To analyse tracing data by providing a graphical interface for semi-automated line shape analysis.
- To enable users to use the software either via the GUI or without a GUI, for example, in a Jupyter Notebook environment.
- To include a plot editor enabling the creation of publication-quality plots of processed NMR spectra.
3. Results
3.1. Implementation and Class Description
- AcqPars: This class contains all acquisition parameters. It imports two more classes, AcqRegEx and AcqProcparRegEx, which contain regular expressions used to extract acquisition data information for Bruker and Varian file formats, respectively.
- ProcPars: Similar to AcqPars, this class imports ProcRegEx and ProcProcparRegEx, which contain regular expressions to extract processing information for Bruker and Varian file formats, respectively.
- NmrpipeData: This class implements procedures to read in NmrPipe processed data.
- DispPars: In this class, information regarding the visual appearance of the NRM spectrum are implemented.
- SplineBaseline: This class implements a cubic spline baseline correction. To avoid over-correction of dense areas of the NMR spectrum with no useable baseline points, a “linear-spline” is implemented. When two adjacent baseline points are more than a set maximum number of data points apart, intermediate baseline points are simulated using a line between the two data points.
- NmrHsqc: This class implements multiplet analysis of 2D-1H, 13C HSQC NMR spectra. This class imports HsqcData, which provide the necessary data structures and a function to initialise the hsqcData object.
- Phase3: This is not a class. The file implements functions for automatic phase correction. To be able to use the numba just-in-time compiler, this needed to be implemented in a separate file.
- NmrConfig: This class reads and stores the MetaboLabPy configuration file and is imported into several classes.
3.2. Data Input and Output
3.3. Graphical Software User Interface (GUI) and Help System
3.4. Scripted Batch Processing
3.5. 1D NMR Data Processing
3.5.1. Manual and Automatic Phase Correction
3.5.2. Further NMR Data Processing Steps
3.6. 2D NMR Data Processing and Tracing Analysis
3.7. Performance Comparisons for Batch Processing
3.8. The Plot Editor
3.9. Use Cases
- Batch processing and data pre-processing to prepare a series of NMR spectra for uni- or multi-variate statistical data analysis using MetaboAnalyst:
- Spectra are read into the software using the scripting interface. MetaboLabPy provides several example scripts. The 1D script to read in the Daphnia spectra is shown in the Supplementary Material. Help for this feature is available here: https://ludwigc.github.io/metabolabpy/scripts.html#scripts.
- The first spectrum is then phase-corrected, either by typing autophase1d() into the MetaboLabPy command line or by pressing alt + A (option +A on macOS). Should the resulting phase correction not be good enough, the first spectrum can be graphically phase-corrected using the manual phase correction in the Data- > Phase/Baseline Correction- > Interactive Phase Correction menu entry. Help for interactive phase correction is available here: https://ludwigc.github.io/metabolabpy/basicnmrdataprocessing.html#phasecorrection. The other spectra can then phase-corrected automatically using the reference spectrum baseline-based algorithm by typing autophase1d_all_bl() into the MetaboLabPy command line.
- Data pre-processing options can then be selected graphically using the Data Pre-Processing GUI elements, which includes exclude regions, segmental alignment, noise filtering, bucketing, TSA and PQN normalisation, variance stabilisation, and export. Here, the MetaboAnalyst option generates input files that can be directly imported into MetaboAnalyst. Help for data pre-processing is available here: https://ludwigc.github.io/metabolabpy/basicnmrdataprocessing.html#preprocessing (accessed on 5 January 2024).
- Analysis of metabolic tracing data:
- NMRPipe processed NMR spectra can be read in using one of the example scripts (shown in the Supplementary Material).
- The 2D-1H 13C HSQC NMR spectra can be manually phase-corrected. Instructions for this are shown here: https://ludwigc.github.io/metabolabpy/tracing.html#top (accessed on 5 January 2024).
- MetaboLabPy carries a database of HSQC chemical shifts for over 100 metabolites and carbon–carbon J coupling information for about 15 metabolites. Users can extend this database as the information is kept in text files, which are easily accessible to users.
- The GUI then assists in signal assignment and multiplet analysis. Help is available here: https://ludwigc.github.io/metabolabpy/tracing.html#multipletanalysis (accessed on 5 January 2024).
- The NMR-based multiplet information can then be combined with GC-MS data to convert this information into isotopomer distribution. MetaboLabPy provides Jupyter notebooks to demonstrate how this can be achieved. Help is available here: https://ludwigc.github.io/metabolabpy/tracing.html#isotopomeranalysis (accessed on 5 January 2024).
4. Discussion
Supplementary Materials
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Dieterle, F.; Ross, A.; Schlotterbeck, G.; Senn, H. Probabilistic Quotient Normalization as Robust Method to Account for Dilution of Complex Biological Mixtures. Application in 1H NMR Metabonomics. Anal. Chem. 2006, 78, 4281–4290. [Google Scholar] [CrossRef] [PubMed]
- Parsons, H.M.; Ludwig, C.; Günther, U.L.; Viant, M.R. Improved classification accuracy in 1- and 2-dimensional NMR metabolomics data using the variance stabilising generalised logarithm transformation. BMC Bioinform. 2007, 8, 234. [Google Scholar] [CrossRef] [PubMed]
- Pang, Z.; Lu, Y.; Zhou, G.; Hui, F.; Xu, L.; Viau, C.; Spigelman, A.F.; MacDonald, P.E.; Wishart, D.S.; Li, S.; et al. MetaboAnalyst 6.0: Towards a unified platform for metabolomics data processing, analysis and interpretation. Nucleic Acids Res. 2024, 52, W398–W406. [Google Scholar] [CrossRef] [PubMed]
- Chong, M.; Jayaraman, A.; Marin, S.; Selivanov, V.; de Atauri Carulla, P.R.; Tennant, D.A.; Cascante, M.; Günther, U.L.; Ludwig, C. Combined Analysis of NMR and MS Spectra (CANMS). Angew. Chem. Int. Ed. 2017, 56, 4140–4144. [Google Scholar] [CrossRef]
- Smith, T.B.; Patel, K.; Munford, H.; Peet, A.; Tennant, D.A.; Jeeves, M.; Ludwig, C. High-Speed Tracer Analysis of Metabolism (HS-TrAM). Wellcome Open Res. 2018, 3, 5. [Google Scholar] [CrossRef] [PubMed]
- Hao, J.; Liebeke, M.; Astle, W.; De Iorio, M.; Bundy, J.G.; Ebbels, T.M.D. Bayesian deconvolution and quantification of metabolites in complex 1D NMR spectra using BATMAN. Nat. Protoc. 2014, 9, 1416–1427. [Google Scholar] [CrossRef] [PubMed]
- Cañueto, D.; Gómez, J.; Salek, R.M.; Correig, X.; Cañellas, N. rDolphin: A GUI R package for proficient automatic profiling of 1D 1H-NMR spectra of study datasets. Metabolomics 2018, 14, 24. [Google Scholar] [CrossRef] [PubMed]
- Wishart, D.S.; Guo, A.; Oler, E.; Wang, F.; Anjum, A.; Peters, H.; Dizon, R.; Sayeeda, Z.; Tian, S.; Lee, B.L.; et al. HMDB 5.0: The Human Metabolome Database for 2022. Nucleic Acids Res. 2022, 50, D622–D631. [Google Scholar] [CrossRef] [PubMed]
- Markley, J.L.; Dashti, H.; Wedell, J.R.; Westler, W.M.; Eghbalnia, H.R. Tools for Enhanced NMR-Based Metabolomics Analysis. In NMR-Based Metabolomics; Gowda, G.A.N., Raftery, D., Eds.; Methods in Molecular Biology; Springer: New York, NY, USA, 2019; Volume 2037, pp. 413–427. ISBN 978-1-4939-9689-6. [Google Scholar] [CrossRef]
- Ferrante, L.; Rajpoot, K.; Jeeves, M.; Ludwig, C. Automated analysis for multiplet identification from ultra-high resolution 2D-1H,13C-HSQC NMR spectra. Wellcome Open Res. 2023, 7, 262. [Google Scholar] [CrossRef] [PubMed]
- Ludwig, C.; Günther, U.L. MetaboLab—Advanced NMR data processing and analysis for metabolomics. BMC Bioinform. 2011, 12, 366. [Google Scholar] [CrossRef] [PubMed]
- Bao, Q.; Feng, J.; Chen, L.; Chen, F.; Liu, Z.; Jiang, B.; Liu, C. A robust automatic phase correction method for signal dense spectra. J. Magn. Reson. 2013, 234, 82–89. [Google Scholar] [CrossRef] [PubMed]
- Wishart, D.S.; Bigam, C.G.; Yao, J.; Abildgaard, F.; Dyson, H.J.; Oldfield, E.; Markley, J.L.; Sykes, B.D. 1H, 13C and 15N chemical shift referencing in biomolecular NMR. J. Biomol. NMR 1995, 6, 135–140. [Google Scholar] [CrossRef]
- Günther, U.L.; Ludwig, C.; Rüterjans, H. WAVEWAT—Improved Solvent Suppression in NMR Spectra Employing Wavelet Transforms. J. Magn. Reson. 2002, 156, 19–25. [Google Scholar] [CrossRef] [PubMed]
- Günther, U.L.; Ludwig, C.; Rüterjans, H. NMRLAB—Advanced NMR Data Processing in Matlab. J. Magn. Reson. 2000, 145, 201–208. [Google Scholar] [CrossRef]
- Darius, T.; Vergauwen, M.; Maistriaux, L.; Evrard, R.; Schlegel, A.; Mueller, M.; O’Neil, D.; Southam, A.; Aydin, S.; Devresse, A.; et al. Intermittent Surface Oxygenation Results in Similar Mitochondrial Protection and Maintenance of Aerobic Metabolism As Compared to Continuous Oxygenation during Hypothermic Machine Kidney Machine Perfusion. J. Clin. Med. 2023, 12, 3731. [Google Scholar] [CrossRef] [PubMed]
- Ta, L.P.; Corrigan, S.; Tselepis, C.; Iqbal, T.H.; Ludwig, C.; Horniblow, R.D. Gastrointestinal-inert prebiotic micro-composites improve the growth and community diversity of mucosal-associated bacteria. J. Control. Release 2024, 375, 495–512. [Google Scholar] [CrossRef] [PubMed]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ludwig, C. MetaboLabPy—An Open-Source Software Package for Metabolomics NMR Data Processing and Metabolic Tracer Data Analysis. Metabolites 2025, 15, 48. https://doi.org/10.3390/metabo15010048
Ludwig C. MetaboLabPy—An Open-Source Software Package for Metabolomics NMR Data Processing and Metabolic Tracer Data Analysis. Metabolites. 2025; 15(1):48. https://doi.org/10.3390/metabo15010048
Chicago/Turabian StyleLudwig, Christian. 2025. "MetaboLabPy—An Open-Source Software Package for Metabolomics NMR Data Processing and Metabolic Tracer Data Analysis" Metabolites 15, no. 1: 48. https://doi.org/10.3390/metabo15010048
APA StyleLudwig, C. (2025). MetaboLabPy—An Open-Source Software Package for Metabolomics NMR Data Processing and Metabolic Tracer Data Analysis. Metabolites, 15(1), 48. https://doi.org/10.3390/metabo15010048