sysBiolAlg_fbaEasyConstraint-class: Class '"sysBiolAlg_fbaEasyConstraint"' and Class...

Description Details Objects from the Class Slots Extends Methods Author(s) References See Also Examples

Description

The classes sysBiolAlg_fbaEasyConstraint sysBiolAlg_mtfEasyConstraint hold an object of class optObj which is generated to meet the requirements of the FBA/MTF algorithm.
In Addition to this, it is very easy to add additional linear constraints to that linear problem. Each constraints is defined by the affected reaction, the coefficient, lower and upper bounds, and the constraint type.

Details

The problem object is built to be capable to perform flux balance analysis (FBA) with a given model, which is basically the solution of a linear programming problem

max c^T v s.t. Sv = 0 a_i <= v_i <= b_i for i = 1, ..., n

with S being the stoichiometric matrix, a_i and b_i being the lower and upper bounds for flux (variable) i respectively. The total number of variables of the optimization problem is denoted by n. The solution of the optimization is a flux distribution maximizing the objective function c^T v under the a given environment and the assumption of steady state. The optimization can be executed by using optimizeProb.

The additional i-th EasyConstraint will be added as follows to the problem: to be checked.

gamma_i <= v_{r^i} * (x_i)^T <= delta_i

Here r_i (= easyConstraint$react[[i]]) is a set of reaction indices and x_i (= easyConstraint$x[[i]]) is the corresponding set of coefficients. gamma and delta are the vectors of lower and upper bounds for the constraints, respectively. For the type of (in)equality (<=, ...) see the text above for parameter rtype.

Objects from the Class

Objects can be created by calls of the form

sysBiolAlg(model, algorithm = "fbaEasyConstraint", ...).

Arguments to ... which are passed to method initialize of class sysBiolAlg_fba are described in the Details section.

Slots

Slots are the same as in the original MTF/FBA classes. In addition, this slot is implemented:

easyConstraint

Named list holding the information for the constraints (see details):

  • react List of numeric vectors. Values indicate, to which reaction the constraint applys.

  • x List of numeric vectors. Values indicate coefficients of the constraint. Lengths have to be equal to react-field.

  • lb Numeric vector of lower bounds for constraints. If not given, a default bound of 0 will be used.

  • ub Numeric vector of lower bounds for constraints. If not given, a default bound of 0 will be used. Only needed for constraints, that need two bounds.

  • rtype Character vector defining the type of constraint.

    "F": free constraint (GLPK only) -INF < x < INF
    "L": constraint with lower bound lb <= x < INF
    "U": constraint with upper bound -INF < x <= ub
    "D": double-bounded (ranged) constraint lb <= x <= ub
    "E": fixed (equality) constraint lb = x = ub

    If rtype[i] is not one of "F", "L", "U", "D" or "E", the value of rtype[i] will be set to "E". See Details of loadLPprob.

Extends

Class "sysBiolAlg", directly.

Methods

No methods defined with class "sysBiolAlg_fbaEasyConstraint" in the signature.

Author(s)

Claus Jonathan Fritzemeier <clausjonathan.fritzemeier@uni-duesseldorf.de>

Maintainer: Mayo Roettger <mayo.roettger@hhu.de>

References

Edwards, J. S., Covert, M and Palsson, B. Ø. (2002) Metabolic modelling of microbes: the flux-balance approach. Environ Microbiol 4, 133–140.

Edwards, J. S., Ibarra, R. U. and Palsson, B. Ø. (2001) In silico predictions of Escherichia coli metabolic capabilities are consistent with experimental data. Nat Biotechnol 19, 125–130.

See Also

Constructor function sysBiolAlg and superclass sysBiolAlg.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  showClass("sysBiolAlg_fbaEasyConstraint")
  
  # see package vignette for second example with more comments:
  #vignette("sybil")
  
  #load model
  data(Ec_core)
  
  # allow influx of Fumarate and restrict outflux of Fumarate and Glucose
  lowbnd(Ec_core)[react_id(Ec_core) %in% c("EX_fum(e)")] <- -1000
  uppbnd(Ec_core)[react_id(Ec_core) %in% c("EX_glc(e)", "EX_fum(e)")] <- 0
  
  # see result
  findExchReact(Ec_core)
  optimizeProb(Ec_core)
  
  # define easyConstraint to have the same influx for Glucose and Fumarate:
  # EX_glc(e) = EX_fum(e)
  # here we omit the upper and lower bound, hence they are set to zero.
  ec <- list(
  	react=list(which(react_id(Ec_core) %in% c("EX_glc(e)", "EX_fum(e)"))),
  	x=list(c(1, -1)),
  	rtype="E")
  
  # optimize
  opt <- optimizeProb(Ec_core, algorithm=("fbaEasyConstraint"), easyConstraint=ec)
  
  # check if fluxes are really the same:
  fluxes(opt)[react_id(Ec_core) %in% c("EX_glc(e)", "EX_fum(e)")]
  
  
  
  
  
  
  

sybil documentation built on May 31, 2021, 5:08 p.m.