Eflux

applyEFluxConstraints(model, expression, varargin)[source]

Implementation of the EFlux algorithm as described in: Interpreting Expression Data with Metabolic Flux Models: Predicting Mycobacterium tuberculosis Mycolic Acid Production Colijn C, Brandes A, Zucker J, Lun DS, Weiner B, et al. (2009) PLOS Computational Biology 5(8): e1000489. https://doi.org/10.1371/journal.pcbi.1000489

USAGE:

constraintModel = applyEFluxConstraints (model, expression, varargin)

INPUTS:
  • model – COBRA model structure with fields:

    • .rxns - reaction identifiers, used to map targets and to name flexibility variables

    • .lb - lower flux bounds, reset and rescaled from the expression

    • .ub - upper flux bounds, reset and rescaled from the expression

  • expression – struct with two fields required and one optional field:

    • .target - the names of the target (rxns or genes)

    • .value - the value for the target. Positive values for all constraint reactions, negative values for unconstraint reactions.

    • .preprocessed - Indicator whether the provided targets are genes (false), or reactions (true). Default: false

OPTIONAL INPUTS:

varargin – Parameters given as struct or parameter/value pairs:

  • minSum - Switch for the processing of Genetic data. If false, ORs in the GPR will be treated as min. If true (default), ORs will be treated as addition.

  • softBounds - Whether to use soft bounds for the infered constraints or to add flexibility variables (default: false).

  • weightFactor - The weight factor for soft bounds (default: 1)

OUTPUTS:

constraintModel – the input model with flux bounds constrained according to the expression data

Note

All Flux bounds will be reset by this function, i.e. any enforced fluxes (like ATP Maintenance) will be removed!

Note

Implementation of the EFlux algorithm as described in: Interpreting Expression Data with Metabolic Flux Models: Predicting Mycobacterium tuberculosis Mycolic Acid Production Colijn C, Brandes A, Zucker J, Lun DS, Weiner B, et al. (2009) PLOS Computational Biology 5(8): e1000489. https://doi.org/10.1371/journal.pcbi.1000489

eFlux(model, controlExpression, conditionExpression, varargin)[source]

Calculate the objective fold change according to the eFlux approach for expression integration as described in: Interpreting Expression Data with Metabolic Flux Models: Predicting Mycobacterium tuberculosis Mycolic Acid Production Colijn C, Brandes A, Zucker J, Lun DS, Weiner B, et al. (2009) PLOS Computational Biology 5(8): e1000489. https://doi.org/10.1371/journal.pcbi.1000489

USAGE:

[foldChange,standardError] = eFlux (model,controlExpression,conditionExpression,varargin)

INPUTS:
  • model – The COBRA model struct to use, with fields:

    • .lb - lower flux bounds (reset when enforcing bounds are present)

    • .ub - upper flux bounds (reset when enforcing bounds are present)

    • .rxns - reaction identifiers

  • controlExpression – struct for the control expression with two fields required and one optional field: * .target - the names of the target (rxns or genes) * .value - the value for the target. Positive values for all constraint reactions, negative values for unconstraint reactions. * .preprocessed - Indicator whether the provided targets are genes (false), or reactions (true) Default: false

  • conditionExpression – struct for the condition expression (fields are the same as controlExpression)

OPTIONAL INPUT:

varargin – parameters given as struct or parameter/value pairs. * testNoise - indicator whether to run multiple calculations with added noise to get a significance of the fold change. Requires either a noise function and a standard deviation of noise (‘noiseFun’ and ‘noiseStd’ respectively) or a controlData struct and a noise function. * noiseCount - number of noisy controls to create if noise is tested (default: 10) * noiseFun - The noise function to use, has to be a function handle taking 2 arguments (mean and std) * noiseStd - The standard deviation(s) to use. Either a single value (used for all values, or a vector with length equal to controlExpression.value). * controlData - a struct (like controlExpression which has a value matrix with multiple values per controlExpression to determine the noise distribution. If provided with testNoise == false, the values from this struct will be used to determine the noise. * minSum: Switch for the processing of Genetic data. If false, ORs in the GPR will be treated as min. If true(default), ORs will be treated as addition. * softBounds: Whether to use soft bounds for the infered constraints or to add flexibility variables (default: false). * weightFactor: The weight factor for soft bounds (default: 1)

OUTPUTS:
  • foldChange – The fold change between the objective of the condition and the objective of the control expression

  • standardError – The error if noise is being used.

  • solControl – The solution of the given Control expression;

  • solCondition – The solution of the given Condition expression;

..Author: Thomas Pfau OCt 2018

Note

This si an implementation of the eFlux concept as presented in: Interpreting Expression Data with Metabolic Flux Models: Predicting Mycobacterium tuberculosis Mycolic Acid Production Colijn C, Brandes A, Zucker J, Lun DS, Weiner B, et al. (2009) PLOS Computational Biology 5(8): e1000489. https://doi.org/10.1371/journal.pcbi.1000489 Please note, that this code does not perform any preprocessing expcept for that described in the above paper after array normalization.

verifyEFluxExpressionStruct(model, expression)[source]

Verify the expression struct structure for EFlux

USAGE:

tf = verifyEFluxExpressionStruct (model,expression)

INPUTS:
  • model – The COBRA model struct for the checked expression struct, with field:

    • .genes - gene identifiers; all genes must be assigned when the targets are genes

  • expression – The expression struct to verify, with fields:

    • .value - values for each target

    • .target - names of the targets (reactions or genes)

    • .preprocessed - whether targets are reactions (true) or genes (false)

OUTPUT:

tf – Whether this struct is valid or not.