In the simulation file the following information must be specified:
- 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 iJR904 for E. coli is specified by the name of the files containing the technology matrix A and right-hand side vector b, i.e. iJR904.A and iJR904.b. It is assumed that the model is in standard form for LPs. 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 here, which generates the necessary files from a COBRA model structure.
The primary objective, e.g. growth rate, is specified by the column indices of the non-zero entries. Optional higher-order objective functions, e.g. ethanol flux, can be provided in the same format. - The number of external metabolites.
- The indices of the exchange fluxes in the FBA model.
- 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.
c### For each FBA model load data from files modelname(1) = 'Ecoli_iJR904' c### Specify the number of external metabolites nExtMet = 4 ! [ glucose, xylose, ethanol, dissolved oxygen ] c### Specify the flux IDs of the exchange reactions for each FBA model ExRxn(1) = 344 ! glucose exchange flux ExRxn(2) = 429 ! xylose exchange flux ExRxn(3) = 329 ! ethanol exchange flux ExRxn(4) = 392 ! oxygen exchange flux c### Set number of cost vectors in each LP ("multiplicity"): cmult(1) = 2 c### Set number of nonzero elements in each cost vector: cnonzero(1) = 1 cnonzero(2) = 1 c### Set cost vectors; value and index: c First: Maximize biomass flux (growth rate) cval(1) = -1.0d0 cindex(1) = 150 c Second: Maximize ethanol flux cval(2) = -1.0d0 cindex(2) = 329 c### Specify integration interval t = 0 tout = 50 c### Specify initial conditions for y=[Vol , X(1:nlp), S(1:nExtMet)] y0(1) = 1.0d0 y0(2) = 0.080 y0(3) = 16.0d0 y0(4) = 8.0d0 y0(5) = 0.0d0 y0(6) = 0.0d0