Optforcegams¶
- exportInputsMustOrder2ToGAMS(model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, mustSetFirstOrder, inputFolder)[source]¶
This function exports all the inputs needed to run the GAMS functions to find second order Must Sets (MustUU, MustLL, MustUL). The inputs will be stored in inputFolder. Some inputs will be exported using GDXMRW and others will be exported as simple .txt files.
- USAGE
exportInputsMustOrder2ToGAMS (model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, mustSetFirstOrder, inputFolder)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce e.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce e.g.: maxFluxesW = [90; 56];
constrOpt – (structure) Structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array). E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
excludedRxns – (cell array) Reactions to be excluded to the MustUL set. This could be used to avoid finding transporters or exchange reactions in the set. Default: empty.
mustSetFirstOrder – (cell array) Reactions that belong to MustU and MustL (first order sets). Default: empty.
inputFolder – (string) Folder where inputs for GAMS function will be stored
- OUTPUTS
Reactions.txt – (file) File containing the identifiers for reactions
Metabolites.txt – (file) File containing the identifiers for metabolites
Constrains.txt – (file) File containing the identifiers for constrained reactions
Excluded.txt – (file) File containing the identifiers for excluded reactions. These reactions will not be considered in when running findMustXX.gms (XX = UU or LL or UL depending on the case)
MustSetFirstOrder.txt – (file) File containing the identifiers for reactions in MustL and MustU
MtoG.gdx – (file) File containing the parameters which will be read by GAMS (lower bounds, upper bounds, stoichiometrix matrix S, minimum and maximun fluxes for each reaction in the previous step of FVA, and the values for contrained reactions)
- exportInputsMustToGAMS(model, minFluxesW, maxFluxesW, constrOpt, inputFolder)[source]¶
This function export all the inputs needed to run the GAMS functions to find first order Must Sets (MustU, MustL). The inputs will be stored in inputFolder. Some inputs will be exported using GDXMRW and others will be exported as simple .txt files.
- USAGE
exportInputsMustToGAMS (model, minFluxesW, maxFluxesW, constrOpt, inputFolder)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: maxFluxesW = [90; 56];
constrOpt – (structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array). E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
inputFolder – (string) Folder where inputs for GAMS function will be stored
- OUTPUTS
Reactions.txt – (file) File containing the identifiers for reactions
Metabolites.txt – (file) File containing the identifiers for metabolites
Constrains.txt – (file) File containing the identifiers for constrained reactions
MtoG.gdx – (file) File containing the parameters which will be read by GAMS (lower bounds, upper bounds, stoichiometrix matrix S, minimum and maximun fluxes for each reaction in the previous step of FVA, and the values for contrained reactions)
- exportInputsOptForceToGAMS(model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, k, n_sets, constrOpt, excludedURxns, excludedLRxns, excludedKRxns, inputFolder)[source]¶
This function export the inputs required by GAMS to run optForce. Some inputs will be exported to plain text (.txt files) and others will be exported using GDXMRW. Inputs will be stored in inputFolder
- USAGE
exportInputsOptForceToGAMS (model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, k, nSets, constrOpt, excludedURxns, excludedLRxns, excludedKRxns, inputFolder)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
targetRxn – (string) string containing the ID for the reaction whose flux is intented to be increased. For example, if the production of succionate is desired to be increased, ‘EX_suc’ should be chosen as the target reaction. E.g.: targetRxn = ‘EX_suc’;
mustU – (cell array) List of reactions in the MustU set This input can be obtained by running the script findMustU.m. E.g.: mustU = {‘R21_f’;’R22_f’};
mustL – (cell array) List of reactions in the MustL set This input can be obtained by running the script findMustL.m. E.g.: mustL = {‘R11_f’;’R26_f’};
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. E.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. E.g.: maxFluxesW = [92; -86];
minFluxesM – (double array of size n_rxns x 1) Description: Minimum fluxes for each reaction in the model for mutant strain E.g.: minFluxesW = [-90; -56];
maxFluxesM – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for mutant strain. E.g.: maxFluxesW = [92; -86];
k – (double) number of intervations to be found
nSets – (double) maximum number of force sets returned by optForce.
constrOpt – (Structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array). E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
excludedURxns – (cell array) Reactions to be excluded from upregulations
excludedLRxns – (cell array) Reactions to be excluded from downregulations
excludedKRxns – (cell array) Reactions to be excluded from knockouts
inputFolder – (string) folder where inputs will be stored. Just the name of the folder, not the full path.
- OUTPUTS
Reactions.txt – (file) File containing the identifiers for reactions
Metabolites.txt – (file) File containing the identifiers for metabolites
Constrains.txt – (file) File containing the identifiers for constrained reactions
Excluded_U.txt – (file) File containing the identifiers for excluded reactions. These reactions will not be considered for upregulations when running optForce.gms
Excluded_L.txt – (file) File containing the identifiers for excluded reactions. These reactions will not be considered for downregulations when running optForce.gms
Excluded_K.txt – (file) File containing the identifiers for excluded reactions. These reactions will not be considered for knowckouts when running optForce.gms
MustU.txt – (file) File containing the identifiers for upregulated reactions find in MustU, MustUU and MustUL
MustU.txt – (file) File containing the identifiers for downregulated reactions find in MustL, MustLL and MustUL
MtoG.gdx – (file) File containing the parameters which will be read by GAMS (lower bounds, upper bounds, stoichiometrix matrix S, minimum and maximun fluxes for each reaction in the previous step of FVA, and the values for contrained reactions)
- exportSetToGAMS(set, fileName)[source]¶
This function exports the information in “set” to a .txt file which can be read by GAMS. “set” must be a cell array of strings.
- USAGE
[] = exportSetToGAMS (set, fileName)
- INPUTS
set – (cell array of strings) cell array containing identifiers for certain set of elements (reactions, metabolites, etc).
fileName – (string) Name of the file in which the information will be stored. It is recomended to add the extension of the file.
- OUTPUTS
fileName.txt – (file) File of name “fileName” containing the set of elements, one for row.
Example
exportSetToGAMS(model.rxns, ‘Reactions.txt’) %This, will export the list of elements in model.rxns to a file called Reactions.txt
- findMustLLWithGAMS(model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, mustSetFirstOrder, solverName, runID, outputFolder, outputFileName, printExcel, printText, printReport, keepInputs, keepGamsOutputs, verbose)[source]¶
This function runs the second step of optForce, that is to solve a bilevel mixed integer linear programming problem to find a second order MustLL set.
- USAGE
[mustLL, pos_mustLL, mustLL_linear, pos_mustLL_linear] = findMustLLWithGAMS (model, minFluxesW, maxFluxesW, varargin)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVA_optForce. E.g.: maxFluxesW = [90; 56];
- OPTIONAL INPUTS
constrOpt – (Structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array) E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
excludedRxns – (cell array) Reactions to be excluded to the MustLL set. This could be used to avoid finding transporters or exchange reactions in the set. Default = empty.
mustSetFirstOrder – (cell array) Reactions that belong to MustU and MustL (first order sets). Default = empty.
solverName – (string) Name of the solver used in GAMS. Default = ‘cplex’.
runID – (string) ID for identifying this run. Default = [‘run’ date hour].
outputFolder – (string) name for folder in which results will be stored. Default = ‘OutputsFindMustLL’.
outputFileName – (string) name for files in which results will be stored. Default = ‘MustLLSet’.
printExcel – (double) boolean to describe wheter data must be printed in an excel file or not. Default = 1
printText – (double) boolean to describe wheter data must be printed in an plaint text file or not. Default = 1
printReport – (double) 1 to generate a report in a plain text file. 0 otherwise. Default = 1
keepInputs – (double) 1 to mantain folder with inputs to run findMustLL.gms. 0 otherwise. Default = 1
keepGamsOutputs – (double) 1 to mantain files returned by findMustLL.gms. 0 otherwise. Default = 1
verbose – (double) 1 to print results in console. 0 otherwise. Default = 0
- OUTPUTS
mustLL – (cell array of size number of sets found X 2). Cell array containing the reactions IDs which belong to the MustLL set. Each row contain a couple of reactions that must decrease their flux.
pos_mustLL – (double array of size number of sets found X 2). Double array containing the positions of each reaction in mustLL with regard to model.rxns
mustLL_linear – (cell array of size number of unique reactions found X 1) Cell array containing the unique reactions ID which belong to the MustLL Set
pos_mustLL_linear – (double array of size number of unique reactions found X 1) double array containing positions for reactions in mustLL_linear. with regard to model.rxns
outputFileName.xls – (file) File containing one column array with identifiers for reactions in MustLL. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName.txt – (file) File containing one column array with identifiers for reactions in MustLL. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.xls – (file) File containing one column array. In each row the user will find a couple of reactions. Each couple of reaction was found in one iteration of FindMustLL.gms. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.txt – (file) File containing one column array. In each row the user will find a couple of reactions. Each couple of reaction was found in one iteration of FindMustLL.gms. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
findMustLL.lst – (file) file autogenerated by GAMS. It contains information about equations, variables, parameters as well as information about the running (values at each iteration). This file only will be saved in the output folder if the user entered keepGamsOutputs = 1
GtoMLL.gdx – (file) file containing values for variables, parameters, etc. which were found by GAMS when solving findMustLL.gms. This file only will be saved in the output folder if the user entered keepInputs = 1
Note
This function is based in the GAMS files written by Sridhar Ranganathan which were provided by the research group of Costas D. Maranas. For a detailed description of the optForce procedure, please see: Ranganathan S, Suthers PF, Maranas CD (2010) OptForce: An Optimization Procedure for Identifying All Genetic Manipulations Leading to Targeted Overproductions. PLOS Computational Biology 6(4): e1000744. https://doi.org/10.1371/journal.pcbi.1000744
- findMustLWithGAMS(model, minFluxesW, maxFluxesW, varargin)[source]¶
This function runs the second step of optForce, that is to solve a bilevel mixed integer linear programming problem to find a first order MustL set.
- USAGE
[mustLSet, posMustL] = findMustLWithGAMS (model, minFluxesW, maxFluxesW, varargin)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce e.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce e.g.: maxFluxesW=[90; 56];
- OPTIONAL INPUTS
constrOpt – (structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array) e.g.: struct(‘rxnList’,{{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100,0,155.5]’);
solverName – (string) Name of the solver used in GAMS. Default = ‘cplex’
runID – (string) ID for identifying this run
outputFolder – (string) name for folder in which results will be stored
outputFileName – (string) name for files in which results will be stored
printExcel – (double) boolean to describe wheter data must be printed in an excel file or not
printText – (double) boolean to describe wheter data must be printed in an plaint text file or not
printReport – (double) 1 to generate a report in a plain text file. 0 otherwise.
keepInputs – (double) 1 to mantain folder with inputs to run findMustUU.gms. 0 otherwise.
keepGamsOutputs – (double) 1 to mantain files returned by findMustUU.gms. 0 otherwise.
verbose – (double) 1 to print results in console. 0 otherwise.
- OUTPUTS
mustLSet – (cell array of size number of reactions found X 1) Cell array containing the reactions ID which belong to the Must_U Set
posMustL – (double array of size number of reactions found X 1) double array containing the positions of reactions in the model.
outputFileName.xls – (file) File containing one column array with identifiers for reactions in MustL. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName.txt – (file) File containing one column array with identifiers for reactions in MustL. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.xls – (file) File containing five column arrays.
C1: identifiers for reactions in MustL
C2: min fluxes for reactions according to FVA
C3: max fluxes for reactions according to FVA
C4: min fluxes achieved for reactions, according to findMustL.gms
C5: max fluxes achieved for reactions, according to findMustL.gms
This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.txt – (file) File containing five column arrays.
C1: identifiers for reactions in MustL
C2: min fluxes for reactions according to FVA
C3: max fluxes for reactions according to FVA
C4: min fluxes achieved for reactions, according to findMustL.gms
C5: max fluxes achieved for reactions, according to findMustL.gms
This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
findMustL.lst – (file) file autogenerated by GAMS. It contains information about equations, variables, parameters as well as information about the running (values at each iteration). This file only will be saved in the output folder is the user entered keepGamsOutputs = 1
GtoML.gdx – (file) file containing values for variables, parameters, etc. which were found by GAMS when solving findMustL.gms. This file only will be saved in the output folder is the user entered keepInputs = 1
Note
This function is based in the GAMS files written by Sridhar Ranganathan which were provided by the research group of Costas D. Maranas. For a detailed description of the optForce procedure, please see: Ranganathan S, Suthers PF, Maranas CD (2010) OptForce: An Optimization Procedure for Identifying All Genetic Manipulations Leading to Targeted Overproductions. PLOS Computational Biology 6(4): e1000744. https://doi.org/10.1371/journal.pcbi.1000744
- findMustULWithGAMS(model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, mustSetFirstOrder, solverName, runID, outputFolder, outputFileName, printExcel, printText, printReport, keepInputs, keepGamsOutputs, verbose)[source]¶
This function runs the second step of optForce, that is to solve a bilevel mixed integer linear programming problem to find a second order MustUL set.
- USAGE
[mustUL, pos_mustUL, mustUL_linear, pos_mustUL_linear] = findMustULWithGAMS (model, minFluxesW, maxFluxesW, varargin)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: maxFluxesW = [90; 56];
- OPTIONAL INPUTS
constrOpt – (Structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array) E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
excludedRxns – (cell array) Reactions to be excluded to the MustUL set. This could be used to avoid finding transporters or exchange reactions in the set. Default = empty.
mustSetFirstOrder – (cell array) Reactions that belong to MustU and MustL (first order sets). Default = empty.
solverName – (string) Name of the solver used in GAMS. Default = ‘cplex’.
runID – (string) ID for identifying this run. Default = [‘run’ date hour].
outputFolder – (string) name for folder in which results will be stored. Default = ‘OutputsFindMustUL’.
outputFileName – (string) name for files in which results. will be stored Default = ‘MustULSet’.
printExcel – (double) boolean to describe wheter data must be printed in an excel file or not. Default = 1
printText – (double) boolean to describe wheter data must be printed in an plaint text file or not. Default = 1
printReport – (double) 1 to generate a report in a plain text file. 0 otherwise. Default = 1
keepInputs – (double) 1 to mantain folder with inputs to run findMustUL.gms. 0 otherwise. Default = 1
keepGamsOutputs – (double) 1 to mantain files returned by findMustUL.gms. 0 otherwise. Default = 1
verbose – (double) 1 to print results in console. 0 otherwise. Default = 0
- OUTPUTS
mustUL – (cell array of size number of sets found X 2) Cell array containing the reactions IDs which belong to the MustUL set. Each row contain a couple of reactions that must decrease their flux.
pos_mustUL – (double array of size number of sets found X 2) double array containing the positions of each reaction in mustUL with regard to model.rxns
mustUL_linear – (cell array of size number of unique reactions found X 1) Cell array containing the unique reactions ID which belong to the MustUL Set
pos_mustUL_linear – (double array of size number of unique reactions found X 1) double array containing positions for reactions in mustUL_linear. with regard to model.rxns
outputFileName.xls – (file) File containing one column array with identifiers for reactions in MustUL. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName.txt – (file) File containing one column array with identifiers for reactions in MustUL. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.xls – (file) File containing one column array. In each row the user will find a couple of reactions. Each couple of reaction was found in one iteration of FindMustUL.gms. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.txt – (file) File containing one column array. In each row the user will find a couple of reactions. Each couple of reaction was found in one iteration of FindMustUL.gms. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
findMustUL.lst – (file) file autogenerated by GAMS. It contains information about equations, variables, parameters as well as information about the running (values at each iteration). This file only will be saved in the output folder is the user entered keepGamsOutputs = 1
GtoMUL.gdx – (file) file containing values for variables, parameters, etc. which were found by GAMS when solving findMustUL.gms. This file only will be saved in the output folder is the user entered keepInputs = 1
Note
This function is based in the GAMS files written by Sridhar Ranganathan which were provided by the research group of Costas D. Maranas. For a detailed description of the optForce procedure, please see: Ranganathan S, Suthers PF, Maranas CD (2010) OptForce: An Optimization Procedure for Identifying All Genetic Manipulations Leading to Targeted Overproductions. PLOS Computational Biology 6(4): e1000744. https://doi.org/10.1371/journal.pcbi.1000744
- findMustUUWithGAMS(model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, mustSetFirstOrder, solverName, runID, outputFolder, outputFileName, printExcel, printText, printReport, keepInputs, keepGamsOutputs, verbose)[source]¶
This function runs the second step of optForce, that is to solve a bilevel mixed integer linear programming problem to find a second order MustUU set.
- USAGE
[mustUU, pos_mustUU, mustUU_linear, pos_mustUU_linear] = findMustUUWithGAMS (model, minFluxesW, maxFluxesW, varargin)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: maxFluxesW = [90; 56];
- OPTIONAL INPUTS
constrOpt – (Structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array) E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
excludedRxns – (cell array) Reactions to be excluded to the MustUU set. This could be used to avoid finding transporters or exchange reactions in the set. Default = empty.
mustSetFirstOrder – (cell array) Reactions that belong to MustU and MustL (first order sets). Default = empty.
solverName – (string) Name of the solver used in GAMS. Default = ‘cplex’.
runID – (string) ID for identifying this run. Default = [‘run’ date hour].
outputFolder – (string) name for folder in which results will be stored. Default = ‘OutputsFindMustUU’.
outputFileName – (string) name for files in which results. will be stored Default = ‘MustUUSet’.
printExcel – (double) boolean to describe wheter data must be printed in an excel file or not. Default = 1
printText – (double) boolean to describe wheter data must be printed in an plaint text file or not. Default = 1
printReport – (double) 1 to generate a report in a plain text file. 0 otherwise. Default = 1
keepInputs – (double) 1 to mantain folder with inputs to run findMustUU.gms. 0 otherwise. Default = 1
keepGamsOutputs – (double) 1 to mantain files returned by findMustUU.gms. 0 otherwise. Default = 1
verbose – (double) 1 to print results in console. 0 otherwise. Default = 0
- OUTPUTS
mustUU – (cell array of size number of sets found X 2) Cell array containing the reactions IDs which belong to the MustUU set. Each row contain a couple of reactions that must decrease their flux.
pos_mustUU – (double array of size number of sets found X 2) double array containing the positions of each reaction in mustUU with regard to model.rxns
mustUU_linear – (cell array of size number of unique reactions found X 1) Cell array containing the unique reactions ID which belong to the MustUU Set
pos_mustUU_linear – (double array of size number of unique reactions found X 1) double array containing positions for reactions in mustUU_linear. with regard to model.rxns
outputFileName.xls – (file) File containing one column array with identifiers for reactions in MustUU. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName.txt – (file) File containing one column array with identifiers for reactions in MustUU. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.xls – (file) File containing one column array. In each row the user will find a couple of reactions. Each couple of reaction was found in one iteration of FindMustUU.gms. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.txt – (file) File containing one column array. In each row the user will find a couple of reactions. Each couple of reaction was found in one iteration of FindMustUU.gms. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
findMustUU.lst – (file) file autogenerated by GAMS. It contains information about equations, variables, parameters as well as information about the running (values at each iteration). This file only will be saved in the output folder is the user entered keepGamsOutputs = 1
GtoMUU.gdx – (file) file containing values for variables, parameters, etc. which were found by GAMS when solving findMustUU.gms. This file only will be saved in the output folder is the user entered keepInputs = 1
Note
This function is based in the GAMS files written by Sridhar Ranganathan which were provided by the research group of Costas D. Maranas. For a detailed description of the optForce procedure, please see: Ranganathan S, Suthers PF, Maranas CD (2010) OptForce: An Optimization Procedure for Identifying All Genetic Manipulations Leading to Targeted Overproductions. PLOS Computational Biology 6(4): e1000744. https://doi.org/10.1371/journal.pcbi.1000744
- findMustUWithGAMS(model, minFluxesW, maxFluxesW, varargin)[source]¶
This function runs the second step of optForce, that is to solve a bilevel mixed integer linear programming problem to find a first order MustU set.
- USAGE
[mustUSet, posMustU] = findMustUWithGAMS (model, minFluxesW, maxFluxesW, varargin)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce e.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce e.g.: maxFluxesW = [90; 56];
- OPTIONAL INPUTS
constrOpt – (Structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array) e.g.: struct(‘rxnList’,{{‘EX_gluc’,’R75’,’EX_suc’}},’values’,[-100,0,155.5]’);
solverName – (string) Name of the solver used in GAMS. Default = ‘cplex’
runID – (string) ID for identifying this run
outputFolder – (string) name for folder in which results will be stored
outputFileName – (string) name for files in which results will be stored
printExcel – (double) boolean to describe wheter data must be printed in an excel file or not
printText – (double) boolean to describe wheter data must be printed in an plaint text file or not
printReport – (double) 1 to generate a report in a plain text file. 0 otherwise.
keepInputs – (double) 1 to mantain folder with inputs to run findMustUU.gms. 0 otherwise.
keepGamsOutputs – (double) 1 to mantain files returned by findMustUU.gms. 0 otherwise.
verbose – (double) 1 to print results in console. 0 otherwise.
- OUTPUTS
mustUSet – (cell array of size number of reactions found X 1) Cell array containing the reactions ID which belong to the Must_U Set
posMustU – (double array of size number of reactions found X 1) double array containing the positions of reactions in the model.
outputFileName.xls – (file) File containing one column array with identifiers for reactions in MustU. This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName.txt – (file) File containing one column array with identifiers for reactions in MustU. This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.xls – (file) File containing five column arrays.
C1: identifiers for reactions in MustU
C2: min fluxes for reactions according to FVA
C3: max fluxes for reactions according to FVA
C4: min fluxes achieved for reactions, according to findMustU.gms
C5: max fluxes achieved for reactions, according to findMustU.gms
This file will only be generated if the user entered printExcel = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
outputFileName_Info.txt – (file) File containing five column arrays.
C1: identifiers for reactions in MustU
C2: min fluxes for reactions according to FVA
C3: max fluxes for reactions according to FVA
C4: min fluxes achieved for reactions, according to findMustU.gms
C5: max fluxes achieved for reactions, according to findMustU.gms
This file will only be generated if the user entered printText = 1. Note that the user can choose the name of this file entering the input outputFileName = ‘PutYourOwnFileNameHere’;
findMustU.lst – (file) file autogenerated by GAMS. It contains information about equations, variables, parameters as well as information about the running (values at each iteration). This file only will be saved in the output folder is the user entered keepGamsOutputs = 1
GtoMU.gdx – (file) file containing values for variables, parameters, etc. which were found by GAMS when solving findMustU.gms. This file only will be saved in the output folder is the user entered keepInputs = 1
Note
This function is based in the GAMS files written by Sridhar Ranganathan which were provided by the research group of Costas D. Maranas. For a detailed description of the optForce procedure, please see: Ranganathan S, Suthers PF, Maranas CD (2010) OptForce: An Optimization Procedure for Identifying All Genetic Manipulations Leading to Targeted Overproductions. PLOS Computational Biology 6(4): e1000744. https://doi.org/10.1371/journal.pcbi.1000744
- optForceWithGAMS(model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, k, nSets, constrOpt, excludedRxns, runID, outputFolder, outputFileName, solverName, printExcel, printText, printReport, keepInputs, keepGamsOutputs, verbose)[source]¶
This function runs the third step of optForce that is to solve a bilevel mixed integer linear programming problem to find sets of interventions that lead to an increased production of a particular target
- USAGE
[optForceSets, posOptForceSets, typeRegOptForceSets, fluxOptForceSets] = optForceWithGAMS (model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, varargin)
- INPUTS
model – (structure) a metabolic model with at least the following fields:
.rxns - Reaction IDs in the model
.mets - Metabolite IDs in the model
.S - Stoichiometric matrix (sparse)
.b - RHS of Sv = b (usually zeros)
.c - Objective coefficients
.lb - Lower bounds for fluxes
.ub - Upper bounds for fluxes
targetRxn – (string) string containing the ID for the reaction whose flux is intented to be increased. For E.g., if the production of succionate is desired to be increased, ‘EX_suc’ should be chosen as the target reaction E.g.: targetRxn = ‘EX_suc’;
mustU – (cell array) List of reactions in the MustU set. This input can be obtained by running the script findMustU.m E.g. mustU = {‘R21_f’;’R22_f’};
mustL – (cell array) List of reactions in the MustL set. This input can be obtained by running the script findMustL.m E.g. mustL = {‘R11_f’;’R26_f’};
minFluxesW – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: minFluxesW = [-90; -56];
maxFluxesW – (double array of size n_rxns x 1) maximum fluxes for each reaction in the model for wild-type strain. This can be obtained by running the function FVAOptForce. E.g.: maxFluxesW = [90; 56];
minFluxesM – (double array of size n_rxns x 1) minimum fluxes for each reaction in the model for mutant strain. This can be obtained by running the function FVAOptForce. E.g.: minFluxesM = [-90; -56];
maxFluxesM – (double array of size n_rxns x 1) Description: Maximum fluxes for each reaction in the model for mutant strain. This can be obtained by running the function FVAOptForce. E.g.: maxFluxesM = [90; 56];
- OPTIONAL INPUTS
k – (double) number of intervations to be found. Default k = 1;
nSets – (double) maximum number of force sets returned by optForce. Default nSets = 1;
constrOpt – (Structure) structure containing additional contraints. Include here only reactions whose flux is fixed, i.e., reactions whose lower and upper bounds have the same value. Do not include here reactions whose lower and upper bounds have different values. Such contraints should be defined in the lower and upper bounds of the model. The structure has the following fields:
.rxnList - Reaction list (cell array)
.values - Values for constrained reactions (double array) E.g.: struct(‘rxnList’, {{‘EX_gluc’, ‘R75’, ‘EX_suc’}}, ‘values’, [-100, 0, 155.5]’);
excludedRxns – (structure) Reactions to be excluded. This structure has the following fields
.rxnList - Reaction list (cell array)
.typeReg - set from which reaction is excluded (char array) (U: Set of upregulared reactions, D: set of downregulared reations, K: set of knockout reactions)
E.g.: excludedRxns = struct(‘rxnList’, {{‘SUCt’, ‘R68_b’}}, ‘typeReg’, ‘UD’) In this E.g. ‘SUCt’ is prevented to appear in the set of upregulated reactions and ‘R68_b’ is prevented to appear in the downregulated set of reactions. Default = empty.
solverName – (string) Name of the solver used in GAMS. Default = ‘cplex’.
runID – (string) ID for identifying this run. Default = [‘run’ date hour].
outputFolder – (string) name for folder in which results will be stored. Default = ‘OutputsFindMustLL’.
outputFileName – (string) name for files in which results. will be stored Default = ‘MustLLSet’.
printExcel – (double) boolean to describe wheter data must be printed in an excel file or not. Default = 1
printText – (double) boolean to describe wheter data must be printed in an plaint text file or not. Default = 1
printReport – (double) 1 to generate a report in a plain text file. 0 otherwise. Default = 1
keepInputs – (double) 1 to mantain folder with inputs to run findMustLL.gms. 0 otherwise. Default = 1
keepGamsOutputs – (double) 1 to mantain files returned by findMustLL.gms. 0 otherwise. Default = 1
verbose – (double) 1 to print results in console. 0 otherwise. Default = 0
- OUTPUTS
optForceSets – (cell array) cell array of size n x m, where n = number of sets found and m = size of sets found (k). Element in position i, j is reaction j in set i. E.g.
rxn1
rxn2
set 1
R4
R2
set 2
R3
R1
posOptForceSets – (double array) double array of size n x m, where n = number of sets found and m = size of sets found (k). Element in position i, j is the position of reaction in optForceSets(i, j) in model.rxns E.g.
rxn1
rxn2
set 1
4
2
set 2
3
1
typeRegOptForceSets – (cell array) cell array of size n x m, where n = number of sets found and m = size of sets found (k). Element in position i, j is the kind of intervention for reaction in optForceSets(i,j) E.g.
rxn1
rxn2
set 1
upregulation
downregulation
set 2
upregulation
knockout
fluxOptForceSets – (double matrix) Matrix of size n + m, where n = number of sets found and m = size of sets found (k). The number in (i,j) is the flux achieved for the reaction in optForceSets(i, j)
outputFileName.xls –
(file) file containing 11 columns.
C1: Number of invervetions (k)
C2: Set Number
C3: Identifiers for reactions in the force set
C4: Type of regulations for each reaction in the force set
C5: min flux of each reaction in force set, according to FVA
C6: max flux of each reaction in force set, according to FVA
C7: achieved flux of each of the reactions in the force set after applying the inverventions
C8: objetive function achieved by OptForce.gms
C9: Minimum flux fot target when applying the interventions
C10: Maximum flux fot target when applying the interventions
C11: Maximum growth rate when applying the interventions.
In the rows, the user can see each of the optForce sets found.
outputFileName.txt – Same as outputFileName.xls but in a .txt file, separated by tabs.
optForce.lst – (file) file generated automatically by GAMS when running optForce. Contains information about the running.
GtoMOF.gdx – (file) file generated by GAMS containing variables, parameters and equations of the optForce problem.
Note
This function is based in the GAMS files written by Sridhar Ranganathan which were provided by the research group of Costas D. Maranas. For a detailed description of the optForce procedure, please see: Ranganathan S, Suthers PF, Maranas CD (2010) OptForce: An Optimization Procedure for Identifying All Genetic Manipulations Leading to Targeted Overproductions. PLOS Computational Biology 6(4): e1000744. https://doi.org/10.1371/journal.pcbi.1000744