cameo.strain_design.deterministic package¶
Submodules¶
cameo.strain_design.deterministic.flux_variability_based module¶

class
cameo.strain_design.deterministic.flux_variability_based.
DifferentialFVA
(design_space_model, objective, variables=None, reference_model=None, exclude=(), normalize_ranges_by=None, points=10)[source]¶ Bases:
cameo.core.strain_design.StrainDesignMethod
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 ndimensional production envelope (n being the number of reaction bounds to be varied).
production ^ . * reference_model  . . . . .\ . design_space_model  . . . . . \  . . . . . .\  . . . . . . \ o* > growth
Overexpression, downregulation, knockout, fluxreversal and other strain engineering targets can be inferred from the resulting comparison.
 Parameters
design_space_model (cobra.Model) – A model whose flux ranges will be scanned.
objective (str or Reaction or Metabolite) – A reaction whose flux or a metabolite whose production should be maximized.
variables (iterable, optional) – A iterable of n reactions (or IDs) to be scanned (defaults to current objective in design_space_model).
reference_model (cobra.Model, optional) – A model whose flux ranges represent the reference state and all calculated flux ranges will be compared to. Defaults to design_space_model constrained to its maximum objective value.
exclude (iterable) – An iterable of reactions (or IDs) to be excluded in the analysis (exchange reactions will not be analyzed automatically).
normalize_ranges_by (str or Reaction, optional) – A reaction ID that specifies a flux by whom all calculated flux ranges will be normalized by.
points (int, optional) – Number of points to lay on the surface of the ndimensional production envelope (defaults to 10).
Examples
>>> from cameo import models >>> from cameo.strain_design.deterministic import DifferentialFVA >>> model = models.bigg.e_coli_core >>> reference_model = model.copy() >>> reference_model.reactions.Biomass_Ecoli_core_w_GAM.lower_bound = reference_model.optimize().objective_value >>> diffFVA = DifferentialFVA(design_space_model=model, reference_model=reference_model, objective=model.reactions.EX_succ_e, variables=[model.reactions.Biomass_Ecoli_core_w_GAM], normalize_ranges_by=model.reactions.Biomass_Ecoli_core_w_GAM, points=10) >>> result = diffFVA.run(surface_only=True) >>> result.plot()
Methods
__call__
(self, \*args, \*\*kwargs)Call self as a function.
run
(self[, surface_only, improvements_only, …])Run the differential flux variability analysis.

run
(self, surface_only=True, improvements_only=True, progress=True, view=None, fraction_of_optimum=1.0)[source]¶ Run the differential flux variability analysis.
 Parameters
surface_only (bool, optional) – If only the surface of the ndimensional production envelope should be scanned (defaults to True).
improvements_only (bool, optional) – If only grid points should should be scanned that constitute and improvement in production over the reference state (defaults to True).
progress (bool, optional) – If a progress bar should be shown.
view (SequentialView or MultiprocessingView or ipython.cluster.DirectView, optional) – A parallelization view (defaults to SequentialView).
fraction_of_optimum (float, optional) – A value between zero and one that determines the width of the flux ranges of the reference solution. The lower the value, the larger the ranges.
 Returns
A pandas Panel containing a results DataFrame for every grid point scanned.
 Return type
pandas.Panel

class
cameo.strain_design.deterministic.flux_variability_based.
FSEOF
(model, primary_objective=None, *args, **kwargs)[source]¶ Bases:
cameo.core.strain_design.StrainDesignMethod
Performs a Flux Scanning based on Enforced Objective Flux (FSEOF) analysis.
 Parameters
model (cobra.Model) –
enforced_reaction (Reaction) – The flux that will be enforced. Reaction object or reaction id string.
primary_objective (Reaction) – The primary objective flux (defaults to model.objective).
References
 R9fc4768e5c961
Choi, S. Y. Lee, T. Y. Kim, and H. M. Woo, ‘In silico identification of gene amplification targets
for improvement of lycopene production.,’ Appl Environ Microbiol, vol. 76, no. 10, pp. 3097–3105, May 2010.
Methods
__call__
(self, \*args, \*\*kwargs)Call self as a function.
run
(self[, target, max_enforced_flux, …])Performs a Flux Scanning based on Enforced Objective Flux (FSEOF) analysis.

run
(self, target=None, max_enforced_flux=0.9, number_of_results=10, exclude=(), simulation_method=<function fba at 0x2b3173134a60>, simulation_kwargs=None)[source]¶ Performs a Flux Scanning based on Enforced Objective Flux (FSEOF) analysis.
 Parameters
target (str, Reaction, Metabolite) – The target for optimization.
max_enforced_flux (float, optional) – The maximal flux of secondary_objective that will be enforced, relative to the theoretical maximum ( defaults to 0.9).
number_of_results (int, optional) – The number of enforced flux levels (defaults to 10).
exclude (Iterable of reactions or reaction ids that will not be included in the output.) –
 Returns
An object containing the identified reactions and the used parameters.
 Return type
FseofResult
References
 1
Choi, S. Y. Lee, T. Y. Kim, and H. M. Woo, ‘In silico identification of gene amplification targets
for improvement of lycopene production.,’ Appl Environ Microbiol, vol. 76, no. 10, pp. 3097–3105, May 2010.
cameo.strain_design.deterministic.linear_programming module¶
This module contains algorithms based on linear programming techniques, including mixedinteger linear programming

class
cameo.strain_design.deterministic.linear_programming.
OptKnock
(model, exclude_reactions=None, remove_blocked=True, fraction_of_optimum=0.1, exclude_non_gene_reactions=True, use_nullspace_simplification=True, *args, **kwargs)[source]¶ Bases:
cameo.core.strain_design.StrainDesignMethod
OptKnock.
OptKnock solves a bilevel optimization problem, finding the set of knockouts that allows maximal target production under optimal growth.
 Parameters
model (cobra.Model) – A model to be used for finding optimal knockouts. Always set a nonzero lower bound on biomass reaction before using OptKnock.
exclude_reactions (iterable of str or Reaction objects) – Reactions that will not be knocked out. Excluding reactions can give more realistic results and decrease running time. Essential reactions and exchanges are always excluded.
remove_blocked (boolean (default True)) – If True, reactions that cannot carry flux (determined by FVA) will be removed from the model. This reduces running time significantly.
fraction_of_optimum (If not None, this value will be used to constrain the inner objective (e.g. growth) to) – a fraction of the optimal inner objective value. If inner objective is not constrained manually this argument should be used. (Default: None)
exclude_non_gene_reactions (If True (default), reactions that are not associated with genes will not be) – knocked out. This results in more practically relevant solutions as well as shorter running times.
use_nullspace_simplification (Boolean (default True)) – Use a basis for the nullspace to find groups of reactions whose fluxes are multiples of each other. From each of these groups only 1 reaction will be included as a possible knockout
Examples
>>> from cameo import models >>> from cameo.strain_design.deterministic import OptKnock >>> model = models.bigg.e_coli_core >>> model.reactions.Biomass_Ecoli_core_w_GAM.lower_bound = 0.1 >>> model.solver = "gurobi" # Using gurobi or cplex is recommended >>> optknock = OptKnock(model) >>> result = optknock.run(k=2, target="EX_ac_e", max_results=3)
Methods
__call__
(self, \*args, \*\*kwargs)Call self as a function.
run
(self[, max_knockouts, biomass, target, …])Perform the OptKnock simulation