cMFA for multi-omics data integration in microbial
community models

Sthyve Junior Tatho Djeanou, Simon Labarthe, Valentina Baldazzi

► To cite this version:

Sthyve Junior Tatho Djeanou, Simon Labarthe, Valentina Baldazzi. cMFA for multi-omics data integration in microbial community models. 25e Forum des jeunes mathématiciennes et mathématiciens 2025, Nov 2025, Bordeaux, France. hal-05469230

HAL Id: hal-05469230

https://hal.science/hal-05469230v1

Submitted on 21 Jan 2026

**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 CC BY 4.0 - Attribution - International License
cMFA for multi-omics data integration
in microbial community models.

Sthyve Tatho, Simon Labarthe, Valentina Baldazzi

PhD Student
27 novembre 2025

FJMM 2025

26-28 nov. 2025 Talence

Sthyve Tatho

Univ. Bordeaux, INRAE, BIOGECO

Univ. Bordeaux, Inria-Inrae, Pléiade

sthyve.tatho@inria.fr

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

STHYVE TATHO
How understanding microbial community functioning ?

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

INRAO
Context : How Understanding microbial community functioning ?

<figure><img src="image_4.png" /></figure>
<figure><img src="image_5.png" /></figure>
<figure><img src="image_6.png" /></figure>
<figure><img src="image_7.png" /></figure>
<figure><img src="image_8.png" /></figure>
Context : How Understanding microbial community functioning ?

Context :

Developing a mathematical inference method based on metabolic networks. →

Inferring metabolic fluxes by integrating multi-omics data. →
Context :

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

Developing a mathematical inference method based on metabolic networks.

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

Inferring metabolic fluxes by integrating multi-omics data.

<figure><img src="image_11.png" /><figcaption>Population count data</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Metabolomics data</figcaption></figure>

<figure><img src="image_13.png" /><figcaption>Metatranscriptomic data</figcaption></figure>

<caption>Microbial Community</caption>

modelling

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

Interpretation

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

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

$f(x)$

Biological Prior

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

INRAE

Metabolic network

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

Biology
Inform
Inference
Problem
Objectives :

► Estimating the contribution of each microorganism to the community.

<figure><img src="image_19.png" /></figure>
<figure><img src="image_20.png" /></figure>

a. Gerken Starepravo, M. et al. (2022). *Digital Chemical Engineering*
<figure><img src="image_21.png" /></figure>

* N_b ≈ 1, N_m ≈ 3

* N_r ≈ 2500 High-dimensional

* N_r >> N_m Highly-underdetermined
<figure><img src="image_22.png" /></figure>

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

Rs : Rate of substrate consumption

Rp : Rate of production

Rb : growth rate of biomass
<figure><img src="image_24.png" /></figure>

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

Rs : Rate of substrate consumption

Rp : Rate of production

Rb : growth rate of biomass
<figure><img src="image_26.png" /></figure>

Rs : Rate of substrate consumption

Rp : Rate of production

Rb : growth rate of biomass

N_m ≈ 3*N_b

N_r ≈ 2500*N_b High-dimensional

N_r e>>> N_m Highly-underdetermined
<figure><img src="image_27.png" /></figure>

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

Rs : Rate of substrate consumption

Rp : Rate of production

Rb : growth rate of biomass

$$
\hat{v}(t) := \arg \min \sum_{m \in \mathcal{M}} \left\| \underbrace{R_{m,t}}_{\text{Data rate}} - \sum_{b \in \mathcal{B}_m} \underbrace{\mathcal{X}_t^{(b)} v_{m,t}^{(b)}}_{\substack{\text{Model} \\ \text{Biomass}}} \right\|_2^2 + \lambda \mathcal{R}(v) \\
\text{Set of } \left( \text{Metabolites \& Micro organisms} \right) \qquad \text{Regularization term}
$$

<figure><img src="image_29.png" /></figure>
$$
\begin{equation}
\begin{aligned}
\hat{v}(t) := & \arg\min_{\nu_t} \sum_{m \in \mathcal{M}} \|R_{m,t} - \sum_{b \in \mathcal{B}_m} \mathcal{X}_t^{(b)} \nu_{m,t}^{(b)}\|_2^2 + \lambda \mathcal{R}(W\nu) \\
\text{subject to:} \quad & \left\{ \begin{array}{l} S^{(b)} \cdot \nu^{(b)} = 0 \\ C_{min}^{(b)} \le \nu^{(b)} \le C_{max}^{(b)}, \end{array} \right. \quad \text{for } b=1, \dots, N_b
\end{aligned}
\end{equation}
$$

Inclusion by Penalization

$$
\textbf{e.g:} \quad C_t^{(b)} \mapsto f(C_r^b(t)) := (\max(C_r^b) + \min(C_r^b) - C_r^b(t)) = W_t^{(b)}
$$

$$
\text{with } C_r^b = \left| \frac{T_r^b}{\max_r T_r^b} \right| \quad r \in \mathcal{R}_b \quad \text{following}^a
$$

$\mathcal{W}_t^{(b)}(r)$ : the weight associated with reaction $r$, which is small if the reaction is activated and high if it is deactivated.

$f$ : is the mapping function : transcript of reaction $r$ to weight

T : transcript level

<footnote>a. Junior, M.L. et al. (2020). *PLoS Comput. Biol.*, **16**, e1007099.</footnote>
Benchmark for Robustness of the method : Different steps

Simulated data.

1. Explore different types of interactions.

2. Benchmark noise levels

3. Test different community sizes (2–56)

Real data.

1. TANGO data

<figure><img src="image_30.png" /></figure>
<figure><img src="image_31.png" /></figure>
<figure><img src="image_32.png" /></figure>
<figure><img src="image_33.png" /></figure>
<figure><img src="image_34.png" /></figure>
<figure><img src="image_35.png" /></figure>
Comparison between
intracellular rates in
dFBA and cMFA

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

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

Comparison between
extracellular rates in
spline and cMFA

<figure><img src="image_38.png" /></figure>
Simulated data
# 1. Different Interactions

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

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

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

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

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

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

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

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

<figure><img src="image_47.png" /></figure>
# 1. Three Biological Cases of Two-Species Communities

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

**Figure –** Synthetic data for cMFA benchmark. the different cases of increasingly complex ecological interactions are sketched
# 1. Three Biological Cases of Two-Species Communities

<figure><img src="image_49.png" /></figure>
## 2. Data noise for replication

### Noise percent in data

$$D_{\text{final}}(t) = \max(0, D_{\text{dFBA}}(t) \times (1 + \epsilon(t))), \text{ with, } \epsilon(t) \sim \mathcal{N}(0, \sigma^2) \\ \sigma = q\sigma_b, \text{ where } \sigma_b = 1$$

$q \in \{[1\%, 5\%, 10\%, 20\%, 30\%, 40\%, 50\%, 60\%, 70\%, 80\%, 90\%, 100\%]\}$ are used for the data noise benchmark

For each noise level, we replicated the whole benchmark pipeline (i.e. data noising, pre-processing with spline-smoothing and cMFA inference) $n = 7$ times,

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

1%

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

50%

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

100%
## 2. Data noise for replication

<figure><img src="image_53.png" /></figure>
R² - Coefficient of Determination

Competition

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

Co-production

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

Cross-feeding

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

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

INRAO

1%

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

50%

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

100%

Performance

1 - R² > 0.6 for noise level < 0.5

<figure><img src="image_60.png" /></figure>
## 3. Large Community Benchmark

<figure><img src="image_61.png" /><figcaption>Figure – Large size community of : a) Variance Same strain, b) Variance Different strain</figcaption></figure>
3. Large Community Benchmark

<figure><img src="image_62.png" /><figcaption>Figure – Variance within same strain group : 56 organisms (2 guild of 28).</figcaption></figure>

<figure><img src="image_63.png" /><figcaption>Figure – Variance across different strain guild : 49 organisms (7 guild of 7).</figcaption></figure>

25e Forum des jeunes mathématiciennes et mathématiciens 26-28 nov. 2025 Talence

INRAO

16/23
Real data
Community of three microorganisms

<figure><img src="image_64.png" /><figcaption>Figure 1: Community of three microorganisms involved in cheese fermentation and maturation</figcaption></figure>
Smoothing spline of metabolites and organisms data

Concentration Over Time for Lactate

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

Concentration Over Time for Lactose

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

Concentration Over Time for Citrate

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

Concentration Over Time for Acetate

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

Concentration Over Time for Succinate

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

Growth Curve for Lactic

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

Growth Curve for Freudenreichii

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

Concentration Over Time for Propionate

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

Growth Curve for Plantarum

<figure><img src="image_73.png" /></figure>
Exchange_Fluxes

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

Exchange_Fluxes
<figure><img src="image_75.png" /></figure>

Exchange_Fluxes

25e Forum des jeunes mathématiciennes et mathématiciens 26-28 nov. 2025 Talence

TPR=0.93, FPR=0.28, TNR=0.72

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

20/23

<figure><img src="image_77.png" /></figure>
We present a Statistical inference method informed by biology : cMFA

Work Completed

Explore different interaction types

Benchmark noise levels

Handle incomplete metatranscriptomic data

Vary metabolic import rates

Test different community sizes (2–56)

Missing metabolites

Advantages

Robust to noise

Robust to variations in metabolic
import rates

Robust for exchange rate inference
with both high- and low-quality
metatranscriptomic data.

Scalable to large communities

Disadvantages

Internal flux inference is less robust when metatranscriptomic data is of lower quality.

<figure><img src="image_78.png" /></figure>
Application on real data

- Synthetic communities produced by colleagues at the Institut de Recherche en Horticulture et Semences (IRHS) in Angers

- 48 microorganisms of Vitae Project

Software deployment

- Facilitation of utilisation by making on package

<figure><img src="image_79.png" /></figure>
B Brunner et al. (2023). *PLoS Comput. Biol.*

G Gerken Starepravo, M. et al. (2022). *Digital Chemical Engineering*, **2**.

Lecomte, A. et al. (2023). *Metabolic Engineering*.

M Mahadevan, R. et al. (2002). *Biophysical Journal*, **83**.

Pansu, M. (2004). *Courbes B-splines*.

Pande, A. et al. (2013). *The ISME Journal*, **8**(5).

Jenior, M.L. et al. (2020). *PLoS Comput. Biol.*, **16**, e1007099.
<figure><img src="image_80.png" /></figure>
<figure><img src="image_81.png" /></figure>
Vectorization Renormalization and Dimensionless

$$
\sigma_{1_t}^{-1} = \frac{1}{R_t}, \quad \sigma_{2_t} = \frac{R_t}{B_t}
$$

so that after renormalization, the dimensionless problem becomes

$$
\begin{equation}
\begin{aligned}
\hat{v}_t = \arg \min_{\tilde{v}_t} & \left\| \tilde{R}_t - \tilde{B}_t \tilde{v}_t \right\|_2^2 + \lambda \left\| w_t \tilde{v}_t \right\|_1 \\
\text{subject to:} & \quad \tilde{S} \tilde{v}_t = 0 \\
& \quad \tilde{v}_{\min} \le \tilde{v}_t \le \tilde{v}_{\max}
\end{aligned}
\tag{2}
\end{equation}
$$

$$
\tilde{R}_t = \sigma_{1t}^{-1} R_t, \quad \tilde{B}_t = \sigma_{1t}^{-1} B_t \sigma_{2t}, \quad \tilde{v}_t = \sigma_{2t}^{-1} v_t
$$

$$
\tilde{S} = S\sigma_{2t}, \quad \tilde{v}_{\min} = \sigma_{2t}^{-1}\nu_{\min}, \quad \tilde{v}_{\max} = \sigma_{2t}^{-1}\nu_{\max}, \quad B_t\nu_t = \sum_{b \in B_m} \chi_t\nu_t
$$

This renormalization harmonizes the scales reactions fluxes (exchange & internal)

<figure><img src="image_82.png" /></figure>
<figure><img src="image_83.png" /></figure>

<figure><img src="image_84.png" /></figure>
Grid Search : distribution des normes L2 par λ

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

<figure><img src="image_86.png" /></figure>
Méthode min_max

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

<figure><img src="image_88.png" /></figure>
Denitrification

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

<figure><img src="image_90.png" /></figure>
<figure><img src="image_91.png" /><figcaption>Concentrations</figcaption></figure>
### 3. Incomplete meta-transcriptomic data

<figure><img src="image_92.png" /><figcaption>Figure – Incomplete meta-transcriptomic information</figcaption></figure>

<figure><img src="image_93.png" /></figure>
<figure><img src="image_94.png" /><figcaption>Grid Search : distribution des normes L2 par λ</figcaption></figure>

<figure><img src="image_95.png" /></figure>
Méthode min_max

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

<figure><img src="image_97.png" /></figure>
Intrinsic Flux

$$C_{min}^{(b)} = \max \left( \nu_{intr}, - \frac{m}{\Delta_t \cdot \sum_{b \in \mathcal{B}_m} \mathcal{X}_b} \right)$$

$$\nu_{intr} \in [-50, -45, -40, -35, -30, -25, -20]$$

$$\text{reference value } \nu_{intr} = -30$$

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

Performances

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

Good estimation of exchange fluxes

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

Good estimation of internal fluxes

<figure><img src="image_101.png" /></figure>
Large Community : Different strain

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

Simulated dFBA vs. cMFA Exchange Fluxes

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

Internal fluxes cMFA vs dFBA

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

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

<figure><img src="image_106.png" /></figure>
$$
\begin{equation}
\begin{aligned}
\hat{v}(t) := & \arg\min_{\nu_t} \sum_{m \in \mathcal{M}} \|R_{m,t} - \sum_{b \in \mathcal{B}_m} \mathcal{X}_t^{(b)} \nu_{m,t}^{(b)}\|_2^2 + \lambda \mathcal{R}(\nu) \\
\text{subject to:} \quad & \left\{ \begin{array}{l} S^{(b)} \cdot \nu^{(b)} = 0 \\ C_{min}^{(b)} \le \nu^{(b)} \le C_{max}^{(b)}, \end{array} \right. \quad \text{for } b=1, \dots, N_b
\end{aligned}
\end{equation}
$$

Constraint

$$
\mathcal{T}_t^{(b)}(r) = \mathbb{1}_{\mathcal{A}_t^{(b)}}(r)
$$

$$
C_{min}^{(b)} := \bar{C}_{min}^{(b)} \mathcal{T}_t^{(b)} \le \nu_t^{(b)} \le C_{max}^{(b)} := \bar{C}_{max}^{(b)} \mathcal{T}_t^{(b)}
$$

$\mathcal{A}_t^{(b)}$ :Activate of baceria b at time t.

$\bar{\mathcal{C}}_{min}^{(b)}$ and $\bar{\mathcal{C}}_{max}^{(b)}$ are nominal constraints
for internal reactions.

$\mathcal{T}^{(b)}_t$ is a boolean vector indicating if the
expression of the corresponding reaction

Penalization

$$
\mathcal{T}_t^{(b)}(r) := f(\mathcal{T}_t^{(b)}(r))
$$

$$
\mathcal{R}(\nu) := \mathcal{R}(\mathcal{T}\nu)
$$

$\mathcal{T}_t^{(b)}(r)$ : the linear coefficient of ponde-
ration associated with reaction r , which
is small if the reaction is activated and
high if it is deactivated.

$f$ : is the mapping function : transcript of
reaction r to linear coefficient

T : transcript level
## Constraint

$$ \mathcal{T}_t^{(b)}(r) = 1_{\mathcal{A}_t^{(b)}}(r) \text{ where } \mathcal{A}_t^{(b)} = \{r \in \mathbb{R} \mid |\nu_r^b(t)| > 10^{-15}\} $$

$$ \nu_r^b(t) := \text{value of the reaction flux } r \text{ for bacteria } b $$

## Penalization

Let $M$ be mappings from flux to transcript and $C$ mapping of transcript to a coefficient.

$\nu_r^b(t)$ fluxes values in the model in response to gene expression levels.

$$ \mathcal{T}_t^{(b)}(r) := f(\nu_r^b(t)) $$

where $f$ is defined as the composition of two functions, $C$, $M$.

$$ \begin{align*} f &= C \circ M \quad \text{where} \quad C, M: \mathbb{R}^n \to \mathbb{R}^n \\ T_r &:= M(\nu_r^b) = \frac{1}{1 + e^{-r|\nu_r^b|}} - \frac{1}{2} \\ C &:= (\max(C_s) - \min(C_s)) - C_s \\ C_s &:= \frac{T_r}{\max T_b} \quad r \in \mathcal{R}_b \end{align*} $$

$T_r$: transcript level

<figure><img src="image_107.png" /></figure>
Penalization + Transcriptomic data

$$
\begin{equation}
\begin{aligned}
\hat{v}(t) := & \arg \min_{\nu_t} \sum_{m \in \mathcal{M}} \|R_{m,t} - \sum_{b \in \mathcal{B}_m} \chi_t^{(b)} \nu_{m,t}^{(b)}\|_2^2 + \lambda \mathcal{R}(T \nu) \\
& \text{subject to: } \begin{cases} S^{(b)} \cdot \nu^{(b)} = 0 \\ C_{\min}^{(b)} \le \nu^{(b)} \le C_{\max}^{(b)}, \end{cases} \quad \text{for } b=1, \dots, N_b
\end{aligned}
\tag{4}
\end{equation}
$$
## Penalization + Transcriptomic data

$$ \hat{v}(t) := \arg \min_{\nu_t} \sum_{m \in \mathcal{M}} \|R_{m,t} - \sum_{b \in B_m} \chi_t^{(b)} \nu_{m,t}^{(b)}\|_2^2 + \lambda \mathcal{R}(T\nu) \\ \text{subject to: } \left\{ \begin{array}{l} S^{(b)} \cdot \nu^{(b)} = 0 \\ C_{min}^{(b)} \le \nu^{(b)} \le C_{max}^{(b)}, \end{array} \right. \quad \text{for } b = 1, \dots, N_b \qquad (4) $$

## Vectorization

$$ \forall t \ge 0, \quad \hat{v}(t) := \arg \min_{\nu_t} \|R_t - B_t \nu_t\|_2^2 + \lambda \mathcal{R}(T \nu_t) \\ \text{subject to: } \left\{ \begin{array}{l} S \cdot \nu_t = 0 \\ \nu_{min} \le \nu_t \le \nu_{max} \end{array} \right. \qquad (5) $$

with

$$ \nu_{min} = C_{min}T_t, \quad \nu_{max} = C_{max}T_t, \quad B_t \nu_t = \sum_{b \in B_m} \chi_t \nu_t $$
Penalization

Let $B$ be adding biais function in
generated flux

where $f$ is defined as the composition
of three functions, $C$, $M$, $B$.

$f = C \circ M \circ B$ where $C, M : \mathbb{R}^n \to \mathbb{R}^n$

$$
T_r := M(\nu_r^b) = \frac{1}{1 + e^{-r|\nu_r^b|}} - \frac{1}{2}
$$

$$
C = (\max(C_s) - \min(C_s) - C_s)
$$

$$
C_s = \frac{T_r}{\max T_b} \quad r \in \mathcal{R}_b
$$

$T_r$ : transcript level

Fluxes FBA

Fluxes + Biais

Mapping

Normalization

Linear Coef

Ryan J. Tibshirani, Carnegie Mellon University : The Lasso Problem and Uniqueness
B-splines are piecewise polynomials defined as linear combinations of spline basis elements. These spline base elements are themselves linear combinations of the usual monomials $1, x, x^2, \dots, x^k$. Let $S : [a, b] \to \mathbb{R}$ a spline,

$a = t_0 \le t_1 \le \dots \le t_{j-1} \le t_j \dots \le t_n = b$

$$S_k(x) = \sum_{j=0}^{n-1} B_{j,k,t}(x) \cdot P_j, \quad x \in [t_j, t_{j+1}]$$

$P_j$ form a polygon called the control polygon,
$B_{j,k,t}$ are B-spline basis functions of degree $k$ and nodes $t = (t_0, \dots, t_n)$.

$$B_{j,0}(x) := \begin{cases} 1 & \text{si } t_j \le x < t_{j+1} \\ 0 & \text{else} \end{cases}$$

Moving a control point only locally modifies the shape of the curve.

$$B_{j,k}(x) := \frac{x - t_j}{t_{j+k} - t_j} B_{j,k-1}(x) + \frac{t_{j+k+1} - x}{t_{j+k+1} - t_{j+1}} B_{j+1,k-1}(x)$$

<figure><img src="image_108.png" /></figure>
We present a Statistical inference method informed by biology : cMFA

**Implementation**

* Python

* Cobrapy

* PYGAM

* OSQP

**Perspectives**

* Incomplete information in Network

* Real data

<figure><img src="image_109.png" /></figure>
Context: How Understanding microbial community functioning?

Context:

Developing a mathematical inference method based on metabolic networks.

Inferring metabolic fluxes by integrating multi-omics data.

<figure><img src="image_110.png" /></figure>
Context: How Understanding microbial community functioning?

Context:

▶ Developing a mathematical inference method based on metabolic networks.

▶ Inferring metabolic fluxes by integrating multi-omics data.

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

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

$$S = C \begin{pmatrix} r_A & r_B & r_1 & r_2 & r_3 & r_D \\ 1 & 0 & -2 & 0 & 0 & 0 \\ 0 & 1 & -1 & 0 & 0 & 0 \\ 0 & 0 & 1 & -1 & -1 & 0 \\ 0 & 0 & 0 & 1 & 0 & -1 \\ 0 & 0 & 0 & 0 & 1 & 0 \end{pmatrix}$$

$$S\nu = 0$$
Context: How Understanding microbial community functioning?

Context:

Developing a mathematical inference method based on metabolic networks.

Inferring metabolic fluxes by integrating multi-omics data.

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

Population count data

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

Metabolomics data

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

Metatranscriptomic data

Microbial Community

modelling

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

Interpretation

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

Biological Prior

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

INRAO

Metabolic network

$f(x)$

Biology
Inform
Inference
Problem
3. Incomplete meta-transcriptomic data

<figure><img src="image_119.png" /><figcaption>Figure – Incomplete meta-transcriptomic information</figcaption></figure>

<figure><img src="image_120.png" /></figure>
3. Incomplete meta-transcriptomic data

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

Performances

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

Good estimation of exchange fluxes

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

Good estimation of internal fluxes
when proportion < 10 %

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

Difficulty

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

Sensitivity to the quality of
metatranscriptomic data

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

INRAO
Context: Complexity of natural microbial communities

**Growth Stimulation** (Phytohormone Production)

**Fertilisation** (nitrogen fixation)

**Protection** (Pathogen resistance)

Phyllosphere

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

Rhizosphere

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

Time
Phyllosphere

Exchange

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

Rhizosphere

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

<figure><img src="image_131.png" /></figure>
Context: Complexity of natural microbial communities

<figure><img src="image_132.png" /></figure>
Denitrification

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

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

<figure><img src="image_135.png" /></figure>
Consumer-resource

$$
\partial_t b_i = v_i(M, b)b_i
$$

$$
\partial_t M_j = \sum_i v_{i,j}(M, b)b_i
$$

b_i Concentration of microorganisms i

M_j Concentration of metabolites j

v_i Growth rate of the microorganism i

v_{i,j} Rate of consumption or production of metabolite j by
microorganism i

Advantages and disadvantages

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

Integrates population count and
metabolomic data

<figure><img src="image_137.png" /></figure>
Consumer-resource

$$
\partial_t b_i = v_i(M, b)b_i
$$

$$
\partial_t M_j = \sum_i v_{i,j}(M, b)b_i
$$

b_i Concentration of microorganisms i

M_j Concentration of metabolites j

v_i Growth rate of the microorganism i

v_{i,j} Rate of consumption or production of metabolite j by
microorganism i

Advantages and disadvantages

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

Integrates population count and
metabolomic data

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

Low calculation costs

<figure><img src="image_140.png" /></figure>
Consumer-resource

$$
\partial_t b_i = v_i(M, b)b_i
$$

$$
\partial_t M_j = \sum_i v_{i,j}(M, b)b_i
$$

b_i Concentration of microorganisms i

M_j Concentration of metabolites j

v_i Growth rate of the microorganism i

v_{i,j} Rate of consumption or production of metabolite j by
microorganism i

Advantages and disadvantages

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

Integrates population count and
metabolomic data

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

Low calculation costs

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

⚠️ Does not take metatranscriptomic data into account

<figure><img src="image_144.png" /></figure>
dFBA

$$ \partial_t b_i = B \hat{v}_i(M, b)b_i $$

$$ \partial_t M_j = \sum_{i \in C} \hat{v}_{ij}(M, b)b_i $$

$$ \hat{v}_i = \arg \max B \nu_i $$

$$ \text{s.c} \quad \begin{cases} S_i \hat{v}_i = 0 \\ C_M \le \hat{v}_i^s \le 0 \\ 0 \le \hat{v}_i^p \le C_{\max} \\ -C_{\max} \le \hat{v}_i^{in} \le C_{\max} \end{cases} $$

Advantages and disadvantages

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

Integrates population count, metabolomic data and metatranscriptomic

<figure><img src="image_146.png" /></figure>
dFBA

$$ \partial_t b_i = B \hat{v}_i(M, b)b_i $$

$$ \partial_t M_j = \sum_{i \in C} \hat{v}_{ij}(M, b)b_i $$

$$ \hat{v}_i = \arg \max B \nu_i $$

$$ \text{s.c} \quad \begin{cases} S_i \hat{v}_i = 0 \\ C_M \le \hat{v}_i^s \le 0 \\ 0 \le \hat{v}_i^p \le C_{max} \\ -C_{max} \le \hat{v}_i^{in} \le C_{max} \end{cases} $$

Advantages and disadvantages

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

Integrates population count, metabolomic data and metatranscriptomic

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

Very high computing resources

<figure><img src="image_149.png" /></figure>
dFBA

$$ \partial_t b_i = B \hat{v}_i(M, b)b_i $$

$$ \partial_t M_j = \sum_{i \in C} \hat{v}_{ij}(M, b)b_i $$

$$ \hat{v}_i = \arg \max B \nu_i $$

$$ \text{s.c} \quad \begin{cases} S_i \hat{v}_i = 0 \\ C_M \le \hat{v}_i^s \le 0 \\ 0 \le \hat{v}_i^p \le C_{max} \\ -C_{max} \le \hat{v}_i^{in} \le C_{max} \end{cases} $$

Advantages and disadvantages

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

Integrates population count, metabolomic data and metatranscriptomic

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

⚠ Very high computing resources

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

⚠ Does not adapt to large communities

<figure><img src="image_153.png" /></figure>
MFA

Find $\hat{v} = (\nu^{(1)}, \dots, \nu^{(N_t)})$ such that

$$ \hat{v} = \arg \min \frac{1}{N_t} \sum_{t=1}^{N_t} \|R_t - X_t \nu_t\|^2 + \lambda R(\nu) $$

$$
\begin{array}{ll}
S_i \hat{v}_i = 0 & \\
C_M \le \hat{v}_i^s \le 0 & \\
0 \le \hat{v}_i^p \le C_{max} & \\
-C_{max} \le \hat{v}_i^{in} \le C_{max} &
\end{array}
$$

Advantages and Limitations

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

Precisely quantifies metabolite fluxes in a metabolic network

<figure><img src="image_155.png" /></figure>
MFA

Find $\hat{v} = (\nu^{(1)}, \dots, \nu^{(N_t)})$ such that

$$ \hat{v} = \arg \min \frac{1}{N_t} \sum_{t=1}^{N_t} \|R_t - X_t \nu_t\|^2 + \lambda R(\nu) $$

$$ \text{s.c.} \quad \left\{ \begin{array}{l} S_i \hat{v}_i = 0 \\ C_M \le \hat{v}_i^s \le 0 \\ 0 \le \hat{v}_i^p \le C_{max} \\ -C_{max} \le \hat{v}_i^{in} \le C_{max} \end{array} \right. $$

Advantages and Limitations

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

Precisely quantifies metabolite fluxes in a metabolic network

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

⚠️ No application to community models

<figure><img src="image_158.png" /></figure>
MFA

Find $\hat{v} = (\nu^{(1)}, \dots, \nu^{(N_t)})$ such that

$$ \hat{v} = \arg \min \frac{1}{N_t} \sum_{t=1}^{N_t} \|R_t - X_t \nu_t\|^2 + \lambda R(\nu) $$

$$ \text{s.c.} \quad \left\{ \begin{array}{l} S_i \hat{v}_i = 0 \\ C_M \le \hat{v}_i^s \le 0 \\ 0 \le \hat{v}_i^p \le C_{max} \\ -C_{max} \le \hat{v}_i^{in} \le C_{max} \end{array} \right. $$

Advantages and Limitations

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

Precisely quantifies metabolite fluxes in a metabolic network

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

⚠️ No application to community models

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

⚠️ No application with metatranscriptomic data

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