Enzyme usage#
MATLAB functions in GECKO/src/enzyme_usage of the GECKO toolbox.
Functions#
Function |
Summary |
|---|---|
Top-N enzymes limiting the current objective. |
|
Compute enzyme usages from a provided flux distribution. |
|
Summarize the results from getEnzymeUsage. |
Reference#
getEnzymeBottlenecks#
function bottlenecks = getEnzymeBottlenecks(model, varargin)
Top-N enzymes limiting the current objective.
Solves the model and ranks every enzyme by the absolute shadow price of
its prot_
Parameters
model: structa full ecModel in GECKO 3 format (with ecModel.ec structure). Not supported for gecko-light models, which have no per-enzyme prot_
/ usage_prot_ machinery.
Name-Value Arguments
top: doublenumber of enzymes to return (default 10).
Returns
bottlenecks: tableone row per returned enzyme, sorted by descending absolute shadow price, with columns uniprot, gene, shadowPrice, flux, capUsage (abs(flux)/upperBound, NaN if upperBound is 0) and upperBound.
Examples
bottlenecks = getEnzymeBottlenecks(ecModel);
bottlenecks = getEnzymeBottlenecks(ecModel, 'top', 5);
getEnzymeUsage#
function usageData = getEnzymeUsage(ecModel,fluxes,varargin)
Compute enzyme usages from a provided flux distribution.
Gives enzyme usages based on a provided flux distribution, as obtained from a full GECKO model. It can give:
absolute usage: the specific enzyme usage in mg/gDCW, which can be given for enzymes with- and without concentration information;
capacity usage: the ratio of available enzyme that is used, calculated by (absUsage/UB) (note that capacity usage is 0 if an enzyme concentration was not constrained in the model);
UB: the upper bound of each enzyme exchange reaction, which may not be the same as the enzyme concentration, if it has been flexibilized;
protID: the protein identifiers for each enzyme, in the same order as ecModel.ec.enzymes.
Parameters
ecModel: structan ecModel in GECKO 3 format (with ecModel.ec structure).
fluxes: doublevector of fluxes, for instance sol.x.
Name-Value Arguments
zero: logicalwhether also enzymes with zero absolute usage should be included (default true).
Returns
usageData: structstructure with enzyme usage data.
Notes
The usageData structure has the following fields:
capUsage : vector of enzyme capacity usages.
absUsage : vector of absolute enzyme usages.
UB : vector of enzyme exchange reaction upper bounds.
protID : string array of matching protein IDs.
fluxes : vector of fluxes, copy of input fluxes.
Examples
% optional arguments may be given positionally or as name-value pairs:
usageData = getEnzymeUsage(ecModel,fluxes,zero);
usageData = getEnzymeUsage(ecModel,fluxes,'zero',false);
See also
reportEnzymeUsage
reportEnzymeUsage#
function usageReport = reportEnzymeUsage(ecModel, usageData, varargin)
Summarize the results from getEnzymeUsage.
Ranks the enzymes from getEnzymeUsage into two tables: those with the highest capacity usage, and those with the highest absolute usage.
Parameters
ecModel: structa GECKO3 ecModel.
usageData: structoutput from getEnzymeUsage.
Name-Value Arguments
highCapUsage: doubleminimum fraction of enzyme capacity usage to be listed as high usage (default 0.9, i.e. at least 90% capacity usage).
topAbsUsage: doublehow many top enzymes by absolute usage to list (default 10). Use 0 or Inf to list all enzymes instead. Enzymes whose reactions carry no flux are never listed here, as they do not contribute to the solution.
Returns
usageReport: structhighCapUsage : table enzymes at or above the highCapUsage threshold. topAbsUsage : table the topAbsUsage enzymes with the highest absolute usage. totalUsageFlux : double total protein pool used, i.e. the upper bound of prot_pool_exchange.
Examples
% optional arguments may be given positionally or as name-value pairs:
usageReport = reportEnzymeUsage(ecModel, usageData, highCapUsage, topAbsUsage);
usageReport = reportEnzymeUsage(ecModel, usageData, 'topAbsUsage', 20);
See also
getEnzymeUsage