FR

bilinearDecomposition(S)

Converts a stoichiometric matrix into a bilinear form.

USAGE:

[A, B, C] = bilinearDecomposition(S)

INPUT:

S: m x n stoichiometric matrix

OUTPUTS:

A: m x (m + k) matrix selecting rows such that \(S = A B C\) B: (m + k) x (n + k) bilinear stoichiometric matrix C: (n + k) x n matrix adding columns to form net reaction stoichiometry such that \(S = A B C\)

An example “bilinearisation” of the reaction

\[\begin{split}~&~ A + B + C \leftrightarrow D + E\\\end{split}\]

is

\[\begin{split}~&~ A + B \leftrightarrow P \\ ~&~ P + C \leftrightarrow Q \\ ~&~ Q \leftrightarrow D + E\end{split}\]

where P and Q are faux molecular species.

checkFullRowRankFRK

Check for positive left nullspace basis when kinetic parameters are variables. If the sum of each column of If equals that of the corresponding column of Ir, then there exists a vector of ones in the left nullspace.

checkRankFR(model, printLevel)

Calculates the rank of [F R] and [F; R], when restricted to certain rows and columns

USAGE:

[rankFR, rankFRV, rankFRvanilla, rankFRVvanilla, model] = checkRankFR(model, printLevel)

INPUTS:

model: model structure printLevel: verbose level

OUTPUTS:

rankFR: rank of [F R], when using only FRrows rankFRV: rank of [F; R], when using only FRVcols rankFRvanilla: rank of [F R], when using all rows rankFRVvanilla: rank of [F; R], when using all cols model: structure with fields:

  • .FRrows - m x 1 boolean of rows of [F R] that are nonzero, unique upto positive scaling and part of the maximal conservation vector

  • .FRVcols - n x 1 boolean of cols of [F; R] that are nonzero, unique upto positive scaling and part of the maximal conservation vector

  • .FRirows - m x 1 boolean of rows of [F R] that are independent

  • .FRdrows - m x 1 boolean of rows of [F R] that are dependent

  • .FRwrows - m x 1 boolean of independent rows of [F R] that have dependent rows amongst model.FRdrows

  • .FRVdcols - n x 1 boolean of cols of [F; R] that are dependent

  • model.SConsistentMetBool - m x 1 boolean vector indicating metabolites involved in the maximal consistent vector

  • .SConsistentRxnBool - n x 1 boolean vector indicating metabolites involved in the maximal consistent vector

  • .FRnonZeroBool - m x 1 boolean vector indicating metabolites involved in at least one internal reaction

  • .FRuniqueBool - m x 1 boolean vector indicating metabolites with reaction stoichiometry unique upto scalar multiplication

  • .SIntRxnBool - n x 1 boolean vector indicating the non exchange reactions

  • .FRVnonZeroBool - n x 1 boolean vector indicating non exchange reactions with at least one metabolite involved

  • .FRVuniqueBool - n x 1 boolean vector indicating non exchange reactions with stoichiometry unique upto scalar multiplication

  • .connectedRowsFRBool - m x 1 boolean vector indicating metabolites in connected rows of [F R]

  • .connectedRowsFRVBool - n x 1 boolean vector indicating complexes in connected columns of [F; R]

  • .V - \(S V = 0\); \(1^T |V| > 1\) for all flux consistent reactions

connectedFR(F, R)

Computes the connected sets of rows of [F, R] and the largest connected set of columns of [F; R] using gamic

USAGE:

[connectedRowsFRBool, connectedColsFRVBool] = connectedFR(F, R)

INPUTS:

F: m x n R: m x n

OUTPUTS:

connectedRowsFRBool: m x z boolean vector indicating z sets of connected rows connectedColsFRVBool: n x z boolean vector indicating z sets of connected cols

extractFRfromResults

for i=1:12, depending on which model wanted

largestConnectedFR(F, R, printLevel)

Computes the largest connected set of rows of [F, R] and the largest connected set of columns of [F; R] using gamic

USAGE:

[connectedRowsFRBool, connectedColsFRVBool] = largestConnectedFR(F, R, printLevel)

INPUTS:

F: m x n R: m x n printLevel: verbose level

OUTPUTS:

connectedRowsFRBool: m x 1 boolean vector indicating largests set of connected rows connectedColsFRVBool: n x 1 boolean vector indicating largests set of connected cols

makeFRresultsTable(FRresults, resultsDirectory, resultsFileName, modelMetaData, tableFilename)

Makes a table of FR results

USAGE:

[FRresultsTable, FRresults] = makeFRresultsTable(FRresults, resultsDirectory, resultsFileName, modelMetaData, tableFilename)

INPUT:

FRresults: output of checkRankFRdriver

OPTIONAL INPUTS:

resultsDirectory: directory where output of checkRankFRdriver has been saved resultsFileName: filename where output of checkRankFRdriver has been saved modelMetaData: Cell array, where each row is metadata for one model

with five columns: species, version, fileName, PMID, doi. See function modelMetaData = modelCitations()

tableFilename: If provided, a the table of results is written out

to a csv file, with specified filename

OUTPUTS:

FRresultsTable: table displaying the results of checkRankFRdriver FRresults: output of checkRankFRdriver

plotFRresults(FRresults, nRows, nCols, resultsDirectory, resultsFileName, schematicFlag, modelMetaData)

Plots FR results in the same order as the FRresultsTable using FRresults structure or by loading the FRresults structure

USAGE:

plotFRresults(FRresults, nRows, nCols, resultsDirectory, resultsFileName, schematicFlag, modelMetaData)

INPUTS:

FRresults: output of checkRankFRdriver nRows: number of rows in the subplot nCols: number of rows in the subplot (\(nRows*nCols \geq length(FRresults)\))

OPTIONAL INPUTS:

resultsDirectory: directory where output of checkRankFRdriver has been saved resultsFileName: filename where output of checkRankFRdriver has been saved schematicFlag: default = 1 modelMetaData: metadata of model

printFRdependencies(model, filePathName)

Reports on the dependencies between rows of [F, R], either to the command line (default) or to a specified text file

USAGE:

printFRdependencies(model, filePathName)

INPUT:

model: model output from checkRankFR

OPTIONAL INPUT:

filePathName: full file name for printing dependencies to file

rowRankSufficientFR

forward and reverse half stoichiometric matrices

testBP

decompose B into F and R

testBilinearDecomposition

S2=model.S(:,[1,6]); S=S2(sum(S2~=0,2)~=0,:); disp(full(S))

testFRconnectedness

script to test the connectedness of an [F R]