Fluxconsistency¶
- findFluxConsistentSubset(model, param, printLevel)[source]¶
Finds the subset of S that is flux consistent using various algorithms, but fastcc from fastcore by default
- USAGE:
[fluxConsistentMetBool, fluxConsistentRxnBool, fluxInConsistentMetBool, fluxInConsistentRxnBool, model] = findFluxConsistentSubset (model, param, printLevel)
- INPUTS:
model – structure with fields:
.S - m x n stoichiometric matrix
.mets - m x 1 cell array of metabolite identifiers
.b - m x 1 right hand side values for metabolite constraints
.csense - m x 1 constraint senses (‘E’, ‘L’, ‘G’)
.rxns - n x 1 cell array of reaction identifiers
.lb - n x 1 lower bounds on fluxes
.ub - n x 1 upper bounds on fluxes
.c - n x 1 objective coefficients
.rev - the 0-1 vector with 1’s corresponding to the reversible reactions (if using swiftcc)
- OPTIONAL INPUTS:
param – can contain: * param.LPsolver - the LP solver to be used * param.epsilon - minimum nonzero flux, default feasTol*10
Note that fastcc is very sensitive to the value of parm.epsilon
param.modeFlag - {(0),1} 1 = return flux modes
param.method - {‘swiftcc’, (‘fastcc’), ‘dc’,’fastB’}
param.reduce - {(0),1} 1 = return fluxConsistModel
param.signedCyclicFluxConsistency -
{(0),1} 1 = identify reactions that are forward flux consistent for a forward cycle, or reverse flux consistent for a reverse cycle * param.printLevel - verbose level (used if the printLevel argument is not given)
printLevel – verbose level
- OUTPUTS:
fluxConsistentMetBool – m x 1 boolean vector indicating flux consistent mets
fluxConsistentRxnBool – n x 1 boolean vector indicating flux consistent rxns
fluxInConsistentMetBool – m x 1 boolean vector indicating flux inconsistent mets
fluxInConsistentRxnBool – n x 1 boolean vector indicating flux inconsistent rxns
model – structure with fields duplicating the single output arguments:
.fluxConsistentMetBool
.fluxConsistentRxnBool
.fluxInConsistentMetBool
.fluxInConsistentRxnBool
fluxConsistModel – COBRA model structure containing only the flux consistent reactions (and their metabolites), or the unmodified model if all reactions are already flux consistent
- findSignedCyclicFluxConsistentSubset(model, param)[source]¶
Find the subset of reactions that is signed, cyclically flux consistent Reaction j is said to be signed, cyclically flux consistent if
there exists a v, such that N*v = 0
- and either (2.1) or (2.2) hold, where
(2.1) v(j) >= param.epsilon (2.2) v(j) <= -param.epsilon
- and either (3.1) or (3.2) hold, where
(3.1) v(k) >= 0, for all k in 1..n, except k = j (3.2) v(k) <= 0, for all k in 1..n, except k = j
where N is an (internal) stoichiometric matrix
- USAGE:
[signedCyclicFluxConsistentMetBool, signedCyclicFluxConsistentRxnBool, modelOut, fluxConsistModel] = findSignedCyclicFluxConsistentSubset (model, param)
- INPUTS:
model – structure with fields:
.S - m x n stoichiometric matrix
.SConsistentRxnBool - n x 1 boolean vector indicating stoichiometrically consistent reactions (used when param.internal is true)
.b - m x 1 right hand side values for metabolite constraints
.c - n x 1 objective coefficients (set to zero internally)
.osenseStr - objective sense string (set internally to ‘min’)
- OPTIONAL INPUTS:
param – can contain: * param.LPsolver - the LP solver to be used * param.epsilon - minimum nonzero flux, default feasTol*10
Note that fastcc is very sensitive to the value of parm.epsilon
param.modeFlag - {(0),1} 1 = return flux modes
param.internal - {(1), 0} 1 = restrict computation to internal (stoichiometrically) consistent reactions only
param.nullspaceBasis - {(1), 0} 1 = use the nullspace basis of .S to skip reactions with no support in the nullspace
param.method - method used to test signed cyclic flux consistency (default ‘2LP’, the only method currently implemented)
param.testModelFeasibility - {(0), 1} 1 = test the feasibility of the input model with optimizeCbModel before proceeding (default 0, assume feasible)
param.printLevel - verbose level
- OUTPUTS:
signedCyclicFluxConsistentMetBool – m x 1 boolean vector indicating flux consistent mets
signedCyclicFluxConsistentRxnBool – n x 1 boolean vector indicating flux consistent rxns
modelOut – structure with fields duplicating the single output arguments: * .signedCyclicFluxConsistentMetBool * .signedCyclicFluxConsistentRxnBool
fluxConsistModel – COBRA model structure; currently always equal to the input model (the reaction-removal step is disabled in this function)