Flux analysis#
MATLAB functions in GECKO/src/flux_analysis of the GECKO toolbox.
Functions#
Function |
Summary |
|---|---|
Run Flux-Scanning with Enforced Objective Function for a target. |
|
Run flux variability analysis on an ecModel. |
|
Parsimonious FBA minimising total enzyme usage. |
|
Plot cumulative distribution functions of ecFVA results. |
Reference#
ecFSEOF#
function fseof = ecFSEOF(model,prodTargetRxn,csRxn,varargin)
Run Flux-Scanning with Enforced Objective Function for a target.
Runs Flux-Scanning with Enforced Objective Function (FSEOF) for a specified production target, to identify reaction and gene targets for metabolic engineering.
Parameters
model: structan ecModel in GECKO 3 format (with ecModel.ec structure).
prodTargetRxn: charrxn ID for the production target reaction, an exchange reaction is recommended.
csRxn: charrxn ID for the main carbon source uptake reaction.
Name-Value Arguments
nSteps: doublenumber of steps for suboptimal objective in FSEOF (default 16).
outputFile: logicalboolean option to save results in a file (default false).
filePath: charfile path for results output. It will store two files: at the genes level, ecFSEOF_genes.tsv; and at the reactions level, ecFSEOF_rxns.tsv (default: the 'output' sub-folder taken from modelAdapter, e.g. output/ecFSEOF_rxns.tsv).
modelAdapter: ModelAdaptera loaded model adapter (default: the current default model adapter).
Returns
fseof: structa structure with all results.
Notes
The fseof structure has the following fields:
alpha : target production used for enforced objective limits (from minimum to maximum production).
v_matrix : fluxes for each target reaction predicted and each alpha.
rxnTargets : a list with all reactions with fluxes that change consistently as target production increases. Contains ID, name, slope, gene rule, and equation.
transportTargets : a list with all transport reactions with fluxes that change consistently as target production increases. Contains ID, name, slope, gene rule, and equation.
geneTargets : a list with all selected targets that increase production. Contains gene, shortName, slope, action, and essentiality.
Examples
% optional arguments may be given positionally or as name-value pairs:
fseof = ecFSEOF(model,prodTargetRxn,csRxn,nSteps,outputFile,filePath,modelAdapter);
fseof = ecFSEOF(model,prodTargetRxn,csRxn,'nSteps',32);
ecFVA#
function [minFlux, maxFlux] = ecFVA(ecModel, model, varargin)
Run flux variability analysis on an ecModel.
Flux variability analysis is performed on the ecModel, and isozymic reactions are combined to construct output minFlux and maxFlux vectors, which follow the same order of model.rxns. The output from this function does not include enzyme usage reactions; to observe these, one could consider running flux variability directly on the ecModel.
Parameters
ecModel: structan ecModel in GECKO 3 format (with ecModel.ec structure).
model: structnon-ecModel variant of the ecModel, to which the minFlux and maxFlux will be mapped.
Name-Value Arguments
runParallel: logicalspeed up calculations by parallel processing. Requires the MATLAB Parallel Computing Toolbox. If this is not installed, the calculations will not be parallelized, regardless of what is indicated as runParallel (default true).
Returns
minFlux: doublevector of minimum flux rates, corresponding to model.rxns.
maxFlux: doublevector of maximum flux rates, corresponding to model.rxns.
Examples
[minFlux, maxFlux] = ecFVA(ecModel, model);
See also
mapRxnsToConv, plotEcFVA
getPfbaEnzymes#
function solution = getPfbaEnzymes(model, varargin)
Parsimonious FBA minimising total enzyme usage.
Among all flux distributions at (or within a fraction of) the optimal value of the current objective, finds the one that minimises total enzyme usage: the smallest sum of usage_prot_* fluxes. This is the enzyme-aware analogue of classical pFBA, which minimises total flux instead --- for ecModels this usually picks the most parsimonious proteome, not just the most parsimonious fluxes.
Parameters
model: structa full ecModel in GECKO 3 format (with ecModel.ec structure and usage_prot_
reactions). Not supported for gecko-light models.
Name-Value Arguments
rxnId: charreaction id to use as the objective instead of model.c as given (default: use model.c as given).
fractionOfOptimum: doublefraction of the optimal objective value to fix before minimising enzyme usage (default 1.0).
Returns
solution: structx : flux distribution (indexed by model.rxns) at the enzyme-usage-minimising solution.
getEnzymeUsage : the minimised sum of usage_prot_* fluxes.
objectiveValue : the fixed objective's own value at this solution.
stat : solveLP exit flag.
Examples
solution = getPfbaEnzymes(ecModel);
solution = getPfbaEnzymes(ecModel, 'fractionOfOptimum', 0.9);
Notes
usage_prot_
See also
getEnzymeBottlenecks
plotEcFVA#
function plotEcFVA(minFlux, maxFlux)
Plot cumulative distribution functions of ecFVA results.
Plots cumulative distribution functions of ecFVA results from one or more ecModel(s) and/or GEM(s).
Parameters
minFlux: doublevector of minimum flux values, coming from ecFVA. If multiple ecModels/GEMs are to be visualized, then each column represents a separate model.
maxFlux: doublevector of maximum flux values, matching minFlux.
See also
ecFVA