# MultiNMRFit: a software to fit 1D and pseudo-2D NMR spectra

Pierre Millard, Loïc Le Grégam, Svetlana Dubiley, Valeria Gabrielli, Thomas

Gosselin-Monplaisir, Guy Lippens, Cyril Charlier

► To cite this version:

Pierre Millard, Loïc Le Grégam, Svetlana Dubiley, Valeria Gabrielli, Thomas Gosselin-Monplaisir, et al. MultiNMRFit: a software to fit 1D and pseudo-2D NMR spectra. Bioinformatics, 2025, 41 (9), 10.1093/bioinformatics/btaf463. hal-05322487

HAL Id: hal-05322487

https://hal.inrae.fr/hal-05322487v1

Submitted on 20 Oct 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Systems biology

# MultiNMRFit: a software to fit 1D and pseudo-2D NMR spectra

Pierre Millard<fnref n="1" />,<fnref n="2" />,* ¹D, Loïc Le Grégam<fnref n="1" />,<fnref n="2" /> ²D, Svetlana Dubiley<fnref n="1" /> ¹D, Valeria Gabrielli<fnref n="1" /> ²D,
Thomas Gosselin-Monplaisir<fnref n="1" /> ²D, Guy Lippens<fnref n="1" /> ²D, Cyril Charlier<fnref n="1" />, * ¹D

## Abstract

**Motivation:** Nuclear Magnetic Resonance (NMR) is widely used for quantitative analysis of metabolic systems. Accurate extraction of NMR signal parameters—such as chemical shift, intensity, coupling constants, and linewidth—is essential for obtaining information on the structure, concentration, and isotopic composition of metabolites.

**Results:** We present MultiNMRFit, an open-source software designed for high-throughput analysis of 1D NMR spectra, whether acquired individually or as pseudo-2D experiments. MultiNMRFit extracts signal parameters (e.g. intensity, area, chemical shift, and coupling constants) by fitting the experimental spectra using built-in or user-defined signal models that account for multiplicity, providing high flexibility along with robust and reproducible results. The software is accessible both as a Python library and via a graphical user interface, enabling intuitive use by end-users without computational expertise. We demonstrate the robustness and flexibility of MultiNMRFit on ¹H, ¹³C, and ³¹P NMR datasets collected in metabolomics and isotope labeling studies.

**Availability and implementation:** MultiNMRFit is implemented in Python 3 and was tested on Unix, Windows, and MacOS platforms. The source code and the documentation are freely distributed under GPL3 license at https://github.com/NMRTeamTBI/MultiNMRFit/ and https://mutinmrfit.readthedocs.io, respectively.

## 1 Introduction

Nuclear Magnetic Resonance (NMR) spectroscopy is a powerful tool for investigating metabolism. Key applications include identifying and quantifying metabolites in metabolomics, determining the isotopic content of metabolites in ¹³C-fluxomics, and identifying and characterizing protein–metabolite interactions (Nargund et al. 2013, Koczula et al. 2016, Enjalbert et al. 2017, Diether et al. 2019, Moco 2022). Extracting meaningful information from NMR spectra requires precise characterization of each signal of interest, including their position (chemical shift), intensity (and area), and shape (coupling constants and linewidth) (Edison et al. 2021). Signal parameters can be estimated by fitting spectra using various mathematical models that relate these parameters to the observed signals. This fitting step is often achieved with in-house scripts, which, while functional and flexible, may lack the robustness and reproducibility necessary for large-scale or complex NMR studies of metabolic systems. Commercial software, such as TopSpin (Bruker), Chenomx (Chenomx Inc), and Mnova (Mestrelab), offer user-friendly alternatives, but function as proprietary “black boxes” and are limited to predefined signal models. To enhance accessibility and reproducibility, open-source libraries for R, MATLAB, and Python have been developed, including

MetaboLab (Ludwig and Günther 2011), MetaboDecon1D (Häckl et al. 2021), BATMAN (Hao et al. 2012, 2014), AQuA (Röhnisch et al. 2021), and FitNMR (Dudley et al. 2020). However, they are designed for use via scripting and often lack features essential for users without computational expertise. Such missing features include statistical methods for calculating confidence intervals of extracted parameters, graphical user interfaces, and logging systems to ensure reproducibility by saving calculation parameters and process information along with the results. Another key challenge is that most existing tools treat each peak as an independent signal (Smith 2017). However, the NMR signal of a single nucleus often consists of multiple peaks arising from homonuclear scalar couplings, which are intrinsic properties crucial for identifying metabolites and quantifying their isotopic content. While tools like Dmfit for solid and liquid NMR data (Massiot et al. 2002) and, more recently, the R package rnmrfit (Sokolenko et al. 2019) account for multiplicity, most current software does not, which limits their effectiveness in extracting and utilizing this information.

Consequently, detailed analysis of NMR spectra remains a low throughput task, typically requiring expert users, which can limit its scalability for large datasets such as those generated in real-time NMR experiments. The development of user-

<footnote n="1">¹Toulouse Biotechnology Institute (TBI), Université de Toulouse, CNRS, INRA, INSA, 31077 Toulouse, France</footnote>

<footnote n="2">²MetaToul-MetaboHUB, National Infrastructure of Metabolomics and Fluxomics, 31077 Toulouse, France</footnote>

<footnote>*Corresponding authors. Cyril Charlier, Toulouse Biotechnology Institute, Université de Toulouse, CNRS, INRAE, INSA, 135 avenue de Rangueil, Toulouse, 31077, France. E-mail: charlier@insa-toulouse; Pierre Millard, Toulouse Biotechnology Institute, Université de Toulouse, CNRS, INRAE, INSA, 135 avenue de Rangueil, Toulouse, 31077, France. E-mail: millard@insa-toulouse.fr.</footnote>

<footnote>Associate Editor: Pier Luigi Martelli</footnote>
friendly, open-source software that incorporates signal multiplicity and supports flexible implementation of tailored signal models would significantly enhance the scope, efficiency, quality, and reproducibility of NMR-based metabolic studies.

To address these challenges, we have developed MultiNMRFit, a versatile Python software for fitting 1D NMR spectra, whether acquired individually or as pseudo-2D datasets in time-course experiments. MultiNMRFit is generic and can be applied to any nucleus (as shown here for ¹H, ¹³C, and ³¹P spectra), any type of 1D or pseudo-2D NMR experiment, and any type of signal. It includes built-in signal models for common multiplets and is easily extendable with user-defined models to process less conventional signals. MultiNMRFit is accessible both as a Python library and via a graphical user interface. This software is intended for both expert and non-expert NMR users, regardless of their computational expertise. We demonstrate the robustness of MultiNMRFit on synthetic data and through its application to real-time metabolomics and isotope labeling experiments.

## 2 Methods

The general workflow of MultiNMRFit is shown in Fig. 1. MultiNMRFit is a Python-based library that operates within common web browsers via a Streamlit-powered graphical user interface. Users can load 1D and pseudo-2D Bruker spectra pre-processed beforehand (i.e. referenced, phase-corrected and baseline-corrected). Spectra can also be provided as text files containing chemical shift values and corresponding intensities. MultiNMRFit performs automated peak picking within a specified spectral region, and users can add additional peaks manually. One or several peaks can then be grouped into a signal, and a model must be selected for each signal. As detailed in the next section, each model contains equations to simulate the corresponding signal based on parameters. MultiNMRFit automatically suggests a list of models based

on the number of peaks (e.g. doublet of doublets and quartet for signals containing four peaks). Note that a given peak can be included in multiple signals to account for overlapping peaks. The initial values and bounds of each signal's parameters are automatically estimated from the peak list to ensure reliable convergence and can be refined by users if needed. For example, the initial chemical shift and intensity are taken directly from the peak list, while coupling constants are estimated from the difference in chemical shifts between peaks. Bounds can be defined as either absolute or relative values, and their default values (contained in the model files) can be adjusted by users to better reflect their experimental spectra. For spectrum fitting, parameters *p* are estimated by minimizing the cost function *c*(*p*), which is defined as the sum of squared residuals between the experimental intensities (*a*ᵢ) and the values simulated by the model *y*ᵢ(*p*):

$$c(p) = \sum_{i} (a_{i} - y_{i}(p))^{2}$$

The cost function is minimized using the L-BFGS-B method (Byrd et al. 1995), with an optional initial refinement step performed by the differential evolution algorithm (Storn and Price 1997). Standard deviations on parameters are estimated from the covariance matrix. For batch processing of spectra, users can select a spectrum as reference to automatically initialize signals and parameters values for the next spectra, thereby automating the processing of multiple spectra for high-throughput analysis. Finally, MultiNMRFit provides a range of interactive plots for visual inspection of fitting results. The results can be exported as csv files containing (i) parameter values (with their confidence intervals) and (ii) chemical shifts and intensities of experimental and fitted spectra.

The complete process is automatically saved as a pickle file, which can be reloaded in MultiNMRFit to continue previous work or reanalyze calculation results. This file can also

<figure><img src="image_2.png" /><figcaption>Figure 1. Flow chart of MultiNMRFit.</figcaption></figure>
be shared, enabling collaborative analysis across multiple users and ensuring reproducibility. Detailed usage of MultiNMRFit can be found in the online documentation (https://multinmrfit.readthedocs.io).

## 3 Signal models

A signal model consists of (i) equations that describe signal intensity as a function of chemical shift (used for simulations) and (ii) a list of parameters with their default values and bounds (used for optimization). Various mathematical functions, including Lorentzian, Gaussian, and Voigt functions, can be used to simulate the NMR spectrum of a given signal. For example, the intensity $y_i$ of a doublet can be described using the following mixed Gaussian-Lorentzian function:

$$y_i = \frac{I}{2} \cdot (a \cdot (e^{-(x_i - x_s + J/2)^2/(2 \cdot I_w^2)} + e^{-(x_i - x_s - J/2)^2/(2 \cdot I_w^2)}) \\ + (1 - a) \cdot (1 + (x_i - x_s + J/2)/I_w^2) \\ + (1 + (x_i - x_s - J/2)/I_w^2))$$

with parameters $x_s$ (chemical shift of the signal), $I$ (total signal intensity), $J$ (scalar coupling constant), $Iw$ (linewidth at half maximum), and $a$ (fraction of Gaussian part of the signal). An NMR spectrum containing multiple signals can be simulated by summing the spectra of individual signals.

By default, MultiNMRFit provides mixed Gaussian-Lorentzian models for common multiplets, including singlet, doublet, triplet, doublet of doublets, and quadruplet. Advanced users can create custom models to handle less conventional signals, such as signals with other coupling patterns or described using alternative mathematical functions. A model template is included with MultiNMRFit for this purpose, and a detailed tutorial on model construction is available in the documentation.

## 4 Validation with synthetic datasets

We validated MultiNMRFit using synthetic datasets (Supplementary Data). Briefly, we generated spectra containing two signals (a triplet and a quadruplet) with varying degrees of overlap and noise, and we used MultiNMRFit to retrieve the parameters of each signal. Results confirm the capability of the software to handle complex spectral data and deliver robust parameter estimation even under challenging conditions (such as low signal-to-noise ratio or significant signal overlaps, Figs 1 and 2, available as supplementary data at Bioinformatics online). Moreover, fitting multiplets rather than individual peaks increased the accuracy and precision of the estimated parameters (Fig. 3, available as supplementary data at Bioinformatics online).

## 5 Application to metabolomics datasets

We used MultiNMRFit to monitor the dynamic conversion of glucose through the initial steps of glycolysis. Glucose was added to a buffer solution containing sodium trimethylsilyl propionate (TSP, used as internal standard), ATP and the first three enzymes of glycolysis: glucokinase, glucose-6-phosphate isomerase, and phosphofructokinase (Fig. 2A, Supplementary Data).

The time-course signals of glucose (GLC), glucose-6-phosphate (G6P), fructose-6-phosphate (F6P), fructose-1,6-bisphosphate (FBP), ATP, and ADP were monitored in real-time using a pseudo-2D experiment consisting of 1024 1D $^1$H spectra. All signal parameters were successfully extracted, including for overlapping signals of ADP and ATP (Fig. 2B). The integrals of signals specific to each metabolite were normalized to the TSP signal (Fig. 2C). A progressive decrease in GLC signal was observed, accompanied by a transient accumulation of G6P and F6P, which were eventually converted into FBP. The high precision and resolution on the estimated dynamics illustrate the value of MultiNMRFit for high-throughput processing of large datasets, with the relative concentrations of the six metabolites of interest quantified in <3 h for the 1024 spectra. Simultaneously the $^3$1P spectra were acquired along the way (Cox et al. 2019) and were equally fitted using MultiNMRFit (Fig. 4, available as supplementary data at Bioinformatics online),

To demonstrate the applicability of MultiNMRFit for other nuclei, we also fitted $^{13}$C NMR spectra obtained from a separate experiment in which we monitored the conversion of uniformly $^{13}$C-labeled GLC to G6P by hexokinase using a $^{13}$C detected pseudo-2D experiment (Supplementary Data). In this experiment, both GLC and G6P give rise to a doublet of triplets. Here again, the spectra could be fitted accurately, and the concentration dynamics of the two $^{13}$C-labeled reactants could be obtained from real-time data (Fig. 5, available as supplementary data at Bioinformatics online).

## 6 Application to isotopic studies of metabolism

MultiNMRFit can also exploit the multiplicity resulting from the presence of isotopes in metabolites to quantify their isotopic content—a key capability for applications such as detecting counterfeit chemicals, identifying metabolic pathways, and quantifying metabolic fluxes (Christensen et al. 2002, Ribeiro et al. 2018).

To demonstrate this, we conducted a $^{13}$C-isotope labeling experiment by growing *Escherichia coli* on a mixture of glucose (15 mM, 80% $1^{13}$C$_1$-glucose + 20% $U^{13}$C$_6$-glucose) and acetate (8 mM, 100% $2^{13}$C$_1$-acetate). Samples were collected each hour to quantify the dynamics of all isotopic forms of acetate (Supplementary Data). In the $^1$H NMR spectra, the methyl protons of acetate may give rise to nine peaks corresponding to the four isotopic species of this compound: a singlet for $^{12}$C$_2$-acetate, a doublet with a small (6 Hz) $^2$J coupling constant for $1^{13}$C$_1$-acetate, a doublet with a large (127 Hz) $^1$J coupling constant for $2^{13}$C$_1$-acetate, and a doublet of doublet for $U^{13}$C$_2$-acetate (Fig. 3; Fig. 6, available as supplementary data at Bioinformatics online). The results showed that the total acetate concentration remained stable throughout the experiment (8.5 ± 0.1 mM), which could be interpreted as an acetate flux close to zero (Fig. 3C). However, while the provided isotopic form ($2^{13}$C$_1$-acetate) initially represents 99% of the total acetate pool, its concentration decreased over time (from 8.5 to 6.5 mM). Concurrently, the concentration of the other labeled forms (derived from glucose) increased (from 0.1 to 1.9 mM). These results support previous findings that acetate is continuously exchanged between cells and their environment, even in the absence of net acetate accumulation in the medium (Enjalbert et al. 2017).
<figure><img src="image_3.png" /><figcaption>**Figure 2.** Applications of MultiNMRFit to multi-enzymatic reactions. (A) Scheme of the biochemical pathway monitored in a real-time NMR experiment. (B) Dynamic of integrals of glucose (GLC, blue), glucose-6-phosphate (G6P, red), fructose-6-phosphate (F6P, orange), fructose-1,6-bisphosphate (FBP, purple), adenosine triphosphate (ATP, gray), and adenosine diphosphate (ADP, green). Integrals were normalized with the TSP signal. (C) Examples of signals processed with MultiNMRFit for each molecule of interest, where individual signals are shown by the shaded areas and the experimental and fitted spectra are represented by dots and lines, respectively.</figcaption></figure>

As an additional test case, we performed a ¹³C-labeling ex-
periment to generate a standard sample with known and pre-
dictable labeling patterns of metabolites, which enables
validation of analytical and processing methods (Millard
et al. 2014). We analyzed the labeling pattern of aspartate us-
ing a ¹H-¹³C HSQC experiment, which provides information
on four isotopic species (Fig. 3D). Quantification results were
in close agreement with the predicted labeling pattern of as-
partate (differences below 1%), demonstrating that
MultiNMRFit can accurately quantify the isotopic content of
metabolites from ¹³C-NMR spectra.

7 Conclusion

We present MultiNMRFit, an open-source Python software
designed to extract detailed quantitative parameters from

NMR spectra. MultiNMRFit is applicable to spectra ac-
quired from any nucleus, whether as 1D or pseudo-2D spec-
tra, and can handle any type of multiplicity through a flexible
system for implementing NMR signal models. MultiNMRFit
is accessible to non-expert users through a graphical user in-
terface and can also be used as a Python package, enabling
seamless integration into metabolomics and fluxomics work-
flows. Furthermore, MultiNMRFit holds significant potential
for other NMR applications, including protein studies, the
pharmaceutical industry, biotechnology, and chemistry.

Acknowledgements

We thank Marin Martin Mawah and Pauline Rouan for test-
ing previous versions of the software and for insightful dis-
cussions. We also thank Dr Edern Cahoreau and Lindsay
<figure><img src="image_4.png" /><figcaption>**Figure 3.** Applications of MultiNMRFit to isotope labeling studies. (A) Isotopic forms of acetate. (B) Theoretical 1H spectrum of the methyl protons of acetate, with a singlet for ¹²C₂-acetate (blue), a doublet for 1-¹³C₁-acetate (orange), a doublet for 2-¹³C₁ acetate (green), and a doublet of doublets for U-¹³C₂-acetate (red). (C) Time-course concentrations of the four isotopic forms of acetate (using the color code shown in panel B) and of the total acetate concentration (in gray). (D) Experimental spectrum of ¹³C-labeled aspartate focused on the Cα signal processed with MultiNMRFit, with the experimental shown as dots, the fitted spectrum as a line, and individual signals as shaded areas. On the right side the different labeling scheme are displayed. The table corresponds to the predicted (P) and the measured (M) fractions of each isotopic species.</figcaption></figure>

Peyriga (MetaToul, Toulouse metabolomics & fluxomics facilities, www.mth-metatoul.com) for access to NMR facilities. MetaToul is part of MetaboHUB, the French National Infrastructure for Metabolomics and Fluxomics (www.metabohub.fr).

## Author contributions

Pierre Millard (Conceptualization [lead], Formal analysis [lead], Methodology [lead], Project administration [lead], Software [lead], Supervision [lead], Visualization [lead], Writing—original draft [lead], Writing—review & editing [lead]), Loïc Le Grégam (Methodology [equal], Software [equal], Writing—review & editing [equal]), Svetlana Dubiley (Investigation [equal], Resources [equal], Writing—review & editing [equal]), Valeria Gabrielli (Formal analysis [equal], Resources [equal], Writing—review & editing [equal]), Thomas Gosselin-Monplaisir (Investigation [equal], Resources [equal], Writing—review & editing [equal]), Guy Lippens (Conceptualization [equal], Investigation [equal],

Methodology [equal], Writing—original draft [equal], Writing—review & editing [equal]), and Cyril Charlier (Conceptualization [lead], Formal analysis [lead], Investigation [lead], Methodology [lead], Project administration [lead], Software [equal], Supervision [lead], Validation [lead], Visualization [lead], Writing—original draft [lead], Writing—review & editing [lead])

## Supplementary data

Supplementary data is available at *Bioinformatics* online.

Conflict of interest: None declared.

## Funding

The PhD thesis of Loïc Le Grégam was funded by the ANR [MetaboHUB-ANR-11-INBS-0010], and the PhD thesis of Thomas Gosselin-Monplaisir was funded by the MICA department of INRAE and the Région Occitanie [COCACOLI]. Thomas Gosselin-Monplaisir also benefited from a grant managed by the Agence Nationale de la Recherche under the Investissements d'Avenir Programme [ANR-18-EURE-0021]. This work was also supported by the ANR and the FWF [FUNCEMM, ANR-23-CE44-0038].

## References

* Byrd RH, Lu P, Nocedal J *et al*. A limited memory algorithm for bound constrained optimization. *SIAM J Sci Comput* 1995;16:1190–208.

* Christensen B, Karoly Gombert A, Nielsen J *et al*. Analysis of flux estimates based on ¹³C-labelling experiments. *Eur J Biochem* 2002; 269:2795–800.

* Cox N, Kuemmerle R, Millard P *et al*. Integrated pH measurement during reaction monitoring with dual-reception ¹H–³¹P NMR spectroscopy. *Anal Chem* 2019;91:3959–63.

* Diether M, Nikolaev Y, Allain FH *et al*. Systematic mapping of protein-metabolite interactions in central metabolism of *Escherichia coli*. *Mol Syst Biol* 2019;15:e9008.

* Dudley JA, Park S, MacDonald ME *et al*. Resolving overlapped signals with automated FitNMR analytical peak modeling. *J Magn Reson* 2020;318:106773.

* Edison AS, Colonna M, Gouveia GJ *et al*. NMR: unique strengths that enhance modern metabolomics research. *Anal Chem* 2021; 93:478–99.

* Enjalbert B, Millard P, Dinclaux M *et al*. Acetate fluxes in *Escherichia coli* are determined by the thermodynamic control of the Pta-AckA pathway. *Sci Rep* 2017;7:42135.

* Häckl M, Tauber P, Schweda F *et al*. An R-package for the deconvolution and integration of 1D NMR data: metaboDecon1D. *Metabolites* 2021;11:452.

* Hao J, Astle W, De Iorio M *et al*. BATMAN—an R package for the automated quantification of metabolites from nuclear magnetic resonance spectra using a Bayesian model. *Bioinformatics* 2012; 28:2088–90.

* Hao J, Liebeke M, Astle W *et al*. Bayesian deconvolution and quantification of metabolites in complex 1D NMR spectra using BATMAN. *Nat Protoc* 2014;9:1416–27.

* Koczula KM, Ludwig C, Hayden R *et al*. Metabolic plasticity in CLL: adaptation to the hypoxic niche. *Leukemia* 2016;30:65–73.

* Ludwig C, Günther UL. MetaboLab—advanced NMR data processing and analysis for metabolomics. *BMC Bioinformatics* 2011;12:366.

* Massiot D, Fayon F, Capron M *et al*. Modelling one- and two-dimensional solid-state NMR spectra. *Magn Reson Chem* 2002;40:70–6.

* Millard P, Massou S, Portais J-C *et al*. Isotopic studies of metabolic systems by mass spectrometry: using Pascal’s triangle to produce
biological standards with fully controlled labeling patterns. *Anal Chem* 2014;86:10288–95.

Moco S. Studying metabolism by NMR-based metabolomics. *Front Mol Biosci* 2022;9:882487.

Nargund S, Joffe ME, Tran D *et al*. Nuclear magnetic resonance methods for metabolic Fluxomics. In: Alper HS (ed.), *Systems Metabolic Engineering, Methods in Molecular Biology*. Totowa, NJ: Humana Press, 2013, 335–51.

Ribeiro MVdM, Boralle N, Pezza HR *et al*. Authenticity assessment of anabolic androgenic steroids in counterfeit drugs by ¹H NMR. *Anal Methods* 2018;10:1140–50.

Röhnisch HE, Eriksson J, Tran LV *et al*. Improved Automated Quantification Algorithm (AQuA) and its application to NMR-based metabolomics of EDTA-containing plasma. *Anal Chem* 2021; 93:8729–38.

Smith AA. INFOS: spectrum fitting software for NMR analysis. *J Biomol NMR* 2017;67:77–94.

Sokolenko S, Jézéquel T, Hajjar G *et al*. Robust 1D NMR lineshape fitting using real and imaginary data in the frequency domain. *J Magn Reson* 2019;298:91–100.

Storn R, Price K. Simple and efficient heuristic for global optimization over continuous spaces. *J Glob Optim* 1997;11:341–59.