The Dynamic Multispecies Metabolic Modeling (DyMMM, pronounced /dĭm/) framework is a mathematical modeling tool that integrates multiple constraint-based metabolic models into a single dynamic community metabolic model. The DyMMM framework is designed to model competitive and syntrophic (cross-feeding) communities. It should not be used to model mutualistic communities.
The DyMMM framework is developed and maintained by Kai Zhuang.
The Math
The base mathematics of DyMMM was first published in Zhuang et al. (2011). It is an extension of the dFBA method.
Since the initial publication, the mathematics of DyMMM has expanded to include additional capabilities.
The system of equations can be solved either numerically, or through an analytical approximation method.
The detailed mathematics can be downloaded here.
The Code
The DyMMM framework is coded as an extension to the COBRA Toolbox.
It is currently only available in MATLAB.
A Python adaptation is planned, however, this is not a high priority.
If you are interested in adapting the mathematics to another language, feel free to contact Kai Zhuang.
How To Use the DyMMM framework
The DMMM framework contains six files:
dymmm.m //main function
dymmm_ode.m //ODE description of a microbial community and its environment
dymmm_analytical.m //analytical solution to DyMMM
updateEnvironment.m //description of the environmental changes
updateUptakes.m //description of the microbial uptake kinetics
runDyMMM.m //a sample script that sets up and runs the simulation
To set up a simulation:
1. The frist three files (dymmm.m, dymmm_ode.m, dymmm_analytical) does not need to be modified.
The environmental conditions and the uptake constraints of the metabolic models are updated at every time step using the updateEnvironment and updateUptakes.m scripts.
runDMMM.m gives a good example of how to setup a simulation using two hypothetical E.coli strains, simulating a cross-feeding situation where one strain consumes glucose and produce acetate, whereas the other strain consume acetate.
In brief, you need to:
Setup the community
Setup timespan (tspan)
Setup initial conditions
Choose a solver
- "analytical" for analytical approximation. it is important to set the time step to be relatively small. in addition, this is not appropriate for situations where biomass is being fed into the system.
- "ode45","ode45n","ode23","ode23n" for numerical solvers. "n" signifies that the non-negative flag is turned on.
run the simulation using the function dymmm
Solutions:
Note: The units are dependent on the units of the fluxes in the constraint-based metabolic models
Please use the following citations for bibliographical purposes
Zhuang, K., Izallalen, M., Mouser, P., Richter, H., Risso, C., Mahadevan, R., & Lovley, D. R. (2011). Genome-scale dynamic modeling of the competition between Rhodoferax and Geobacter in anoxic subsurface environments. The ISME journal, 5(2), 305–316.