FASTCORE

LP10(K, P, v, LPproblem, epsilon)

Finds a flux vector that maintains the activity of any active irreversible core reaction (K) yet minimises the activity of any non-core reaction (P). Implementation of LP-10 for input sets K, P (see FASTCORE paper)

USAGE:

V = LP10(K, P, v, epsilon)

LP10cvx(K, P, model, epsilon)

CPLEX implementation of LP-9 for input sets K, P (see FASTCORE paper)

USAGE:

V = LP9cvx(K, P, model, epsilon)

LP3(J, model, LPproblem, basis)

Implementation of LP-3 for input set J (see FASTCORE paper)

USAGE:

[v, basis] = LP3(J, model, basis)

LP7(J, model, LPproblem, epsilon, basis)

Implementation of LP-7 for input set J (see FASTCORE paper). Maximises the number of feasible fluxes in J whose value is at least epsilon

USAGE:

[v, basis] = LP7( J, model, epsilon, basis)

INPUTS:

J: indicies of irreversible reactions model: model LPproblem: LP problem epsilon: tolerance

OUTPUTS:

v: optimal steady state flux vector basis: basis

fastCoreWeighted(C, model, weights, epsilon)

Based on: The FASTCORE algorithm for context-specific metabolic network reconstruction, Vlassis et al., 2013, PLoS Comp Biol.

USAGE:

A = fastCoreWeighted( C, model, epsilon )

INPUTS:

C: List of reaction numbers corresponding to the core set

model Model structure, weights Weight vector for each reaction in the model

epsilon: Parameter (default: getCobraSolverParams(‘LP’, ‘feasTol’)*100; see Vlassis et al for more details)

OUTPUT:
A: A most compact model consistent with the applied constraints and

containing the desired core set reactions (as given in C)

fastcc(model, epsilon, printLevel, modeFlag, method)

The FASTCC algorithm for testing the consistency of a stoichiometric model. Output A is the consistent part of the model [A,V] = fastcc(model, epsilon, printLevel)

USAGE:

[A, modelFlipped, V] = fastcc(model, epsilon, printLevel, modeFlag, method)

INPUTS:

model: cobra model structure containing the fields:

  • S - m x n stoichiometric matrix

  • lb - n x 1 flux lower bound

  • ub - n x 1 flux uppper bound

  • rxns - n x 1 cell array of reaction abbreviations

OPTIONAL INPUTS:
model:
  • b - m x 1 change in concentration with time

  • csense - m x 1 character array with entries in {L,E,G}

  • C - k x n Left hand side of C*v <= d

  • d - k x n Right hand side of C*v <= d

  • dsense - k x 1 character array with entries in {L,E,G}

epsilon: smallest flux that is considered nonzero printLevel: 0 = silent, 1 = summary, 2 = debug

OPTIONAL INPUTS:

modeFlag: {(0),1}; 1=return matrix of modes V method: ‘original’ - default or ‘nonconvex’

OUTPUTS:

A: indices of flux consistent reactions in model orientation: n x 1 vector indicating the orientation of flux

consistency, where -1 means flux consistent in reverse direction only

V: n x k matrix such that S(:,A) * V(:,A) = 0 and |V(:,A)|’ * 1 > 0

fastcore(model, coreRxnInd, epsilon, printLevel)

Use the FASTCORE algorithm (‘Vlassis et al, 2014’) to extract a context specific model. FASTCORE algorithm defines one set of core reactions that is guaranteed to be active in the extracted model and find the minimum of reactions possible to support the core.

USAGE:

tissueModel = fastcore(model, coreRxnInd)

INPUTS:
model: (the following fields are required - others can be supplied)
  • S - m x 1 Stoichiometric matrix

  • lb - n x 1 Lower bounds

  • ub - n x 1 Upper bounds

  • rxns - n x 1 cell array of reaction abbreviations

coreRxnInd: indices of reactions in cobra model that are part of the

core set of reactions (called ‘C’ in ‘Vlassis et al, 2014’)

OPTIONAL INPUTS:
epsilon: smallest flux value that is considered nonzero

(default getCobraSolverParams(‘LP’, ‘feasTol’)*100)

printLevel: 0 = silent, 1 = summary, 2 = debug (default - 0)

OUTPUT:

tissueModel: extracted model

coreRxnBool: n x 1 boolean vector indicating core reactions

‘Vlassis, Pacheco, Sauter (2014). Fast reconstruction of compact context-specific metbolic network models. PLoS Comput. Biol. 10, e1003424.’

findSparseMode(J, P, singleton, model, LPproblem, epsilon, basis)

Finds a mode that contains as many reactions from J and as few from P. Returns its support, or [] if no reaction from J can get flux above epsilon

USAGE:

Supp = findSparseMode(J, P, singleton, model, LPproblem, epsilon)

INPUTS:

J: Indicies of irreversible reactions P: Reactions singleton: Takes only first instance from J, else takes whole J model: Model structure (for reference) LPproblem: LPproblem structure epsilon: Parameter (default: getCobraSolverParams(‘LP’, ‘feasTol’)*100; see Vlassis et al for more details)

OPTIONAL INPUT:

basis: Basis

OUTPUTS:

Supp: Support or [] if no reaction from J can get flux above epsilon basis: Basis

findSparseModeWeighted(J, P, singleton, model, LPproblem, weights, epsilon)

Finds a mode that contains as many reactions from J and as few from P. Returns its support, or [] if no reaction from J can get flux above epsilon. Based on: The FASTCORE algorithm for context-specific metabolic network reconstruction. Input C is the core set, and output A is the reconstruction, Vlassis et al., 2013, PLoS Comp Biol.

USAGE:

Supp = findSparseMode( J, P, singleton, model, epsilon )

INPUTS:

J: Indicies of irreversible reactions P: Reactions singleton: Takes only first instance from J, else takes whole J model: Model structure LPproblem: The LP problem for the model structure weights: The weights associated with the reactions. epsilon: Parameter (default: getCobraSolverParams(‘LP’, ‘feasTol’)*100; see Vlassis et al for more details)

OUTPUT:

Supp: Support or [] if no reaction from J can get flux above epsilon