Predict expression modulation targets¶
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
Flux Scanning based on Enforced Objective Flux¶
from cameo.strain_design.deterministic.flux_variability_based import FSEOF
fseof = FSEOF(model)
fseof.run(target=model.reactions.EX_succ_e)
Reaction fluxes
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 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
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 |
18 rows × 10 columns
Differential flux variability analysis¶
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
Succinate production¶
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)
%time result = diffFVA.run(surface_only=True)
result.plot()
CPU times: user 1.49 s, sys: 32.3 ms, total: 1.52 s
Wall time: 2.16 s
result.plot(5, variables=['FBP', 'G6PDH2r', 'PGL', 'PGK'])
result
upper_bound | lower_bound | gaps | normalized_gaps | KO | flux_reversal | suddenly_essential | |
---|---|---|---|---|---|---|---|
ACALD | -9.10733e-16 | -9.10733e-16 | 0 | 0 | False | False | True |
ACALDt | 0 | 0 | 0 | 0 | False | False | True |
ACKr | -8.69634 | -8.69634 | 0 | 82.443 | False | False | True |
ACONTa | 0.101495 | 0.101495 | 0 | 0 | False | False | False |
ACONTb | 0.101495 | 0.101495 | 0 | 0 | False | False | False |
ACt2r | -8.69634 | -8.69634 | 0 | 82.443 | False | False | True |
ADK1 | 0.583116 | 0.583116 | 0 | 0 | False | False | False |
... | ... | ... | ... | ... | ... | ... | ... |
SUCDi | 990.126 | 0 | 0 | 0 | False | False | False |
SUCOAS | 0 | -1.88738e-14 | 0 | 0 | False | False | True |
TALA | -0.0168296 | -0.0168296 | 0 | -0.141033 | False | False | True |
THD2 | 1.61298 | 1.61298 | 0 | 0 | False | False | False |
TKT1 | -0.0168296 | -0.0168296 | 0 | -0.141033 | False | False | True |
TKT2 | -0.0507897 | -0.0507897 | 0 | -0.425623 | False | False | True |
TPI | 9.90643 | 9.90643 | 0 | 95.3064 | False | False | False |
76 rows × 7 columns
result.display_on_map(5, map_name="iJO1366.Central metabolism")