Exemplo n.º 1
0
def reac_ko_medium_optim_CM(isMultiProc=False, size=(1, 1), withCobraPy=False):
    SBML_FILE = basePath + "Data/EC_SC_model.xml"
    modelaux = load_cbmodel(SBML_FILE, exchange_detection_mode="R_EX_")
    model = fix_exchange_reactions_model(modelaux)
    fileRes = basePath + "Results/optim_Comunity_KO_medium_pFBA.csv"

    for r_id, rxn in model.reactions.items():
        if r_id.startswith(
                'R_EX_'):  # ou tambem podes fazer if rxn.is_exchange:
            rxn.lb = -1000 if rxn.lb is None else rxn.lb
            rxn.ub = 1000 if rxn.ub is None else rxn.ub

    simulProb = StoicSimulationProblem(model,
                                       objective={"R_BM_total_Synth": 1},
                                       withCobraPy=withCobraPy)
    res = simulProb.simulate()
    print(res.print())
    evalFunc = build_evaluation_function("BP_MinModifications",
                                         "R_BM_total_Synth",
                                         "R_EX_succ_medium_")

    result = cbm_strain_optim(simulProb,
                              evaluationFunc=evalFunc,
                              levels=None,
                              type=optimType.MEDIUM_REACTION_KO,
                              isMultiProc=isMultiProc,
                              candidateSize=size,
                              resultFile=fileRes)
Exemplo n.º 2
0
def prot_ko_optim(prot_measure_fractions=None,
                  prot_measure_ggdw=None,
                  constraints=None,
                  isMultiProc=False,
                  size=1):

    #load model
    if prot_measure_fractions is None and prot_measure_ggdw is None:
        model = GeckoModel("single-pool")
    else:
        model = GeckoModel("multi-pool")
        if prot_measure_fractions:
            model.limit_proteins(fractions=prot_measure_fractions)
        else:
            model.limit_proteins(ggdw=prot_measure_ggdw)

    fileRes = basePath + "Results/optim_KO_Gecko_Yeast_SUCC_max5.csv"

    simulProb = GeckoSimulationProblem(model, constraints=constraints)
    evalFunc = build_evaluation_function("BPCY", "r_2111", "r_2056",
                                         "r_1714_REV")  # max succ exchange
    gecko_strain_optim(simulProb,
                       evaluationFunc=evalFunc,
                       levels=None,
                       isMultiProc=isMultiProc,
                       candidateSize=size,
                       resultFile=fileRes)  #KO_Reaction by default
Exemplo n.º 3
0
def jahan_ko():
    simulProblem, idsToManipulate = jahan_model()
    decoder = DecoderReacKnockouts(idsToManipulate)
    evalFunc = build_evaluation_function("targetFlux", ["vD_SUC"])

    solutions = [[
        'CS', 'Pps', 'MS', 'MDH', 'Pfk', 'vTktB_max', 'vAck_max', 'v6PGDH_max',
        'Ppc'
    ],
                 [
                     'CS', 'Pps', 'Icl', 'MS', 'MDH', 'Pfk', 'vTktB_max',
                     'vAck_max', 'v6PGDH_max', 'Ppc'
                 ], ['CS', 'MDH', 'aKGDH', 'vPta_max', 'Ppc'],
                 ['CS', 'Pps', 'MS', 'MDH', 'vPta_max', 'Ppc'],
                 ['CS', 'Pps', 'Icl', 'MS', 'MDH', 'vPta_max', 'Ppc'],
                 ['CS', 'Pps', 'Icl', 'MS', 'MDH', 'vPta_max', 'Ppc', 'Fbp'],
                 ['CS', 'MDH', 'vPta_max', 'Ppc', 'Pps'],
                 ['CS', 'Pps', 'MDH', 'vAck_max', 'v6PGDH_max', 'Ppc'],
                 ['vPgi_max', 'vPta_max', 'Ppc'],
                 ['CS', 'MDH', 'vPta_max', 'Ppc'],
                 ['CS', 'MDH', 'vPta_max', 'Ppc', 'Pps'],
                 ['vPgi_max', 'vPta_max', 'Ppc'],
                 ['CS', 'MDH', 'vPta_max', 'Ppc'],
                 ['vPgi_max', 'vPta_max', 'Ppc'], ['vAck_max', 'Ppc'],
                 ['vPTS4_max']]
    results = simulate_solutions(simulProblem, decoder, solutions)
    yield_solutions(results, "vD_SUC", "vD_GLCfeed")
Exemplo n.º 4
0
def ko_millard(isMultiProc=False, size=1):
    EAConfigurations.MAX_CANDIDATE_SIZE = size

    sbmlFile = '../../../examples/models/Millard2016v2.xml'
    fileRes = basePath + "Results/optim_Millard_acet_ko_" + str(size) + ".csv"
    fileLastGen = basePath + "Results/optim_Millard_acet_ko_" + str(
        size) + "_lastgen.csv"

    mapParamReacs = OrderedDict([
        ('PTS_4', ['eiicbP']), ('PTS_0', ['ei']), ('PTS_1', ['eiP']),
        ('PTS_2', ['eiia']), ('PTS_3', ['eiicb']), ('PGI', ['PGI_Vmax']),
        ('PFK', ['PFK_Vmax']), ('FBA', ['FBA_Vmax']), ('TPI', ['TPI_Vmax']),
        ('GDH', ['GDH_Vmax']), ('PGK', ['PGK_Vmax']), ('GPM', ['GPM_Vmax']),
        ('ENO', ['ENO_Vmax']), ('PYK', ['PYK_Vmax']), ('ZWF', ['ZWF_Vmax']),
        ('PGL', ['PGL_Vmax']), ('GND', ['GND_Vmax']), ('RPE', ['RPE_Vmax']),
        ('RPI', ['RPI_Vmax']), ('X5P_GAP_TKT', ['tkt']),
        ('F6P_E4P_TKT', ['tktC2']), ('S7P_R5P_TKT', ['tktC2']),
        ('F6P_GAP_TAL', ['talC3']), ('S7P_E4P_TAL', ['tal']),
        ('FBP', ['FBP_Vmax']), ('PPC', ['PPC_Vmax']), ('PCK', ['PCK_Vmax']),
        ('PPS', ['PPS_Vmax']), ('MAD', ['MAD_Vmax']), ('PDH', ['PDH_Vmax']),
        ('GLT', ['GLT_Vmax']), ('ACN_1', ['ACN_1_Vmax']),
        ('ACN_2', ['ACN_2_Vmax']), ('ICD', ['icd']), ('LPD', ['LPD_Vmax']),
        ('SK', ['SK_Vmax']), ('SDH', ['SDH_Vmax']), ('FUMA', ['FUMA_Vmax']),
        ('MQO', ['MQO_Vmax']), ('MDH', ['MDH_Vmax']), ('ACEA', ['ACEA_Vmax']),
        ('ACEB', ['ACEB_Vmax']), ('EDD', ['EDD_Vmax']), ('EDA', ['EDA_Vmax']),
        ('NADH_req', ['NADH_req_Vmax']), ('ATP_syn', ['ATP_syn_Vmax']),
        ('ACK', ['ACK_Vmax']), ('ACS', ['ACS_Vmax']), ('PTA', ['PTA_Vmax']),
        ('MYTBO', ['MYTBO_Vmax']), ('SQR', ['SQR_Vmax']),
        ('NDHII', ['NDHII_Vmax']), ('GROWTH', ['GROWTH_Vmax']),
        ('ATP_MAINTENANCE', ['ATP_MAINTENANCE_Vmax']),
        ('XCH_GLC', ['XCH_GLC_Vmax']), ('PIT', ['PIT_Vmax']),
        ('XCH_P', ['XCH_P_Vmax']), ('XCH_ACE1', ['XCH_ACE1_Vmax']),
        ('XCH_ACE2', ['XCH_ACE2_Vmax'])
    ])

    model = load_kinetic_model(sbmlFile, mapParamReacs)

    objFunc = build_evaluation_function("targetFlux", ["_ACE_OUT"])
    simulProblem = KineticSimulationProblem(
        model, tSteps=[0, KineticConfigurations.STEADY_STATE_TIME])

    result = kinetic_strain_optim(simulProblem,
                                  objFunc=objFunc,
                                  levels=None,
                                  criticalParameters=[
                                      'ATP_MAINTENANCE_Vmax', 'GROWTH_Vmax',
                                      'NDHII_Vmax', 'PIT_Vmax', 'eiicbP', 'ei',
                                      'eiP', 'eiia'
                                  ],
                                  isMultiProc=isMultiProc,
                                  resultFile=fileRes,
                                  initPopFile=fileLastGen)
    result.print()
Exemplo n.º 5
0
def medium_Lactate_optim(isMultiProc=False, size=1, withCobraPy=False):
    SBML_FILE = "../../../examples/models/Ec_iAF1260.xml"
    modelaux = load_cbmodel(SBML_FILE, flavor="cobra")
    model = fix_exchange_reactions_model(modelaux)
    fileRes = basePath + "Results/optim_Ec_iAF1260_medium_lactate.csv"
    simulProb = StoicSimulationProblem(
        model,
        objective={"R_Ec_biomass_iAF1260_core_59p81M": 1},
        withCobraPy=withCobraPy)

    fba = simulProb.simulate()

    # calculate the essential uptake reactions to biomass production
    essential = simulProb.find_essential_drains()
    print(essential)
    if simulProb.constraints:
        simulProb.constraints.update(
            {reac: (StoicConfigurations.DEFAULT_LB, 0)
             for reac in essential})  # put essential reactions as constraints
    else:
        simulProb.constraints = {
            reac: (StoicConfigurations.DEFAULT_LB, 0)
            for reac in essential
        }

    criticalReacs = essential

    # set the minimum production of biomass

    simulProb.set_objective_function({"R_EX_lac_L_e": 1})
    simulProb.constraints.update({
        "R_Ec_biomass_iAF1260_core_59p81M":
        (fba.get_fluxes_distribution()["R_Ec_biomass_iAF1260_core_59p81M"] *
         0.75, 9999)
    })

    minObjective = {"R_EX_lac_L_e": 1e-5}
    print(
        "Biomass: " +
        str(fba.get_fluxes_distribution()["R_Ec_biomass_iAF1260_core_59p81M"] *
            0.75))
    build_evaluation_function
    evalFunc = build_evaluation_function("MinNumberReac", size, minObjective)

    cbm_strain_optim(simulProb,
                     evaluationFunc=evalFunc,
                     levels=None,
                     type=optimType.MEDIUM,
                     criticalReacs=criticalReacs,
                     isMultiProc=isMultiProc,
                     candidateSize=size,
                     resultFile=fileRes)
Exemplo n.º 6
0
def framed_optim(isMultiProc, size):
    model = load_cbmodel(SBML_FILE, flavor="cobra")

    fileRes = basePath + "Results/optim_Ec_iAF1260_ko.csv"
    simulProb = StoicSimulationProblem(
        model, objective={"R_Ec_biomass_iAF1260_core_59p81M": 1})
    objFunc = build_evaluation_function("targetFlux",
                                        ["R_Ec_biomass_iAF1260_core_59p81M"])
    cbm_strain_optim(simulProb,
                     evaluationFunc=objFunc,
                     levels=None,
                     isMultiProc=isMultiProc,
                     candidateSize=size,
                     resultFile=fileRes)
Exemplo n.º 7
0
def medium_SC_Etanol_Levels_optim(isMultiProc=False,
                                  size=1,
                                  withCobraPy=False):
    SBML_FILE = "../../../examples/models/iMM904.xml"

    model = load_cbmodel(SBML_FILE, flavor="fbc2")
    fileRes = basePath + "Results/optim_iMM904_etanol_levels.csv"
    simulProb = StoicSimulationProblem(model,
                                       objective={"R_BIOMASS_SC5_notrace": 1},
                                       withCobraPy=withCobraPy)
    fba = simulProb.simulate()
    print("Biomass: " +
          str(fba.get_fluxes_distribution()["R_BIOMASS_SC5_notrace"]))
    # calculate the essential uptake reactions to biomass production
    essential = simulProb.find_essential_drains()
    print(essential)
    if simulProb.constraints:
        simulProb.constraints.update(
            {reac: (StoicConfigurations.DEFAULT_LB, 0)
             for reac in essential})  # put essential reactions as constraints
    else:
        simulProb.constraints = {
            reac: (StoicConfigurations.DEFAULT_LB, 0)
            for reac in essential
        }

    criticalReacs = essential

    # set the minimum production of biomass
    simulProb.set_objective_function({"R_EX_etoh_e": 1})
    simulProb.constraints.update({
        "R_BIOMASS_SC5_notrace":
        (fba.get_fluxes_distribution()["R_BIOMASS_SC5_notrace"] * 0.75, 9999)
    })

    print("Biomass: " +
          str(fba.get_fluxes_distribution()["R_BIOMASS_SC5_notrace"] * 0.75))

    evalFunc = build_evaluation_function(
        "MinNumberReacAndMaxFluxWithLevels", size, LEVELS,
        {"R_EX_etoh_e": model.reactions["R_EX_etoh_e"].ub})

    cbm_strain_optim(simulProb,
                     evaluationFunc=evalFunc,
                     levels=LEVELS,
                     type=optimType.MEDIUM_LEVELS,
                     criticalReacs=criticalReacs,
                     isMultiProc=isMultiProc,
                     candidateSize=size,
                     resultFile=fileRes)
Exemplo n.º 8
0
def medium_reac_ko_optim(isMultiProc=False, size=[5, 5], withCobraPy=False):
    SBML_FILE = "../../../examples/models/Ec_iAF1260.xml"
    model = load_cbmodel(SBML_FILE, flavor="cobra")
    newModel = fix_exchange_reactions_model(model)
    fileRes = basePath + "Results/optim_Ec_iAF1260_medium_ko_succ.csv"
    simulProb = StoicSimulationProblem(
        newModel,
        objective={"R_Ec_biomass_iAF1260_core_59p81M": 1},
        withCobraPy=withCobraPy)

    # set the minimum production of biomass
    fba = simulProb.simulate()

    # calculate the essential uptake reactions to biomass production
    essential = simulProb.find_essential_drains()
    print(essential)
    if simulProb.constraints:
        simulProb.constraints.update(
            {reac: (StoicConfigurations.DEFAULT_LB, 0)
             for reac in essential})  # put essential reactions as constraints
    else:
        simulProb.constraints = {
            reac: (StoicConfigurations.DEFAULT_LB, 0)
            for reac in essential
        }

    simulProb.set_objective_function({"R_EX_succ_e_": 1})
    simulProb.constraints.update({
        "R_Ec_biomass_iAF1260_core_59p81M":
        (fba.get_fluxes_distribution()["R_Ec_biomass_iAF1260_core_59p81M"] *
         0.25, 9999)
    })
    print(
        "Biomass: " +
        str(fba.get_fluxes_distribution()["R_Ec_biomass_iAF1260_core_59p81M"] *
            0.25))

    evalFunc = build_evaluation_function(
        "MinNumberReacAndMaxFlux", sum(size),
        {"R_EX_succ_e": model.reactions["R_EX_succ_e"].ub})

    cbm_strain_optim(simulProb,
                     evaluationFunc=evalFunc,
                     levels=None,
                     type=optimType.MEDIUM_REACTION_KO,
                     criticalReacs=essential,
                     isMultiProc=isMultiProc,
                     candidateSize=size,
                     resultFile=fileRes)  # KO_Reaction by default
Exemplo n.º 9
0
def under_over_chassagnole(isMultiProc=False, size=1):
    sbmlFile = '../../../examples/models/chassagnole2002.xml'
    fileRes = basePath + "Results/optim_Chassagnole_Serine_underover_" + size + ".csv"

    model = load_kinetic_model(sbmlFile)

    objFunc = build_evaluation_function("targetFlux", ["vsersynth"])
    simulProblem = KineticSimulationProblem(
        model, tSteps=[0, KineticConfigurations.STEADY_STATE_TIME])
    result = kinetic_strain_optim(simulProblem,
                                  objFunc=objFunc,
                                  levels=LEVELS,
                                  criticalParameters=[],
                                  isMultiProc=False,
                                  candidateSize=size,
                                  resultFile=fileRes)
    result.print()
Exemplo n.º 10
0
def ko_chassagnole(isMultiProc=False, size=1):
    sbmlFile = '../../../examples/models/chassagnole2002.xml'
    fileRes = basePath + "Chassagnole/optim_Chassagnole_Serine_ko_" + str(
        size) + ".csv"

    model = load_kinetic_model(sbmlFile)

    objFunc = build_evaluation_function("targetFlux", ["vsersynth"])
    simulProblem = KineticSimulationProblem(
        model, tSteps=[0, KineticConfigurations.STEADY_STATE_TIME])
    result = kinetic_strain_optim(simulProblem,
                                  objFunc=objFunc,
                                  levels=None,
                                  type=optimType.REACTION_KO,
                                  isMultiProc=True,
                                  candidateSize=size,
                                  resultFile=fileRes)
    result.print()
Exemplo n.º 11
0
def cobra_optim(isMultiProc, size):
    model = read_sbml_model(SBML_FILE)
    fileRes = basePath + "Results/optim_Ec_iAF1260_ko_cobra.csv"

    simulProb = StoicSimulationProblem(
        model,
        objective={"Ec_biomass_iAF1260_core_59p81M": 1},
        withCobraPy=True)
    objFunc = build_evaluation_function("targetFlux",
                                        ["Ec_biomass_iAF1260_core_59p81M"])

    print(simulProb.simulate())
    cbm_strain_optim(simulProb,
                     evaluationFunc=objFunc,
                     levels=None,
                     isMultiProc=isMultiProc,
                     candidateSize=size,
                     resultFile=fileRes)
Exemplo n.º 12
0
def medium_SC_optim(isMultiProc=False, size=1, withCobraPy=False):
    SBML_FILE = "../../../examples/models/iMM904.xml"
    model = load_cbmodel(SBML_FILE, flavor="fbc2")
    fileRes = basePath + "Results/optim_iMM904_medium.csv"

    simulProb = StoicSimulationProblem(model,
                                       objective={"R_BIOMASS_SC5_notrace": 1},
                                       withCobraPy=withCobraPy)

    fba = simulProb.simulate()

    # calculate the essential uptake reactions to biomass production
    essential = simulProb.find_essential_drains()
    print(essential)
    if simulProb.constraints:
        simulProb.constraints.update(
            {reac: (StoicConfigurations.DEFAULT_LB, 0)
             for reac in essential})  # put essential reactions as constraints
    else:
        simulProb.constraints = {
            reac: (StoicConfigurations.DEFAULT_LB, 0)
            for reac in essential
        }

    criticalReacs = essential

    # set the minimum production of biomass
    minObjective = {
        "R_BIOMASS_SC5_notrace":
        fba.get_fluxes_distribution()["R_BIOMASS_SC5_notrace"] * 0.75
    }
    evalFunc = build_evaluation_function("MinNumberReac", size, minObjective)

    cbm_strain_optim(simulProb,
                     evaluationFunc=evalFunc,
                     levels=None,
                     type=optimType.MEDIUM,
                     criticalReacs=criticalReacs,
                     isMultiProc=isMultiProc,
                     candidateSize=size,
                     resultFile=fileRes)
Exemplo n.º 13
0
def jahan_uo():
    simulProblem, idsToManipulate = jahan_model()
    levels = [
        0, 2**-5, 2**-4, 2**-3, 2**-2, 2**-1, 2**1, 2**2, 2**3, 2**4, 2**5
    ]
    decoder = DecoderReacUnderOverExpression(idsToManipulate, levels)
    evalFunc = build_evaluation_function("targetFlux", ["vD_SUC"])
    solutions = [
        # OrderedDict([('CS', 32), ('PDH', 32), ('Fbp', 32), ('MS', 16), ('ICDH', 0), ('vNonPTS_max', 32), ('SDH', 0.03125),('v6PGDH_max', 0), ('vPTS4_max', 32), ('vAck_max', 0)]),
        # OrderedDict([('SDH', 0.0625), ('Pyk', 0), ('vG6PDH_max', 0.03125), ('vPta_max', 0), ('CS', 8), ('Fbp', 4), ('Ppc', 32),('vPTS4_max', 32)]),
        # OrderedDict([('Pyk', 0), ('vG6PDH_max', 0.03125), ('vPta_max', 0), ('Fbp', 4), ('SDH', 0.0625), ('CS', 8),('vPTS4_max', 32), ('Ppc', 32)]),
        #OrderedDict([('vG6PDH_max', 0), ('vPta_max', 0), ('MS', 16), ('ICDH', 0), ('SDH', 0.0625), ('vPTS4_max', 32)]),
        #OrderedDict([('SDH', 0.125), ('vG6PDH_max', 0.03125), ('vPTS4_max', 32), ('ICDH', 0), ('vAck_max', 0)])
        {
            'Ppc': 4,
            'v6PGDH_max': 16,
            'Fbp': 4,
            'Pps': 16,
            'Pyk': 0.03125,
            'vPta_max': 0,
            'SDH': 0.25,
            'vPTS4_max': 16
        }
        #OrderedDict([('v6PGDH_max', 0.0625), ('SDH', 0.03125), ('vAck_max', 0), ('vPTS4_max', 32), ('ICDH', 0)]),
        #OrderedDict([('v6PGDH_max', 0.0625), ('SDH', 0.03125), ('vAck_max', 0), ('vPTS4_max', 32)]),
        #OrderedDict([('v6PGDH_max', 0.0625), ('SDH', 0.03125), ('vAck_max', 0), ('ICDH', 0)]),
        #OrderedDict([('v6PGDH_max', 0.0625), ('SDH', 0.03125), ('vPTS4_max', 32), ('ICDH', 0)]),
        #OrderedDict([('v6PGDH_max', 0.0625), ('vAck_max', 0), ('vPTS4_max', 32), ('ICDH', 0)]),
        #OrderedDict([ ('SDH', 0.03125), ('vAck_max', 0), ('vPTS4_max', 32), ('ICDH', 0)]),
        # OrderedDict([('ICDH', 0.125), ('vPta_max', 0), ('SDH', 0.25), ('vPTS4_max', 32)]),
        #OrderedDict([('vPta_max', 0), ('ICDH', 0.125), ('SDH', 0.25), ('vPTS4_max', 32)]),
        # OrderedDict([('ICDH', 0.125), ('SDH', 0.03125), ('vAck_max', 0)]),
        # OrderedDict([('SDH', 0.03125), ('Pps', 32)]),
        # OrderedDict([('Pps', 32)])
    ]
    #results = simulate_solutions(simulProblem, decoder, [])
    #yield_solutions(results, "vD_SUC", "vD_GLCfeed")

    print("WITH UO")
    results = simulate_solutions(simulProblem, decoder, solutions)
    yield_solutions(results, "vD_SUC", "vD_GLCfeed")
Exemplo n.º 14
0
def reac_ko_optim(isMultiProc=False, size=1, withCobraPy=False):
    SBML_FILE = "../../../examples/models/Ec_iAF1260.xml"
    if withCobraPy:
        model = read_sbml_model(SBML_FILE)
        fileRes = basePath + "Results/optim_Ec_iAF1260_ko_cobra.csv"
    else:
        model = load_cbmodel(SBML_FILE, flavor="cobra")
        fileRes = basePath + "Results/optim_Ec_iAF1260_ko.csv"

    simulProb = StoicSimulationProblem(
        model,
        objective={"Ec_biomass_iAF1260_core_59p81M": 1},
        withCobraPy=withCobraPy)
    evalFunc = build_evaluation_function("targetFlux",
                                         ["Ec_biomass_iAF1260_core_59p81M"])
    result = cbm_strain_optim(simulProb,
                              evaluationFunc=evalFunc,
                              levels=None,
                              isMultiProc=isMultiProc,
                              candidateSize=size,
                              resultFile=fileRes)  # KO_Reaction by default
    result.print()
Exemplo n.º 15
0
if __name__ == "__main__":
    # First Step
    # Load the Model: Cobra or Framed
    optimmodels_path = os.path.dirname(optimModels.__file__)
    ecoli_model = os.path.join(optimmodels_path, "examples", "models",
                               "Ec_iAF1260.xml")  # path to the model file
    framed_model = load_cbmodel(filename=ecoli_model, flavor="cobra")

    # Second Step
    # Evaluating Function         # different functions require different arguments
    ec_stoic_biomass = "R_Ec_biomass_iAF1260_core_59p81M"
    ec_stoic_succinate = "R_EX_succ_e"
    stoic_eval_function = build_evaluation_function(
        "WYIELD",  # evaluating function id
        ec_stoic_biomass,  # biomass reaction id
        ec_stoic_succinate,  # target reaction id
        alpha=0.3,  # percentage of maximum target considered
        minBiomassValue=0.03135  # minimum biomass for viable solution
    )

    # Third Step
    # Run Optimization
    result = stoic_optimization(
        model=framed_model,
        optim_type="KO",  # "KO", "UO", "MEDKO", "MEDUO", "KO+MEDKO"
        eval_func=stoic_eval_function,
        constraints={},  # contraints format: {"reac_id": (lb, up), ...}
        critical_proteins="auto",  # can also use a list of reactions
        isMultiProc=False,  # replace with True to use multi-processing
        size=10,  # chose max number of alterations, None uses default
        output_file="optimization_results.csv"  # chose path of the results file
Exemplo n.º 16
0
        logger.debug(
            'completed parallel_evaluation_mp in {0} seconds'.format(end -
                                                                     start))
        # print("--- %s seconds ---" % (time.time() - start), 'end_pop')
        return [r.get()[0] for r in results]


model = GeckoModel('single-pool')
const = {'r_1714_REV': (0, 1)}
simulProblem = GeckoSimulationProblem(model, const)
ids = [
    x for x in simulProblem.model.proteins
    if x not in simulProblem.objective.keys()
]
decoder = DecoderProtKnockouts(ids)
evalFunc = build_evaluation_function("targetFlux", ["r_2056"])

eaConfig = EAConfigurations()
optimProbConf = OptimProblemConfiguration(
    simulProblem,
    type=optimType.PROTEIN_KO,
    decoder=decoder,
    evaluationFunc=evalFunc,
    EAConfig=eaConfig,
    scaleProblem=GeckoConfigurations.SCALE_CONSTANT)

candidates = [{321, 51}, {65, 130, 259, 146, 660, 91},
              {488, 266, 235, 558, 119, 220}, {81, 431}, {160, 425, 162, 606},
              {97, 330, 654, 212, 671}, {419, 589, 398, 302, 275, 214},
              {64, 648, 275, 221, 574}, {11, 308, 21, 614}, {18, 77, 222},
              {426, 60}, {110, 667, 358}, {290, 387, 362, 119, 223},
Exemplo n.º 17
0
def ko_jahan():
    sbmlFile = '/Volumes/Data/Documents/Projects/DeCaF/Optimizations/Data/Jahan2016_chemostat_fixed.xml'
    fileRes = "/Volumes/Data/Documents/Projects/DeCaF/Optimizations/Results/optim_Jahan_Suc_ko.csv"
    mapParamReacs = {
        "vE_6PGDH": ["v6PGDH_max"],
        "vE_Ack": ["vAck_max"],
        "vE_Ack_medium": ["vAck_max"],
        "vE_Cya": ["vCya_max"],
        "vE_Eda": ["vEda_max"],
        "vE_Edd": ["vEdd_max"],
        "vE_Fum": ["Fum"],
        "vE_G6PDH": ["vG6PDH_max"],
        "vE_MDH": ["MDH"],
        "vE_Pgi": ["vPgi_max"],
        "vE_Pgl": ["vPgl_max"],
        "vE_Pta": ["vPta_max"],
        "vE_R5PI": ["vR5PI_max"],
        "vE_Ru5P": ["vRu5P_max"],
        "vE_Tal": ["vTal_max"],
        "vE_TktA": ["vTktA_max"],
        "vE_TktB": ["vTktB_max"],
        "vE_cAMPdegr": ["vcAMPdegr_max"],
        "vNonPTS": ["vNonPTS_max"],
        "vNonPTS_medium": ["vNonPTS_max"],
        "vPTS4": ["vPTS4_max"],
        "vPTS4_medium": ["vPTS4_max"],
        "vE_AceKki": ["AceK"],
        "vE_AceKph": ["AceK"],
        "vE_Acs": ["Acs"],
        "vE_Acs_medium": ["Acs"],
        "vE_CS": ["CS"],
        "vE_Fba": ["Fba"],
        "vE_Fbp": ["Fbp"],
        "vE_GAPDH": ["GAPDH"],
        "vE_Glk": ["Glk"],
        "vE_ICDH": ["ICDH"],
        "vE_Icl": ["Icl"],
        "vE_MS": ["MS"],
        "vE_Mez": ["Mez"],
        "vE_PDH": ["PDH"],
        "vE_Pck": ["Pck"],
        "vE_Pfk": ["Pfk"],
        "vE_Ppc": ["Ppc"],
        "vE_Pps": ["Pps"],
        "vE_Pyk": ["Pyk"],
        "vE_SDH": ["SDH"],
        "vE_aKGDH": ["aKGDH"]
    }

    model = load_kinetic_model(sbmlFile, mapParamReacs)

    objFunc = build_evaluation_function("targetFlux", ["vD_SUC"])
    simulProblem = KineticSimulationProblem(
        model, tSteps=[0, KineticConfigurations.STEADY_STATE_TIME])
    result = kinetic_strain_optim(simulProblem,
                                  objFunc=objFunc,
                                  levels=LEVELS,
                                  isMultiProc=False,
                                  candidateSize=size,
                                  resultFile=fileRes)
    result.print()
Exemplo n.º 18
0

if __name__ == "__main__":
    # First Step:
    # Loading the model
    optimmodels_path = os.path.dirname(optimModels.__file__)
    example_chassagnole_path = os.path.join(optimmodels_path, "examples", "models", "chassagnole2002.xml")
    example_chassagnole_kmap = build_chassaganole_map()
    ex_kinetic_model = load_kinetic_model(
        filename = example_chassagnole_path,
        kmap = OrderedDict(example_chassagnole_kmap)
        )

    # Second Step
    # Evaluation Function
    example_evaluation = build_evaluation_function("targetFlux", ["vPK"])

    # Third Step
    # Optimization
    results = kinetic_optimization(
        model = ex_kinetic_model,
        optim_type = "KO",  # KO or KO
        eval_func = example_evaluation,
        critical_parameters = [],  # list of paramters ids str to avoid in optmization
        isMultiProc = False,  # replace with True to use multi-processing
        size = 10,  # chose max number of alterations, None uses default
        output_file = "optimization_results.csv"
        )
    for result in results:
        result.print()