===========================================================
Introduction to Dynamic Labeling Analysis
===========================================================
Welcome to the documentation for our dynamic labeling analysis Python toolkit. This package provides open-source computational tools to convert experimental tracer readouts directly into cellular kinetic profiles without the burden of complex, overparameterized kinetic models.
This introductory chapter establishes the foundational principles of dynamic labeling experiments, contrasts classical modeling approaches with modern age-based frameworks, and explains how this package handles common biological confounding factors.
The Core Principles of Dynamic Labeling
=======================================
Understanding cellular phenotypes requires mapping not just the static abundance of molecules, but the velocity at which they flow through chemical networks [Wang2020]_. While regular omics datasets provide snapshots of absolute concentrations, they fail to distinguish between a stagnant molecular pool and a highly active one where rapid synthesis perfectly balances rapid degradation.
In order to investigate dynamic cellular processes, researchers introduce isotopically altered (e.g., :math:`^{13}\text{C}`, :math:`^{15}\text{N}`, :math:`^{2}\text{H}`) substrates or induced fluorescently-tagged proteins into a biological system at a metabolic steady state.
At a specific time (e.g. when the media is switched or when the inducer is added), newly synthesized molecules incorporate the tag, while older, un-labeled molecules are gradually cleared via active biochemical degradation or secretion.
By tracking the transition from the un-labeled state to the labeled state across various time points using mass spectrometry or NMR, scientists can infer precise cellular kinetics [Doelken2008]_ [Ghosh2014]_.
Quite often, dynamic data is evaluated by assuming that the target pool is completely homogeneous and that degradation strictly adheres to first-order (exponential) decay kinetics.
However, biological systems frequently violate these assumptions due to sub-cellular compartmentalization, structural multi-protein shielding, or variable post-translational modifications [Noor2026]_. When these complex, non-exponential behaviors are forced into traditional exponential models, it yields skewed values for structural half-lives and fluxes.
Metabolic Age
-------------
This package operates on a generalized, model-agnostic mathematical framework rooted in the concept of **metabolic age**. We define a molecule’s metabolic age simply as the elapsed time since it first entered the cellular metabolic system.
Under steady-state conditions, the progressive readout of a dynamic wash-out labeling experiment directly mirrors the probability distribution function (PDF) or cumulative distribution function (CDF) of these metabolic ages. Instead of designing elaborate, specialized differential equations for every unique molecular pathway, the experiment is treated as a demographic survey of the molecular population.
If a system is in a steady state, the fractional reduction of un-labeled molecules over a wash-out interval yields a direct look at the system's survival function. Consequently, the mean residence time (:math:`\tau`) and underlying degradation distribution can be calculated directly from the area under the labeling curve without imposing an arbitrary kinetic model. For a full mathematical derivation of how age distributions map natively to these curves under steady-state assumptions, see [Noor2026]_.
Handling Experimental Confounding Factors
=========================================
In real-world experimental setups, mathematical assumptions are challenged by technical and biological artifacts. Our toolkit provides native computational adjustments for three major confounding scenarios:
**Complex Degradation Kinetics**
Non-first-order kinetics or non-homogeneous molecular pooling are natively absorbed into the geometric shape of the age PDF rather than breaking the analytical model.
**Cell Growth and Volumetric Dilution**
In rapidly dividing cells, the total concentration of a molecule might remain constant, but its labeled fraction will skew because cell division constantly manufactures new volume. Volumetric expansion acts as a continuous "dilution" factor, compounding the apparent decay rate of molecules. Thus, the total observed clearance rate (:math:`\kappa_{\text{obs}}`) is a combination of active biochemical degradation (:math:`\kappa_{\text{deg}}`) and the system's growth rate (:math:`\mu`):
.. math::
\kappa_{\text{obs}} = \kappa_{\text{deg}} + \mu
**Delayed Tracer Input**
Non-instantaneous tracer integration shifts the age distribution profile. The package utilizes a defined mathematical criterion to adjust for this delayed equilibration window. For more details on the correction criteria, see [Noor2026]_.
Supported Omics Applications
============================
Because the mathematical core of this package relies on model-agnostic age distributions rather than specific chemical pathways, it can be applied symmetrically across diverse biological domains:
**Fluxomics (** :math:`^{13}\text{C}` **-MFA)**
Mapping the absolute conversion velocities of central carbon metabolism to optimize metabolic engineering or understand metabolic reprogramming [Ghosh2014]_ [Wang2020]_.
**Dynamic Proteomics (SILAC/BONCAT)**
Measuring how rapidly individual proteins turn over, exposing how structural stability shifts during cellular stress or pathogen exposure [Doherty2009]_ [Jovanovic2015]_.
**Transcriptional Kinetics**
Utilizing brief metabolic labeling pulses (e.g., using 4sU) to decouple the exact rate of RNA transcription from its respective decay rate [Doelken2008]_.
In the next chapter, we will walk through a hands-on tutorial using our Python API to load raw mass spectrometry labeling fractions and extract age PDFs.
Dynamic labeling and its properties (interactive examples)
==========================================================
Unidentifiability of dynamic parameters
---------------------------------------
It is not generally possible to determine the dynamic properties of an observed system when the input is
delayed without knowing the labeling delay. To illustrate this identifiability problem, we will use a cascade of
two metabolic pools (metabolic chain) as an example.
.. math::
E \xrightarrow{\kappa_{e1}} S_1 \xrightarrow{\kappa_{12}} S_2
Here, S\ :sub:`1`\ and S\ :sub:`2`\ represent subsystems without and with delayed input, respectively.
Without loss of generality, the contributred turnover matrix (**M**-matrix) will look like this
.. math::
\mathbf{M} = \left[\begin{matrix} -\kappa_{e1} & 0 \\ \kappa_{12} & -\kappa_{12} \\ \end{matrix}\right]\,.
By plugging these two parameters into the formula for the labeling curve (**f**)
we can get the analytical expression for the labeling dynamics (note that we skipped a few steps in the derivation):
.. math::
\mathbf{f}(t)
=
\left[
\begin{matrix}
f_1(t) \\
f_2(t)
\end{matrix}
\right]
=
e^{\mathbf{M}t} \mathbf{1}_n
=
\exp\left(\begin{matrix}-\kappa_{e1}\cdot t & 0 \\ \kappa_{12}\cdot t & -\kappa_{12}\cdot t \end{matrix}\right) \left[\begin{matrix}1\\1\end{matrix}\right] =
\left[
\begin{matrix}
e^{-\kappa_{e1} t} \\
\frac{\kappa_{12}~e^{-\kappa_{e1} t}}{\kappa_{12} - \kappa_{e1}} + \frac{\kappa_{e1}~e^{-\kappa_{12} t}}{\kappa_{e1} - \kappa_{12}} \\
\end{matrix}
\right]
In the following plot, you can adjust the model
parameters and immediately see the resulting labeling curves of both states:
.. raw:: html
Now imagine that we are analyzing the labeling of the second pool only, and attempting to infer its intrinsic
dynamic properties based on these observations. Based on the mathematical solution, you might notice that there
is a symmetry between κ\ :sub:`e1`\ and κ\ :sub:`12`\ in the sense that if we switch between them in
the formula, it would remain exactly the same function. To illustrate this using the interactive plot,
try to set two distinct values for κ\ :sub:`e1`\ and κ\ :sub:`12`\, and then switch between them.
You'll probably notice that switching the values produces an identical labeling curve for f\ :sub:`2`\ (blue).
This is a demonstration of the fact that the labeling curve of
the second pool can always be characterized by at least two identical solutions.
Therefore, even the most precise measurements of the
second pool are not sufficient to identify its intrinsic dynamic characteristics. However, this would be
entirely possible with the knowledge of the labeling dynamics of the first pool (f\ :sub:`1`\).
Effect of system growth and labeling delay
------------------------------------------
The growth of dynamic systems and the labeling delay can significantly affect the way the observed labeling dynamics
is connected with the underlying dynamic parameters of the observed subsystem. To illustrate this, imagine observing
labeling dynamics of the second state of the metabolic chain described in the previous section albeit the system is
growing:
.. math::
E\ce{->[{a+\mu}][]} \underset{\downarrow{~\mu}}{S_1}
\ce{->[{b+\mu}][]} \underset{\downarrow{~\mu}}{S_2} \,.
Here, the parameters *a* and *b* denote the decay rates in the first and second states, respectively, while the
parameter *μ* denotes the system growth rate. The labeling of the second state in this case is delayed by the
first state and can be found using the formula from the previous section:
.. math::
f_2(t) &= [0,1]\cdot
\begin{bmatrix}
f_1(t) \\
f_2(t) \\
\end{bmatrix} \\
&= [0,1] \cdot
\begin{bmatrix}
\exp^{-(a + \mu) \cdot t} \\
\frac{b+ \mu}{b - a} \cdot \exp^{-(a + \mu) \cdot t} + \frac{a+ \mu}{a - b} \cdot \exp^{-(b + \mu) \cdot t} \\
\end{bmatrix} \\
&= \frac{b+ \mu}{b - a} \cdot \exp^{-(a + \mu) \cdot t} + \frac{a+ \mu}{a - b} \cdot \exp^{-(b + \mu) \cdot t}
Now imagine that we measure labeling of the second state at several time points (here we use 0, 0.5, 1, 1.5 and 2 hours)
and ask what the dynamic parameters of the second state would be if we were to ignore the delay.
To mimic this situation, we fit log-transformed labeling measurements with linear regression and use the slope of the
regression to determine different dynamic parameters. When labeling is not delayed (1/*a* = 0), the slope defines the
total escape rate of the second state *b* + *μ* and, given the growth rate is known, it also defines all the dynamic
parameters of the second state. In the following plot, you can adjust the decay rate of the first and second states
and the growth rate of the system. In the second plot, you can observe the discrepancy with the regression-based
parameter estimation.
.. raw:: html
Why is mean age not the same as mean residence time?
----------------------------------------------------
The mean age is defined as the expected value of the age of a particle drawn randomly from within the system.
The mean residence time would be the average time a particle spends in the system before leaving it.
These might intuitively sound very similar, and they are indeed equal in case of a simple system described by
a single decaying exponent (i.e. one well-mixed state). However, these definitions diverge as soon as we have
more than one state. To illustrate this, let us imagine a system with two completely parallel states with different
turnovers:
.. math::
E \xrightarrow{\kappa_{e1}} S_1 \\
E \xrightarrow{\kappa_{e2}} S_2
Which means that the M-matrix would be:
.. math::
\mathbf{M} = \left[\begin{matrix} -\kappa_{e1} & 0 \\ 0 & -\kappa_{e2} \\ \end{matrix}\right]\,.
We define the relative pool sizes as x and 1-x. Based on the derived formulae for the mean age and residence times of CMs
we can see that:
.. math::
\bar{\mathcal{A}_s} &= x \cdot \kappa_{e1}^{-1} + (1-x) \cdot \kappa_{e2}^{-1} = x \cdot \bar{\mathcal{A}}_1 + (1-x) \cdot\bar{\mathcal{A}}_2 \\
\bar{\mathcal{T}_s} &= \left(x \cdot \kappa_{e1} + (1-x) \cdot \kappa_{e2}\right)^{-1} = \left(x \cdot \bar{\mathcal{T}}_1^{-1} + (1-x) \cdot \bar{\mathcal{T}}_2^{-1}\right)^{-1}
In other words, the mean system age is a weighted **arithmetic** mean of the two mean ages,
while the mean system residence time is a weighted **harmonic** mean of two mean residence times.
The explanation for this is that ages are averaged over the particles that exist in the system, and therefore
we count them proportionally to the state sizes. On the other hand, residence times are counted when particles
leave the system, which means they are proportioned according to how many pass through in a unit time, i.e.
the inverse of time/age.
In the plot below, you can see how the labeling of the two states, as well as the system labeling, respond
to the different parameters. Below the plot you'll find the mean system age and residence time.
.. raw:: html
What is age-cohort mean residence time?
---------------------------------------
.. math::
\bar{\mathcal{T}}_a = \mathbb{E}[\mathcal{T} | \mathcal{T} \geq a] = a - \frac{f(a)}{\dot{f}(a)}
.. raw:: html
References
==========
.. [Doherty2009] Doherty, M. K., Hammond, D. E., Clague, M. J., Gaskell, S. J., & Beynon, R. J. (2009). Turnover of the human proteome: Determination of protein intracellular stability by dynamic SILAC. *Journal of Proteome Research*, *8*\ (1), 104–112. https://doi.org/10.1021/pr800641z
.. [Doelken2008] Dölken, L., Ruzsics, Z., Rädle, B., Friedel, C. C., Zimmer, R., Mages, J., Hoffmann, R., Metzger, P., Tóth, M., Koszinowski, U. H., & Erhard, F. (2008). High-resolution gene expression profiling for simultaneous kinetic parameter analysis of RNA synthesis and decay. *RNA*, *14*\ (9), 1959–1972. https://doi.org/10.1261/rna.1136108
.. [Ghosh2014] Ghosh, A., Nilmeier, J., Weaver, D., Adams, P. D., Keasling, J. D., Mukhopadhyay, A., Petzold, C. J., & Martín, H. G. (2014). A peptide-based method for :math:`^{13}\text{C}` metabolic flux analysis in microbial communities. *PLoS Computational Biology*, *10*\ (9), e1003827. https://doi.org/10.1371/journal.pcbi.1003827
.. [Jovanovic2015] Jovanovic, M., Florio, L., Larance, M., Gomez-Cabrero, D., Radle, B., Dölken, L., Tegnér, J., Lamond, A. I., Regev, A., & Regev, A. (2015). Dynamic profiling of the protein life cycle in response to pathogens. *Science*, *347*\ (6226), 1259038. https://doi.org/10.1126/science.1259038
.. [Noor2026] Noor, E., Jefimov, K., Bifulco, E., & Onischenko, E. (2026). Age-based approach to characterize the dynamics of cellular processes. *Proceedings of the National Academy of Sciences*, *123*\ (21), e2525585123. https://doi.org/10.1073/pnas.2525585123
.. [Wang2020] Wang, Y., Wondisford, F. E., Song, C., Zhang, T., & Su, X. (2020). Metabolic flux analysis—Linking isotope labeling and metabolic fluxes. *Metabolites*, *10*\ (11), 447. https://doi.org/10.3390/metabo10110447