In [1]:
from cameo.strain_design.heuristic import ReactionKnockoutOptimization
from cameo import load_model
from cameo.strain_design.heuristic.objective_functions import biomass_product_coupled_yield, product_yield, number_of_knockouts
from cameo.flux_analysis.simulation import fba
import cameo
import inspyred

In [2]:
model = load_model("../tests/data/iJO1366.xml")

In [3]:
of1 = product_yield(model.reactions.EX_ac_lp_e_rp_.id, model.reactions.EX_glc_lp_e_rp_.id)
of2 = number_of_knockouts()
of3 = biomass_product_coupled_yield(model.reactions.Ec_biomass_iJO1366_core_53p95M.id,
                                    model.reactions.EX_ac_lp_e_rp_.id,
                                    model.reactions.EX_glc_lp_e_rp_.id)

In [ ]:
ko = ReactionKnockoutOptimization(model=model, objective_function=[of1, of2],
                                  simulation_method=fba, heuristic_method=inspyred.ec.emo.NSGA2)

In [ ]:
ko.run(max_evaluations=50000, n=10, mutation_rate=0.3, populations_size=100, crossover_rate=0.2)


Starting optimization at Mon, 18 May 2015 00:08:14
Using saved session configuration for http://localhost:5006/
To override, pass 'load_from_config=False' to Session
 0%

In [ ]: