(A) Constrictor explores the impact of various “expression states” corresponding to different levels of expression of metabolic enzymes in the reaction network to obtain in silico mutants with diverse properties. When multiple reactions are targeted simultaneously, each combination of expression states is optimized, such that the total number of expression states becomes equal to 22k+h, where k and h are the number of reversible and irreversible reactions respectively that are targeted by Constrictor. (B) Constrictor algorithm: Constrictor uses FBA to combinatorially explore the impact of modifying lower and upper bounds of enzyme associated reaction fluxes in a metabolic pathway. FBA is first run with lower (LB) and upper bounds (UB) set to -vmax and vmax to obtain a baseline flux solution. The baseline solution for a single reaction to be targeted by Constrictor is shown in the uppermost arrow, labeled vb(ti). Constrictor is used to generate expression states based on percentage reductions of the flux bounds from the baseline flux. When considering two possible adjustments: a “Minor” restriction and a “Major” restriction, modified bounds (LBmod and UBmod) are calculated as shown. For a reversible reaction four expression states exist which correspond to the degree to which the lower and upper bounds are restricted (“Minor-Minor”, “Minor-major”, “Major-minor” and “Major-major”). For irreversible reactions, two expression states exist (“Major” and “Minor”).