Learn R Programming

sybilcycleFreeFlux (version 2.0.2)

cfFBA: cycle free flux

Description

finds a cycle free flux distribution given a flux distribution and a network model.

Usage

cfFBA(model, wtflux, objVal = NA #min objval
	,fixExchRxn=TRUE
	,excReactPos=NULL
	 ,lpdir = SYBIL_SETTINGS("OPT_DIRECTION")
	 ,solver = SYBIL_SETTINGS("SOLVER")
         ,method = SYBIL_SETTINGS("METHOD")
		 ,tol=SYBIL_SETTINGS("TOLERANCE")
         ,solverParm=NA
		,verboseMode = 2
		,safeBounds=FALSE # 
######### ADDED BY GABRIEL ###############
		,retOptSol = TRUE)

Arguments

model

An object of class modelorg.

wtflux

initial flux distribution that may contain loops.

objVal

value of the objective function.

fixExchRxn

a logical value default is true, which indicates that the exchange reactions should be fixed or not.

excReactPos

list of the exchange reactions that can be sent to avoid recalculation

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

additional parameters to the solver

tol

tolerance of resulting solution

safeBounds

can be used to deal with false infeasibility state returned by solvers

verboseMode

level of displaying messages.

retOptSol

If set to TRUE, the function returns an object of class '>optsol_optimizeProb, otherwise a list.

Value

return a list that contains the status of the solution , the objective value and the fluxes that are free of cycles.

References

Desouki, Abdelmoneim Amer, et al. "CycleFreeFlux: efficient removal of thermodynamically infeasible loops from flux distributions." Bioinformatics 31.13 (2015): 2159-2165.

See Also

modelorg

Examples

Run this code
# NOT RUN {
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.
data(iAF1260)
model=iAF1260
fba=optimizeProb(model)
cfopt=cfFBA(model,wtflux=getFluxDist(fba),objVal=lp_obj(fba), retOptSol=FALSE)
llflx=cfopt$fluxes
flx=getFluxDist(fba)
# }
# NOT RUN {
layout(matrix(c(1,2,3,1,2,3), 2, 3, byrow = TRUE))
hist(log10(abs(flx[abs(llflx-flx)>1e-3])),main="loop flux",col="lightblue")
hist(log10(abs(llflx[abs(llflx-flx)>1e-3])),main="after removing loops",col="orange")
hist(log10(abs(flx[abs(llflx-flx)<1e-3])),main="fluxes not in loops",col="lightgreen")
# }
# NOT RUN {
## The function is currently defined as
"cfFBA"
# }

Run the code above in your browser using DataLab