sparseFBA¶
- findSparsePathway(model, rxnPenalty, param)¶
input a cobra model and find a sparse pathway given penalties on certain reactions being active rxnPenalty(j)>0 and incentives on certain reactions being active rxnPenalty(j)<0 and indifferent to the activity of other reactions rxnPenalty(j)==0
- sparseFBA(model, osenseStr, checkMinimalSet, checkEssentialSet, zeroNormApprox, printLevel)¶
Finds the minimal set of reactions subject to a LP objective
\[\begin{split}min ~&~ ||v||_0 \\ s.t ~&~ S v \leq, = or \geq b \\ ~&~ c^T v = f* \\ ~&~ l \leq v \leq u\end{split}\]where \(f*\) is the optimal value of objective (default is \(max c^T v\)).
USAGE:
[vSparse, sparseRxnBool, essentialRxnBool] = sparseFBA(model, osenseStr, checkMinimalSet, checkEssentialSet, zeroNormApprox, printLevel)
- INPUT:
- model: (the following fields are required - others can be supplied):
S - Stoichiometric matrix
b - Right hand side = dx/dt
c - Objective coefficients
lb - Lower bounds
ub - Upper bounds
- OPTIONAL INPUTS:
- model: (optional for C*v<=d):
C - Stoichiometric matrix
d - Right hand side = dx/dt
osenseStr: (default = ‘max’)
max: \(f* = argmax \{max\ c^T v: Sv \leq, = or \geq b, l \leq v \leq u\}\)
min: \(f* = argmin \{min\ c^T v: Sv \leq, = or \geq b, l \leq v \leq u\}\)
none: ignore the constraint \(c^T v = f*\)
- checkMinimalSet: {0,(1)} Heuristically check if the selected set of reactions is minimal
by removing one by one the predicted active reaction
true = check (default value)
false = do not check
checkEssentialSet: {0,(1)} Heuristically check if the selected set of reactions is essential zeroNormApprox: appoximation type of zero-norm (only available when minNorm = ‘zero’) (default = ‘cappedL1’)
‘cappedL1’ : Capped-L1 norm
‘exp’ : Exponential function
‘log’ : Logarithmic function
‘SCAD’ : SCAD function
‘lp-’ : \(L_p\) norm with \(p < 0\)
‘lp+’ : \(L_p\) norm with \(0 < p < 1\)
‘l1’ : L1 norm
‘all’ : try all approximations and return the best result
printLevel: Printing level
0 - Silent (Default)
1 - Summary information
- OUTPUT:
vSparse: Depends on the set of reactions sparseRxnBool: Returns a vector with 1 and 0’s, where 1 means sparse essentialRxnBool: Returns a vector with 1 and 0’s, where 1 means essential