findFluxGeneExpr: function to find minimum set of required genes to get a given...

Description Usage Arguments Value Author(s) See Also Examples

View source: R/findFluxGeneExpr.R

Description

given a flux distribution, use gpr to formulate a MILP to find minimal set of required genes such that any GPR rule of a reaction carrying a nonzero flux must be evaluated to TRUE.

Usage

1
2
3
4
findFluxGeneExpr(model, fluxes, threshold = 1e-06, 
      lpdir = SYBIL_SETTINGS("OPT_DIRECTION"), 
      solver = SYBIL_SETTINGS("SOLVER"), method = SYBIL_SETTINGS("METHOD"), 
      solverParm = SYBIL_SETTINGS("SOLVER_CTRL_PARM"), verboseMode = 2)

Arguments

model

An object of class modelorg.

fluxes

The flux distribution that we want to find the minimal set of genes able to produce it.

threshold

Threshold in flux default value 1e-6. Fluxes with magnitude less than threshold are considered zeros.

lpdir

Character value, direction of optimisation. Can be set to "min" or "max".
Default: SYBIL_SETTINGS("OPT_DIRECTION").

solver

Single character value. The solver to use. See SYBIL_SETTINGS for possible values.
Default: SYBIL_SETTINGS("SOLVER").

method

Single character value. The optimization algorithm to use. Possible values depend on the setting in solver. See SYBIL_SETTINGS for possible values.
Default: LP_METHOD(SYBIL_SETTINGS).

solverParm

A data frame containing parameters for the specified solver.
Default: SOLVER_CTRL_PARM(SYBIL_SETTINGS).

verboseMode

An integer value indicating the amount of output to stdout: 0: nothing, 1: status messages, 2: like 1 plus with more details, 3: generates files of the LP problem.
Default: 2.

Value

return list of genes with State: "ON" if it is required, "OFF": when it is not required.

Author(s)

Abdelmoneim Amer Desouki

See Also

modelorg, optimizeProb, eFBA_gene

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
## Not run: 

 data(iAF1260)
 model=iAF1260
 allgenes=allGenes(model)
 exoff=cbind(LOCUS=allgenes,State=rep(0,length(allgenes)));

 testgpr=(gpr(model)!="")
 table(testgpr)
 

 slvr="glpkAPI"
 seroff = eFBA_gene(model, exoff,solver=slvr,verbose=3,
          testgpr=testgpr,Tf=0.0001)
 mnflx=optimizeProb(model, algorithm = "mtf",solver=slvr);
 sfba=optimizeProb(model,solver=slvr)
 
 
 eFBAg_flx=seroff$rxn[, "newFlux"]
 geFBA=findFluxGeneExpr(model,fluxes(sfba)[fldind(sfba)],
         threshold=0.0001,verboseMode=4)
 gemnFBA=findFluxGeneExpr(model,fluxes(mnflx)[fldind(mnflx)],
         threshold=0.0001,verboseMode=4)
 
 geEFBAg=findFluxGeneExpr(model,as.numeric(seroff$rxn[, "newFlux"]),
        threshold=0.0001,verboseMode=4)
 
 # The minimum number of genes required to get each of the three fluxes
 print(cbind(EFBA_reqGenes=sum(geEFBAg$State=="ON"),
         minTotFlx_reqGene=sum(gemnFBA$State=="ON"),
       FBA_reqGenes=sum(geFBA$State=="ON")) )

## End(Not run)

sybilEFBA documentation built on May 29, 2017, 9:35 a.m.