Cameo provides algorithms to search for genes or reactions that can be over or down regulated in order to achieve a given biological objective.
from cameo import models
Load the E. coli core model.
model = models.bigg.e_coli_core
from cameo.strain_design.deterministic.flux_variability_based import FSEOF
fseof = FSEOF(model)
fseof.run(target=model.reactions.EX_succ_e)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
---|---|---|---|---|---|---|---|---|---|---|
ADK1 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.410338 | 1.527283 |
ENO | 15.238892 | 15.761645 | 16.212407 | 16.577535 | 16.942662 | 17.307790 | 17.704415 | 18.602292 | 19.293292 | 19.628048 |
FBA | 7.756941 | 8.036499 | 8.242515 | 8.361048 | 8.479582 | 8.598115 | 8.747793 | 9.393102 | 9.830787 | 9.910940 |
FRD7 | 0.000000 | 0.000000 | 0.000000 | 1.453235 | 3.175302 | 4.897369 | 6.586703 | 7.755141 | 9.127842 | 10.852285 |
GAPD | 16.431132 | 16.838737 | 17.173618 | 17.421989 | 17.670359 | 17.918730 | 18.198431 | 18.976723 | 19.547784 | 19.761991 |
ICL | 0.000000 | 0.000000 | 0.386057 | 1.231342 | 2.076627 | 2.921912 | 3.735322 | 4.041459 | 4.143333 | 3.893465 |
MALS | 0.000000 | 0.000000 | 0.386057 | 1.231342 | 2.076627 | 2.921912 | 3.735322 | 4.041459 | 4.143333 | 3.893465 |
PDH | 8.809270 | 8.336008 | 8.179868 | 8.400957 | 8.622045 | 8.843134 | 9.064539 | 9.290984 | 9.107760 | 8.219084 |
PFK | 7.756941 | 8.036499 | 8.242515 | 8.361048 | 8.479582 | 8.598115 | 8.747793 | 9.393102 | 9.830787 | 9.910940 |
PGI | 5.485630 | 6.110399 | 6.513173 | 6.651876 | 6.790579 | 6.929282 | 7.161108 | 8.874882 | 9.965126 | 9.981645 |
PGK | -16.431132 | -16.838737 | -17.173618 | -17.421989 | -17.670359 | -17.918730 | -18.198431 | -18.976723 | -19.547784 | -19.761991 |
PGM | -15.238892 | -15.761645 | -16.212407 | -16.577535 | -16.942662 | -17.307790 | -17.704415 | -18.602292 | -19.293292 | -19.628048 |
PPC | 3.758320 | 5.012330 | 5.878875 | 6.284516 | 6.690157 | 7.095799 | 7.532996 | 8.472367 | 9.615323 | 11.108854 |
PPS | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.410338 | 1.527283 |
SUCCt3 | 1.474575 | 2.949150 | 4.423725 | 5.898300 | 7.372875 | 8.847450 | 10.322025 | 11.796600 | 13.271175 | 14.745750 |
THD2 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.119674 | 2.143848 | 2.916807 | 1.535161 |
TPI | 7.756941 | 8.036499 | 8.242515 | 8.361048 | 8.479582 | 8.598115 | 8.747793 | 9.393102 | 9.830787 | 9.910940 |
EX_succ_e | 1.474575 | 2.949150 | 4.423725 | 5.898300 | 7.372875 | 8.847450 | 10.322025 | 11.796600 | 13.271175 | 14.745750 |
Compares flux ranges of a reference model to a set of models that have been parameterized to lie on a grid of evenly spaced points in the n-dimensional production envelope (n being the number of reaction bounds to be varied).
from cameo.flux_analysis.analysis import phenotypic_phase_plane
from cameo.strain_design.deterministic import DifferentialFVA
The production envelope looks like this.
production_envelope = phenotypic_phase_plane(model,
variables=[model.reactions.BIOMASS_Ecoli_core_w_GAM],
objective=model.metabolites.succ_e)
production_envelope.plot(height=400)
Set up a model that represents a reference state (in this case a model with a constrained growth rate).
model.reactions.EX_o2_e.lower_bound = 0
reference_model = model.copy()
biomass_rxn = reference_model.reactions.BIOMASS_Ecoli_core_w_GAM
biomass_rxn.lower_bound = 0.
target = reference_model.metabolites.succ_e
Set up the differential flux variability analysis strain design method.
diffFVA = DifferentialFVA(design_space_model=model,
reference_model=reference_model,
objective=target,
variables=[biomass_rxn],
normalize_ranges_by=biomass_rxn,
points=10)
Run differential flux variability analysis (only on the surface of the production envelope)
result = diffFVA.run(surface_only=True)
result.solutions
lower_bound | upper_bound | gaps | normalized_gaps | biomass | production | KO | flux_reversal | suddenly_essential | free_flux | reaction | excluded | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
reaction | ||||||||||||
ACALD | 0.000000 | 0.000000 | -2.339592e+00 | NaN | 0.000000 | 13.905778 | True | False | False | False | ACALD | False |
ACALDt | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | False | False | ACALDt | False |
ACKr | -5.664889 | -5.664889 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | ACKr | False |
ACONTa | 0.429333 | 0.429333 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | ACONTa | False |
ACONTb | 0.429333 | 0.429333 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | ACONTb | False |
ACt2r | -5.664889 | -5.664889 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | ACt2r | False |
ADK1 | 3.476444 | 3.476444 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | ADK1 | False |
AKGDH | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | AKGDH | False |
AKGt2r | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | False | False | AKGt2r | False |
ALCD2x | 0.000000 | 0.000000 | -2.339592e+00 | NaN | 0.000000 | 13.905778 | True | False | False | False | ALCD2x | False |
ATPM | 8.390000 | 8.390000 | -3.552714e-15 | inf | 0.000000 | 13.905778 | False | False | False | False | ATPM | False |
ATPS4r | -0.322000 | -0.322000 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | ATPS4r | False |
BIOMASS_Ecoli_core_w_GAM | 0.000000 | 0.000000 | -1.587472e-01 | NaN | 0.000000 | 13.905778 | True | False | True | False | BIOMASS_Ecoli_core_w_GAM | True |
CO2t | 6.952889 | 6.952889 | 1.891755e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | CO2t | False |
CS | 0.429333 | 0.429333 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | CS | False |
CYTBD | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | CYTBD | False |
DM_succ_e | 13.905778 | 13.905778 | 9.128278e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | DM_succ_e | True |
D_LACt2 | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | False | False | D_LACt2 | False |
ENO | 20.000000 | 20.000000 | 6.594835e-01 | inf | 0.000000 | 13.905778 | False | False | False | False | ENO | False |
ETOHt2r | 0.000000 | 0.000000 | -2.339592e+00 | NaN | 0.000000 | 13.905778 | True | False | False | False | ETOHt2r | False |
FBA | 10.000000 | 10.000000 | 1.579059e-01 | inf | 0.000000 | 13.905778 | False | False | False | False | FBA | False |
FBP | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | FBP | False |
FORt2 | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | FORt2 | False |
FORti | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | FORti | False |
FRD7 | 13.476444 | 1000.000000 | 0.000000e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | FRD7 | False |
FRUpts2 | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | FRUpts2 | False |
FUM | -13.476444 | -13.476444 | 8.698944e+00 | inf | 0.000000 | 13.905778 | False | False | False | False | FUM | False |
FUMt2_2 | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | FUMt2_2 | False |
G6PDH2r | 0.000000 | 0.000000 | 0.000000e+00 | NaN | 0.000000 | 13.905778 | False | False | True | False | G6PDH2r | False |
GAPD | 20.000000 | 20.000000 | 4.219977e-01 | inf | 0.000000 | 13.905778 | False | False | False | False | GAPD | False |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
ME2 | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | ME2 | False |
NADH16 | 2.123333 | 2.123333 | 0.000000e+00 | 6.508131 | 0.188145 | 2.123333 | False | False | False | False | NADH16 | False |
NADTRHD | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | NADTRHD | False |
NH4t | 1.025916 | 1.025916 | 0.000000e+00 | 2.994683 | 0.188145 | 2.123333 | False | False | False | False | NH4t | False |
O2t | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | O2t | False |
PDH | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | PDH | False |
PFK | 9.812852 | 9.812852 | 0.000000e+00 | 37.536245 | 0.188145 | 2.123333 | False | False | False | False | PFK | False |
PFL | 15.925266 | 15.925266 | 0.000000e+00 | 66.290142 | 0.188145 | 2.123333 | False | False | False | False | PFL | False |
PGI | 9.961430 | 9.961430 | 0.000000e+00 | 42.978083 | 0.188145 | 2.123333 | False | False | False | False | PGI | False |
PGK | -19.499855 | -19.499855 | 0.000000e+00 | 84.064777 | 0.188145 | 2.123333 | False | False | False | False | PGK | False |
PGL | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | PGL | False |
PGM | -19.218390 | -19.218390 | 0.000000e+00 | 82.806263 | 0.188145 | 2.123333 | False | False | False | False | PGM | False |
PIt2r | 0.692128 | 0.692128 | 0.000000e+00 | 2.900056 | 0.188145 | 2.123333 | False | False | False | False | PIt2r | False |
PPC | 2.662481 | 2.662481 | 0.000000e+00 | 7.557877 | 0.188145 | 2.123333 | False | False | False | False | PPC | False |
PPCK | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | PPCK | False |
PPS | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | PPS | False |
PTAr | 8.669854 | 8.669854 | 0.000000e+00 | 37.203051 | 0.188145 | 2.123333 | False | False | False | False | PTAr | False |
PYK | 6.458243 | 6.458243 | 0.000000e+00 | 20.745204 | 0.188145 | 2.123333 | False | False | False | False | PYK | False |
PYRt2 | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | False | False | PYRt2 | False |
RPE | -0.135239 | -0.135239 | 0.000000e+00 | -0.566657 | 0.188145 | 2.123333 | False | False | False | False | RPE | False |
RPI | -0.135239 | -0.135239 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | False | False | RPI | False |
SUCCt2_2 | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | True | False | SUCCt2_2 | False |
SUCCt3 | 2.123333 | 2.123333 | 0.000000e+00 | 4.915631 | 0.188145 | 2.123333 | False | False | False | False | SUCCt3 | False |
SUCDi | 0.000000 | 997.876667 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | False | False | SUCDi | False |
SUCOAS | 0.000000 | 0.000000 | 0.000000e+00 | 0.000000 | 0.188145 | 2.123333 | False | False | False | False | SUCOAS | False |
TALA | -0.033659 | -0.033659 | 0.000000e+00 | -0.141033 | 0.188145 | 2.123333 | False | False | False | False | TALA | False |
THD2 | 3.225950 | 3.225950 | 0.000000e+00 | 4.869204 | 0.188145 | 2.123333 | False | False | False | False | THD2 | False |
TKT1 | -0.033659 | -0.033659 | 0.000000e+00 | -0.141033 | 0.188145 | 2.123333 | False | False | False | False | TKT1 | False |
TKT2 | -0.101579 | -0.101579 | 0.000000e+00 | -0.425623 | 0.188145 | 2.123333 | False | False | False | False | TKT2 | False |
TPI | 9.812852 | 9.812852 | 0.000000e+00 | 42.313745 | 0.188145 | 2.123333 | False | False | False | False | TPI | False |
684 rows × 12 columns
result.plot(5, variables=['FBP', 'G6PDH2r', 'PGL', 'PGK'])
result.display_on_map(2, map_name="iJO1366.Central metabolism")