A. Supplementary Information A.1. Flux Balance Models S

A. Supplementary Information
A.1. Flux Balance Models
S. cerevisiae. For minimal medium simulation, the S. cerevisiae model
iND750 (Duarte et al., 2004) requires that the exchange fluxes for NH4, SO4, Pi,
H2O, K, Na and CO2 are unconstrained. Furthermore, for simulation under
anaerobic conditions the exchange fluxes for ergosterol, zymosterol,
palmitoleate, (C16:1), stearate (C18:20), oleate (C18:1), and linoleate (C18:2)
need to be unconstrained as well. No anaerobic growth will occur if these
modifications are not implemented.
E. coli. The constraint-based model of Escherichia coli K-12 MG1655,
iJR904, was used as developed by (Reed et al., 2003) without any
modifications.
A.2. Simulation Parameters
Table 3 summarizes the parameters for the uptake kinetics in all three
simulation studies.
Parameter
E. coli
S. cerevisiae
Co-culture
Co-culture
E. coli
S. cerevisiae
vo,max [mmol/gdw/h]
15
1.5 (8)
15
2.5
Ko [g/L]
0.024
0.003
0.0024
0.003
vg,max [mmol/gdw/h]
10.5
20
-
22.4
Kg [g/L]
0.0027
0.5
-
0.8
Kie [g/L]
20
10
-
10
vz,max [mmol/gdw/h]
6
-
12
-
Kz [g/L]
0.0165
-
0.25
-
Kig [g/L]
0.005
-
0.005
-
Table 3: Parameter sets for the Michaelis-Menten kinetics. The E. coli monoculture and co-culture parameters are based on (Hanly and Henson, 2011). The
S. cerevisiae mono-culture parameters are based on (Hanly et al., 2012).
Initial conditions [g/L] E. coli
S. cerevisiae
Co-culture
E. coli biomass
0.03
-
0.015
S. cerevisiae biomass
-
0.05
0.085
Glucose
15.5
8
16
Xylose
8
0
8
Ethanol
0
0
0
Table 4: Initial conditions for the simulation case studies
Due to the non-growth associated ATP maintenance requirement of the
E. coli model no growth is predicted for g ≤ 0.1 g/L and z ≤ 1.5 g/L. Hence, the
simulation is stopped under these conditions. Similarly for the S. cerevisiae
model, the conditions for growth are g > 0.01 g/L and e > 0.01 g/L.
Oxygen concentration is assumed to be constant at o = 0.1 mmol/L for
the S. cerevisiae simulation and o = 0.24 mmol/L for the co-culture simulation.
A.3. Sample Implementation
The implementation of the dynamic flux balance simulation of the E. coli
mono-culture is used to illustrate how the developed code can be used. More
information
can
be
found
at
yoric.mit.edu/DFBSIM.
The
current
implementation is based on the model format supported by DSL48LPR.
Specifically, the dFBA framework is realized in three main FORTRAN files:
• The simulation (main.f file), in which the FBA models, the external
metabolites, simulation time, initial conditions and other simulation parameter
such as numerical tolerances can be set.
• The environment (res0.f file), which contains the ordinary differential
equations describing the volume of the bioreactor, the microbial community and
the accumulation of the external metabolites. The format of the differential
equations is based on the DMMM framework (Zhuang et al., 2011).
• The uptake kinetics (lprhs.f file), which determine the exchange fluxes
as functions of the external metabolite concentrations.
The following information must be specified in the simulation file:
• The number of microbial species is specified in the variable declaration
section of the main program in main.f (not shown in the code fragment below).
• The FBA model for each species of the microbial community is
specified by the name of the files containing the technology matrix A and righthand side vector b, i.e. iJR904.A and iJR904.b. It is assumed that the model is
in LP standard form. The technology matrix A is given in sparse coordinate list
column-major format, i.e. [row index, column index, value]. The first row
contains the number of rows, number of columns, and number of non-zero
entries. A Matlab script based on the COBRA Toolbox is provided at
yoric.mit.edu/DFBSIM, which generates the necessary files from a COBRA
model structure. The primary objective function for each FBA model is
specified by the column indices of the non-zero entries. Optional higher-order
objective functions, e.g. ethanol flux, for each FBA model can be provided in
the same format.
• The number of external metabolites.
• The indices of the exchange fluxes for the external metabolites for all
FBA models.
• Initial conditions for the dynamic states. For the E. coli simulation the
following units are assumed: Volume [L], biomass [g/L], metabolites [mmol/L].
Note that it is assumed that the stoichiometry matrix of the FBA model
has full row rank. If this is not the case then a full row rank minor must be
provided. The following part of the code in main.f shows the simulation
parameters for the E. coli simulation.
The following information must be specified in the environment file:
• The molecular weights of the external metabolites are required to
convert flux units [mmol/h] to [g/h].
• The feed rate and feed composition is set to zero since batch operation
is simulated.
• Optimal growth rate is determined as the current value of the biomass
flux. The production rate of ethanol is also updated, it is unique since it is the
solution of secondary optimization problem.
• Other changes such as keeping the oxygen concentration constant can
also be implemented.
• Finally, the ODEs for the bioreactor volume, the microbial community
and the accumulation of the external metabolites are set.
The following part of the FORTRAN code in res0.f shows the parameters
of the bioreactor environment for the E. coli mono-culture simulation.
The Michaelis-Menten kinetics are specified in the uptakekinetics
subroutine.
Software Requirements
The implementation uses DAEPACK for automatic code generation and
numerical integration of the DAE system. A license for DAEPACK and its
component DSL48E is available upon request, more information can be
obtained at http://yoric.mit.edu/DAEPACK, the license is free for academic use.
DSL48LPR and the code for simulating DFBA models are currently available
for Ubuntu Linux. A Windows version with integration to the COBRA toolbox
is in progress and will be made available at http://yoric.mit.edu/DFBSIM.
Additional annotated examples will be made available as they are completed.
The current implementation uses CPLEX and includes a C program that
uses the CPLEX Callable Library to construct the standard form LPs that are
embedded in the system and subsequently solves them at events. However, the
user can easily replace this with a call to their preferred LP solver.