Vanillin production

In 2010, Brochado et al used heuristic optimization together with flux simulations to design a vanillin producing yeast strain.

Brochado, A. R., Andrejev, S., Maranas, C. D., & Patil, K. R. (2012). Impact of stoichiometry representation on simulation of genotype-phenotype relationships in metabolic networks. PLoS Computational Biology, 8(11), e1002758. doi:10.1371/journal.pcbi.1002758

Genome-scale metabolic model

In their work, the authors used iFF708 model, but recent insights in Yeast yielded newer and more complete versions. Becuase this algorithms should be agnostic to the model, we implement the same strategy with a newer model.

from cameo import models
model = models.bigg.iMM904

Constraints can be set in the model according to data found in the literature. The defined conditions allow the simulation of phenotypes very close to the experimental results.

**Model validation by comparing in silico prediction of the specific

growth rate with experimental data**. Growth phenotypes were collected from literature and compared to simulated values for chemostat cultivations at four different conditions, nitrogen limited aerobic (green) and anaerobic (red), carbon limited aerobic (blue) and anaerobic (white).

Österlund, T., Nookaew, I., Bordel, S., & Nielsen, J. (2013). Mapping condition-dependent regulation of metabolism in yeast through genome-scale modeling. BMC Systems Biology, 7, 36. doi:10.1186/1752-0509-7-36

model.reactions.EX_glc__D_e.lower_bound = -13 #glucose exchange
model.reactions.EX_o2_e.lower_bound = -3  #oxygen exchange
reaction_id reaction_name lower_bound upper_bound
0 EX_fe2_e Fe2+ exchange -999999.0 999999.0
1 EX_glc__D_e D-Glucose exchange -13.0 999999.0
2 EX_h2o_e H2O exchange -999999.0 999999.0
3 EX_h_e H+ exchange -999999.0 999999.0
4 EX_k_e K+ exchange -999999.0 999999.0
5 EX_na1_e Sodium exchange -999999.0 999999.0
6 EX_nh4_e Ammonia exchange -999999.0 999999.0
7 EX_o2_e O2 exchange -3.0 999999.0
8 EX_pi_e Phosphate exchange -999999.0 999999.0
9 EX_so4_e Sulfate exchange -999999.0 999999.0
model.objective = model.reactions.BIOMASS_SC5_notrace #growth

Heterologous pathway

Vanillin is not produced by S. cervisiae. In their work an heterolgous pathway is inserted to allow generate a vanillin production strain. The pathway is described as:

**Schematic representation of the de novo VG biosynthetic pathway in S.

Cerevisisae** (as designed by Hansen et al [5]). Metabolites are shown in black, enzymes are shown in black and in italic, cofactors and additional precursors are shown in red. Reactions catalyzed by heterologously introduced enzymes are shown in red. Reactions converting glucose to aromatic amino acids are represented by dashed black arrows. Metabolite secretion is represented by solid black arrows where relative thickness corresponds to relative extracellular accumulation. 3-DSH stands for 3-dedhydroshikimate, PAC stands for protocathechuic acid, PAL stands for protocatechuic aldehyde, SAM stands for S-adenosylmethionine. 3DSD stands for 3-dedhydroshikimate dehydratase, ACAR stands for aryl carboxylic acid reductase, PPTase stands for phosphopantetheine transferase, hsOMT stands for O-methyltransferase, and UGT stands for UDP-glycosyltransferase. Adapted from Hansen et al. [5]. Brochado et al. Microbial Cell Factories 2010 9:84 doi:10.1186/1475-2859-9-84

Using cameo, is very easy to generate a pathway and add it to a model.

from cameo.core.pathway import Pathway
vanillin_pathway = Pathway.from_file("data/vanillin_pathway.tsv")
equation lower_bound upper_bound
3DSD 3-dehydroshikimate --> H2O + protocathechuic acid 0.0 1000.0
ACAR_PPTase ATP + protocathechuic acid + NADPH --> ADP + p... 0.0 1000.0
hsOMT S-adenosyl-L-methionine + protocatechuic aldeh... 0.0 1000.0
UGT Vanillin + UDP-glucose --> vanillin-B-glucoside 0.0 1000.0

And now we can plug the pathway to the model.

from cameo import phenotypic_phase_plane

The Phenotypic phase plane can be used to analyse the theoretical yields at different growth rates.

production_envelope = phenotypic_phase_plane(model, variables=[model.reactions.BIOMASS_SC5_notrace],