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:
  • fluxConsistentMetBoolm x 1 boolean vector indicating flux consistent mets

  • fluxConsistentRxnBooln x 1 boolean vector indicating flux consistent rxns

  • fluxInConsistentMetBoolm x 1 boolean vector indicating flux inconsistent mets

  • fluxInConsistentRxnBooln 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

  1. 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:
  • signedCyclicFluxConsistentMetBoolm x 1 boolean vector indicating flux consistent mets

  • signedCyclicFluxConsistentRxnBooln 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)