---------------------------------------------------------------------------------
Constrictor Framework
For use with MATLAB and COBRA
----------------------------------------------------------------------------------
0. SET UP
We do not provide the COBRA package or additional toolboxes needed to run COBRA in MATLAB.
Please visit the COBRA webpage (opencobra.sourceforge.net as of 11/2014) for COBRA set up instructions.
Scripts are currently written to call the Gurobi solver, also not provided.
1. SAMPLE MODEL & EXECUTABLE SCRIPT
The file "core_EcoliEFE.m" is executable, and is meant to serve a demonstration of the Constrictor framework.
The script uses the core E. coli model for ethylene production (Ecoli_core_EFE.xml), which is described in Erickson et. al. 2014.
Inputs required:
- minimum biomass requirement / growth rate (biomass = 0.3)
- objective (obj = 'eth' or 'grow')
- Run Constrictor, or just run FBA? (runConstrict = 'y' or 'n')
- If running Constrictor, set major and minor restriction factors: factors = [0.2, 0.8], between 0 and 1
- If running Constrictor, select study type:
- 'indiv' = each nonzero reaction, individually
- 'set' = specified Subsystem, eg 'Folate Metabolism'
- 'list' = specified list of reactions, eg {'ACONTa', 'ACONTb', etc}
- SetorList = one string for set, list of strings for list
2. ADDITIONAL CONSTRICTOR FUNCTIONS
Other .m files are functions called by the sample executable script (see 1.).
ContrictorCOBRA is the main hub, called when Constrictor is run. This script
steers the analysis towards the desired study type (ConstrictorIndiv, ConstrictSet, or ConstrictList).
The ConstrictorAnalysis function is also called from ConstrictorCOBRA.
3. OUTPUT
The results of the Constrictor analysis are present in the "solve" structure. The
architecture is as follows:
I. solve
i. baseSolution: vector (# of reactions x 1) containing baseline FBA solution
ii. rxnsStudy: vector (1 x # of target reactions) containing all reactions modified by Constrictor, either individually or together
iii. constSolutions: matrix (# of reactions x number of expression states) containing all flux vectors obtained by Constrictor, in columns
iv. eachMod: vector (1 x # of expression states) containing the reaction targeted in each column of the constSolutions matrix
v. modLB: vector (1 x # of expression states) containing the lower bounds of the modified reactions (prior to adjustment)
vi. modUB: vector (1 x # of expression states) containing the upper bounds of the modified reactions (prior to adjustment)
vii. analysis: structure containing summary of information
a. yield: vector (1 x # of expression states) containing the product/substrate yield for each Constrictor expression state (corresponding to columns in constSolutions)
b. PR: vector (1 x # of expression states) containing the product production rate for each expression state (corresponding to columns in constSolutions)
c. baseyield: yield in the baseline solution
d. basePR: production rate in the baseline solution
e. maxdY: maximum change in yield, as a % (with respect to baseline)
f. mindY: minimum change in yield, as a % (with respect to baseline)
g. uniqueSolutions: simplified constSolutions, with only unique flux vectors
4. CITATION
If you find Constrictor to be useful in your work, please cite us:
Erickson KE, Gill RT, Chatterjee A (2014) CONSTRICTOR: Constraint Modification Provides Insight into Design of Biochemical Networks.
PLoS ONE 9(11): e113820. doi:10.1371/journal.pone.011382