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 n-dimensional production envelope (n being the number of reaction bounds to be varied).

production
^
|---------.          * reference_model
| . . . . .\         . design_space_model
| . . . . . \
| . . . . . .\
| . . . . . . \
o--------------*- >
             growth

Overexpression, downregulation, knockout, flux-reversal 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 n-dimensional 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 n-dimensional 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

R9fc4768e5c96-1
    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.

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 0x2ab7792eb6a8>, 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
    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 mixed-integer 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 bi-level 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 non-zero 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

run(self, max_knockouts=5, biomass=None, target=None, max_results=1, *args, **kwargs)[source]

Perform the OptKnock simulation

Parameters
  • target (str, Metabolite or Reaction) – The design target

  • biomass (str, Metabolite or Reaction) – The biomass definition in the model

  • max_knockouts (int) – Max number of knockouts allowed

  • max_results (int) – Max number of different designs to return if found

Returns

Return type

OptKnockResult

Module contents