GM Solver

GM Solver

Simulate and optimize time-resolved growth mechanics: visualize shifting resource allocation, dynamic transport profiles, and oscillatory proteome patterns—all in one interactive tool.

Growth Mechanics Solver

To begin, upload your Growth Mechanics (.ods) model by clicking “Choose File.” If you need the template, click “Download GM Template.” Once uploaded, verify your model by clicking “Check Model.” Any errors will be flagged immediately. When you’re all set, click “Run” to start optimizing your model.

Upload your model

audio
Number of Time Points
Maximum Growth rate
 h-1
Average of Total Protein Concentration
 [g L-1]
Total Simulation Time
 h

Interactive Plots

In this section, you can visualize the results by selecting different axes, such as Growth Rate, Protein Fractions/Concentrations, Fluxes, and more.

Your Growth Mechanics Model

Here, you can view your uploaded GM model. The first tab displays the Mass Fraction matrix (M) of your model. Even after optimization, you can modify any parameters and rerun the optimization by clicking "Run" in the last tab to see the changes. Additionally, you can download the updated model by clicking "Download" in the "rho" tab.


Here, you can view your uploaded GM model. The first tab displays the Mass Fraction matrix (M) of your model. Even after optimization, you can modify any parameters and rerun the optimization by clicking "Run" in the last tab to see the changes. Additionally, you can download the updated model by clicking "Download" in the "rho" tab.


This section displays the Michaelis Constant (Km) matrix of your uploaded GM model. Make sure each substrate in your reactions has a valid Km value; otherwise, a default value of 0.1 g/L will be used. You can also search for Km values in the table below, sourced from the BRENDA database. Please ensure Km values are mass balanced and converted to g/L by multiplying the Km values in molar units by the molecular weights of the respective substrates.



This section displays the Inhibition Constant (KI) matrix of your uploaded GM model. You can modify the values directly here.


This section displays the Activation constant (KA) matrix of your uploaded GM model. You can modify the values directly here.


This section displays the Turnover Number (kcat) matrix of your uploaded GM model. You can search for kcat values in the table below, sourced from the BRENDA database. Ensure that kcat values are mass balanced and converted to 1/h (mass of product/mass of enzyme/hour) by multiplying the kcat values in 1/h units by the molecular weight of the respective product and dividing by the mass of its enzyme. "kcatf" and "kcatb" indicates the kcat for forward and backward reactions, respectively.




In this section you can enter experimental values for the growth rate (μ) and protein mass fractions (ϕ) for each reaction. Select “Yes” if you’d like the app to estimate your kinetic parameters from these inputs automatically.


This section displays the Oscillation Amplitude (dq₀) matrix for your uploaded Growth Mechanics model. You can edit the values here to set the initial perturbations in growth‐rate coordinates for simulating metabolic oscillations.









Here you define time‐varying external concentrations for each transporter. Select one of the built‐in function - Constant, Monotonic Hill, Biphasic Hill, Simple Sinusoid, Nested Sinusoid - or choose “Custom” to enter your own R expression. For each transporter, pick its function and adjust the parameter fields as needed. By selecting the function, you will see how the concentrations evolve over the first three hours in the example table below.


In this section, enter the cell density (ρ) for your model as a single numeric value greater than zero. Specify Total Simulation Time (must be < 30 hours) and Time Step ΔT (must be < 1 hour) to control the duration and resolution of your simulation. After updating these values, click “Run” to start the numerical simulation.

Download

Pathway Visualization

In this section, you can explore the network visualization of your Growth Mechanics model. Dot size reflects metabolite concentrations. Line thickness reflects protein concentrations. Click the Play button or move the slider to animate the network over time - concentrations and fluxes will update at each time point. Use the download link below to save the current visualization.

Help

Getting Started with GM Solver

Welcome to GM Solver, your accessible platform for exploring Growth Mechanics (GM) in cellular biology. Unlike traditional static models, GM Solver allows you to simulate the optimal dynamic behavior of self-replicating cells. It solves the "Equations of Optimal Motion" (EOM) derived from first principles, predicting how a cell should dynamically allocate resources to maximize fitness over time in changing environments. In this tutorial, you will learn how to use GM Solver’s intuitive interface to construct nonlinear dynamical models without writing any code. You will discover how to integrate kinetic data from the BRENDA enzyme database, define time-dependent environmental conditions (such as nutrient shifts or oscillations), and analyze the resulting dynamic trajectories. We will guide you through our interactive visualization tools, including time-resolved plots and dynamic metabolic pathway maps. GM Solver empowers experimental biologists, bioengineers, and students to investigate the fundamental principles of cellular growth. GM Solver is freely accessible to all users, promoting open science and collaboration within the research community.

Model Input

In GM Solver, getting started is seamless. Users can upload their model file in an open-source spreadsheet format (ODS) via the “Choose File” button. If you are starting from scratch, you can download a preformatted GM template using the “Download GM template” button (Figure 1). This template provides the correct structure for all required matrices—including Mass Fractions, Kinetics, and Environmental Functions—ensuring your model is ready for simulation.

GM Solver model upload interface

Figure 1: Interface for uploading your GM model file and downloading the GM template.

Mass Fraction Matrix (M)

The mass fraction matrix M is the core structural component of your model. It represents the distribution of mass for each reactant across the system's reactions. In the GM framework, mass conservation is a fundamental principle.

  • Rows represent Metabolites. Rows starting with "x_" denote external reactants (nutrients in the medium).
  • Columns represent Reactions.
  • The last row, labeled "Protein", represents the total concentration of proteins.
  • The last column, labeled "Ribosome", represents the synthesis machinery responsible for producing proteins.

Normalization: Unlike simple stoichiometric matrices, the entries in M are mass fractions. This means the sum of negative entries (reactants consumed) must equal -1, and the sum of positive entries (products formed) must equal +1 for each reaction column. This ensures that mass is strictly conserved in every step of the metabolic network.

Example of Mass Fraction Matrix (M)

Figure: Example of a Mass Fraction Matrix (M) for a cellular system in GM Solver.

Kinetic Parameters

Growth Mechanics relies on nonlinear enzyme kinetics to predict economic trade-offs. GM Solver organizes these parameters into specific matrices, which must align with the structure of your Mass Fraction matrix (M).

K Matrix (Michaelis Constants)

The K matrix defines the Michaelis constant (Km) for each metabolite-reaction pair.

  • Values describe the substrate concentration [g L⁻¹] at which the reaction rate is half-maximal.
  • If specific data is unavailable, GM Solver applies a conservative default value of 0.1 g L⁻¹.
Example of K Matrix

Figure: Example of the K Matrix (Michaelis Constants).

Turnover Numbers (kcat)

The kcat matrix defines the catalytic efficiency of the enzymes. In the GM framework, these values determine the "turnover times" (τ), linking metabolic flux to proteome allocation.

  • kcat_f: Turnover numbers for the forward reaction [h⁻¹].
  • kcat_b: Turnover numbers for the backward reaction [h⁻¹].
Example of kcat Matrix

Figure: Example of the kcat Matrix containing forward and backward turnover numbers.

Regulatory Constants (KI and KA)

To capture complex regulation, you can define Inhibition (KI) and Activation (KA) constants. These matrices allow you to model how specific metabolites inhibit or activate enzymes, adding a layer of biological realism to the dynamic trajectory.

BRENDA Database Integration

Finding accurate kinetic parameters can be challenging. GM Solver integrates directly with the BRENDA enzyme database. An interactive table allows you to filter by organism, EC number, or substrate to retrieve experimentally validated Km and kcat values, facilitating the construction of biologically accurate models.

BRENDA database interface

Figure: Interactive BRENDA database table for retrieving enzyme kinetic parameters.

Priors and Experimental Data

GM Solver allows you to incorporate experimental data and initialization parameters to refine the optimization process.

Amplitude Priors (Δq0)

This vector sets the initial amplitudes for metabolite and protein oscillations. In the Growth Mechanics framework, these values initialize the solver by defining the departure from a steady state. They help the numerical integrator converge on the optimal dynamic trajectory.

Growth and Proteome Data (μ, φ)

You can optionally provide experimentally measured growth rates (μ) and proteome fractions (φ). When enabled, GM Solver can use this data to constrain the model or estimate kinetic parameters that are consistent with the observed macroscopic growth behavior.

Priors and Data input interface

Figure: Input interface for Amplitude Priors and experimental growth data.

Time-Dependent Environment & Integration

A key feature of GM Solver is its ability to simulate growth in changing environments. Unlike static models, you define time-dependent functions for external nutrient concentrations, denoted as a(t).

Integration Settings and Cell Density

In the "rho" tab, you define the global simulation parameters:

  • Cell Density (ρ): The total cell mass density [g L⁻¹], which is a fixed constraint in the GM framework.
  • Simulation Time (Tend): The total duration of the simulation in hours.
  • Step Size (ΔT): The time step [h] used for the numerical integration of the equations of motion.
Priors and Data input interface

Figure: Input interface for defining the simulation time duration and integration step size.

External Concentration Functions a(t)

For each external reactant (rows starting with "x_"), you assign a function describing its concentration over time. The available forms include:

Function Type Equation Description
Constant a(t) = a0 Stays at a fixed level over time (no shift).
Monotonic Hill a(t) = (9t5) / (1 + t5) + 1 Starts low and smoothly ramps up to a higher steady level (e.g., nutrient upshift).
Biphasic Hill a(t) = -(0.95t5) / (1 + t5) + 1 + (0.95t2) / (1 + t2) First dips down, then rises to a new higher level (complex shift).
Simple Sinusoid a(t) = 0.5 sin(3t) + 1 Smooth, repeating oscillations (no permanent shift).
Nested Sinusoid a(t) = 0.5 sin(1t + sin(2t)) + 1 Oscillates with rapid “wiggles” on a slower wave.
Custom (R) (Arbitrary Expression) Advanced users can write custom R expressions or functions of time.

Users can edit the coefficients for each function to customize the specific concentrations. The interface provides informative tooltips and renders the mathematical equation for your selection.

Crucially, a Preview Table (0–3 h) is generated to help you sanity-check values [g L⁻¹] before running full simulations, ensuring that the environmental conditions are biologically realistic.

Setting external concentration functions

Figure: Interface for defining time-dependent external concentrations a(t) and previewing the environment.

Model Validation and Numerical Optimization

Solving the GM Equations of Optimal Motion requires a numerically consistent model. The “Check Model” feature is your first step before simulation.

Check Model button

Figure: The “Check Model” feature verifies structural and numerical integrity.

Validation Checks

The validator performs rigorous checks to ensure the solver can proceed:

  • Structural Integrity: Ensures matrix dimensions match and all rows/columns are named.
  • Mass Balance: Verifies that mass fraction columns sum to 0.
  • Positivity: Checks that kinetic parameters (Km, kcat) and cell density (ρ) are positive.
  • Environment Validity: Evaluates your defined a(t) functions over the entire simulation time (Tend) to ensure concentrations remain positive throughout the experiment.
Validation success message

Figure: A successfully validated model is ready for simulation.

Solving the Equations of Optimal Motion

Once validated, clicking “Run” initiates the solver. GM Solver uses the daspk solver (from the deSolve package) to integrate the differential-algebraic equations (DAE) that govern the optimal trajectory.

A progress bar tracks the integration in real-time, providing estimates of the remaining calculation time. For typical models, the optimization is highly efficient, often completing in seconds.

Solver progress bar

Figure: The progress bar tracks the integration of the optimal dynamic trajectory.

Interactive Visualization of Optimal Dynamics

GM Solver transforms the complex numerical output into intuitive, interactive visualizations using ggplot2 and d3flux.

Time-Resolved Dynamic Plots

Explore the optimal behavior of your cell model over time. You can visualize dynamic changes in:

  • Growth Rate (μ): See how the growth rate adapts to environmental shifts.
  • Fluxes: Observe metabolic reaction rates.
  • Proteome Allocation: Analyze how the cell reallocates protein resources.
  • Metabolites: Track intracellular concentration changes.
Summary of GM Solver results

Figure: Summary dashboard displaying all the main simulation results in one view.

Dynamic plots of growth and flux

Figure: Interactive time-series plots showing dynamic cellular behavior.

Dynamic Metabolic Pathway Map

The d3flux integration provides a dynamic view of your metabolic network. Unlike static maps, this visualization includes a time slider. As you move the slider through the simulation time, the thickness of the reaction edges changes to reflect the flux at that specific moment, allowing you to watch the metabolism "breathe" and adapt in real-time.

Dynamic metabolic pathway map

Figure: Dynamic pathway map. Use the slider to visualize flux changes over time.

Exporting Results

Figures can be downloaded as SVG or PNG for publications. Furthermore, the complete numerical results of the integration (all state variables over time) can be downloaded as a CSV file for downstream analysis in other software.

Download results interface

Figure: Download comprehensive simulation data as a CSV file.

Feedback

GM Solver democratizes access to the Growth Mechanics framework, allowing researchers to skip the complex mathematics and focus on the biology of optimal dynamic growth. By automating the solution of the Equations of Optimal Motion, we hope to facilitate new insights into metabolic efficiency and oscillations.

GM Solver is freely accessible to all users, promoting open science and collaboration within the research community.

We welcome feedback from users to help us improve GM Solver. If you have suggestions, encounter issues, or have ideas for new features, please reach out to us via email at ghaffas@hhu.de or open an issue on our GitHub repository. Your input is valuable in shaping the future development of GM Solver to better serve the research community.