optimizeLP {BacArena}R Documentation

Function for computing the linear programming according to the model structure

Description

The generic function optimizeLP implements a linear programming based on the problem structure and refined constraints.

Usage

optimizeLP(
  object,
  lpob = object@lpobj,
  lb = object@lbnd,
  ub = object@ubnd,
  cutoff = 1e-06,
  j,
  sec_obj = "none",
  with_shadow = FALSE
)

## S4 method for signature 'Organism'
optimizeLP(
  object,
  lpob = object@lpobj,
  lb = object@lbnd,
  ub = object@ubnd,
  cutoff = 1e-06,
  j,
  sec_obj = "none",
  with_shadow = FALSE
)

Arguments

object

An object of class Organisms.

lpob

A linear programing object encoding the problem to solve.

lb

A numeric vector giving the constraint values of lower bounds.

ub

A numeric vector giving the constraint values of upper bounds.

cutoff

value used to define numeric accuracy while interpreting optimization results

j

debuging index to track cell

sec_obj

character giving the secondary objective for a bi-level LP if wanted. Use "mtf" for minimizing total flux, "opt_rxn" for optimizing a random reaction, "opt_ex" for optimizing a random exchange reaction, and "sumex" for optimizing the sum of all exchange fluxes.

with_shadow

True if shadow costs should be stored (default false).

Details

The parameter for sec_obj can be used to optimize a bi-level LP with a secondary objective if wanted. This can be helpful to subselect the solution space and create less alternative optimal solution. The secondary objective can be set to "mtf" to minimize the total flux, to simulate minimal enzyme usage of an organisms. If set to "opt_rxn" or "opt_ex", the secondary objective is picked as a random reaction or exchange reaction respectively everytime a fba is performed. This means that every individual of a population will select a different secondary reaction to optimize. The "sumex" option maximizes the secretion of products.

Value

Modified problem object according to the constraints and then solved with optimizeProb.

See Also

Organism-class, optimizeProb and sysBiolAlg

Examples

data(Ec_core, envir = environment()) #get Escherichia coli core metabolic model
org <- Organism(Ec_core,deathrate=0.05,
           minweight=0.05,growtype="exponential") #initialize a organism
org@fbasol <- optimizeLP(org)

[Package BacArena version 1.8.2 Index]