Optforce

FVAOptForce(model, constrW, constrM)[source]

This function calculates flux ranges for each reaction in the wild-type strain and in the mutant strain. Constraints should be specified for at least one strain (wild-type or mutant)

USAGE

[minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, boundsW, boundsM] = FVAOptForce (model, constrWT, constrMT)

INPUTS
  • model – (structure) COBRA 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

  • constrW – (structure) structure containing contraints for the wild-type strain. The structure has the following fields:

    • .rxnList - Reaction list (cell array)

    • .values - Values for constrained reactions (double array)

    • .rxnBoundType - Type of bound (char array) (‘b’: both bounds; ‘l’: lower bound; ‘u’: upper bound) E.g.: constrW = struct(‘rxnList’, {{‘R75’; ‘EX_suc’}}, ‘rxnValues’, [0; 155.55], ‘rxnBoundType’, [‘b’; ‘b’]);

  • constrM – (structure) structure containing contraints for the mutant strain. The structure has the following: fields:

    • .rxnList - Reaction list (cell array)

    • .values - Values for constrained reactions (double array)

    • .rxnBoundType - Type of bound (char array) (‘b’: both bounds; ‘l’: lower bound; ‘u’: upper bound) E.g.: constrW = struct(‘rxnList’, {{‘R75’; ‘EX_suc’}}, ‘rxnValues’, [0; 155.55], ‘rxnBoundType’, [‘b’; ‘b’]);

OUTPUTS
  • minFluxesW – (double array) minimum values for reactions in the wild-type strain. It has dimensions (number of reactions) x 1

  • maxFluxesW – (double array) maximum values for reactions in the wild-type strain. It has dimensions (number of reactions) x 1

  • minFluxesM – (double array) minimum values for reactions in the mutant strain. It has dimensions (number of reactions) x 1

  • maxFluxesM – (double array) minimum values for reactions in the wild-type strain. It has dimensions (number of reactions) x 1

  • boundsW – (cell array) bounds given by the minimum and maximum values for reactions in the wild-type strain. The reaction IDs are in the first column, the minimun values in the second and the maximum values in the third. It has dimensions (number of reactions) x 3

  • boundsM – (cell array) bounds given by the minimum and maximum values for reactions in the mutant strain. The reaction IDs are in the first column, the minimun values in the second and the maximum values in the third. It has dimensions (number of reactions) x 3

analyzeOptForceSol(model, targetRxn, biomassRxn, solution, relax, tol)[source]

This function will calculate the minimum and maximum rates for target production when applying a set of interventions (upregulations, downregulations, knockouts) in the model. Flux for each intervened reaction in the mutant must be specified in the structure solution (third input).

USAGE

[maxGrowthRate, minTarget, maxTarget] = analyzeOptForceSol (model, targetRxn, solution, relax, tol)

INPUTS
  • model – (structure) COBRA 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) Reaction identifier for target reaction E.g.: targetRxn = ‘EX_suc’

  • solution – (structure) Structure containing information about the inverventions. E.g.: solution = struct(‘reactions’, … {{‘R21’; ‘R24’}}, ‘flux’, [10; 0]) In this example, the reaction R21 will be regulated at 10 (mmol/gDW h) (upregulation or downregulation depending on the value for the wild-type strain) and R21 will be regulated at 0 (mmol/gDW h) (knockout) Only two fields are needed for this structure:

    • .reactions - identifiers for reactions that will be intervened

    • .flux - new flux achieved in the intervened reactions.

OPTIONAL INPUTS
  • relax – (double) Boolean to describe if constraints should be apply in an rounded way (relax = 1) or in an exactly way (relax = 0) Default: relax = 1

  • tol – (double) range for tolerance when relaxing contraints. Default: tol = 1e-7

OUTPUTS
  • maxGrowthRate – (double) Maximum growth rate of mutant strain (after applying the inverventions)

  • minTarget – (double) Minimum production rate of target at max growth rate

  • maxTarget – (double) Maximum production rate of target at max growth rate

findMustL(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] = findMustL (model, minFluxesW, maxFluxesW, varargin)

INPUTS
  • model – (structure) COBRA 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.

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]’);

  • runID – (string) ID for identifying this run. Default: [‘run’ date hour].

  • outputFolder – (string) name for folder in which results will be stored. Default: ‘OutputsFindMustL’.

  • outputFileName – (string) name for files in which results will be stored. Default: ‘MustLSet’.

  • 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 save inputs to run findMustL.m 0 otherwise. Default: 1

  • printLevel – (double) 1 to print results in console. 0 otherwise. Default: 0

OUTPUTS
  • mustLSet – (cell array) Size: number of reactions found X 1. Cell array containing the reactions ID which belong to the Must_U Set

  • posMustL – (double array) Size: number of reactions found X 1 double array containing the positions of reactions in the model.

  • outputFileName.xls 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 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 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

    • C5: max fluxes achieved for reactions, according to findMustL

    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 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

    • C5: max fluxes achieved for reactions, according to findMustL

    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’;

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

findMustLL(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 second order MustLL set.

USAGE

[mustLL, posMustLL, mustLL_linear, pos_mustLL_linear] = findMustLL (model, minFluxesW, maxFluxesW, varargin)

INPUTS
  • model – (structure) COBRA 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

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.

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 save inputs to run

findMustLL.m, 0 otherwise. Default: 1

printLevel: (double) 1 to print results in console.

0 otherwise. Default: 0

OUTPUTS
mustLL: (cell array) 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.

posMustLL: (double array) 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) 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) 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 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 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 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 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’;

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

findMustU(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] = findMustU (model, minFluxesW, maxFluxesW, varargin)

INPUTS
  • model – (structure) COBRA 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.

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]’);

  • runID – (string) ID for identifying this run. Default: [‘run’ date hour].

  • outputFolder – (string) name for folder in which results will be stored. Default: ‘OutputsFindMustU’.

  • outputFileName – (string) name for files in which results will be stored. Default: ‘MustUSet’.

  • 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 save inputs to run findMustU.m, 0 otherwise. Default: 1

  • printLevel – (double) 1 to print results in console. 0 otherwise. Default: 0

OUTPUTS
  • mustUSet – (cell array) Size: number of reactions found X 1 cell array containing the reactions ID which belong to the Must_U Set

  • posMustU – (double array) Size: number of reactions found X 1 double array containing the positions of reactions in the model.

  • outputFileName.xls 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 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 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

    • C5: max fluxes achieved for reactions, according to findMustU

    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 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

    • C5: max fluxes achieved for reactions, according to findMustU

    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’;

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

findMustUL(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 second order MustUL set.

USAGE

[mustUL, posMustUL, mustUL_linear, pos_mustUL_linear] = findMustUL (model, minFluxesW, maxFluxesW, varargin)

INPUTS
  • model – (structure) COBRA 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

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.

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 save inputs to run

findMustUL.m, 0 otherwise. Default: 1

printLevel: (double) 1 to print results in console.

0 otherwise. Default: 0

OUTPUTS
mustUL: (cell array) 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.

posMustUL: (double array) 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) 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) 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 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 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 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 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’;

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

findMustUU(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 second order MustUU set.

USAGE

[mustUU, posMustUU, mustUU_linear, pos_mustUU_linear] = findMustUU (model, minFluxesW, maxFluxesW, varargin)

INPUTS
  • model – (structure) COBRA 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

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.

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 save inputs to run

findMustUU.m, 0 otherwise. Default: 1

printLevel: (double) 1 to print results in console.

0 otherwise. Default: 0

OUTPUTS
mustUU: (cell array) 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.

posMustUU: (double array) 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) 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) 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 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 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 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 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’;

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

optForce(model, targetRxn, biomassRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, varargin)[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] = optForce (model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, k, varargin)

INPUTS
  • model – (structure) COBRA 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. first usage: 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 x1. 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.

  • 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

  • printLevel – (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 containing 11 columns.

    • C1: Number of interventions (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.

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

saveInputsMustSetsFirstOrder(model, minFluxesW, maxFluxesW, constrOpt, inputFolder)[source]

This function saves all the inputs needed to run functions to find first order Must Sets (MustU, `MustL) The inputs will be stored in inputFolder.

USAGE

saveInputsMustSetsFirstOrder (model, minFluxesW, maxFluxesW, constrOpt,inputFolder)

INPUTS
  • model – (structure) COBRA 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
  • model.mat File containing the model

  • minFluxesW.mat – File containing the minimum fluxes for the wild-type

  • maxFluxesW.mat – File containing the maximum fluxes for the mutant

  • constrOpt.mat – File containing the constraints used

saveInputsMustSetsSecondOrder(model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, inputFolder)[source]

This function saves all the inputs needed to run functions to find second order Must Sets (MustUU, MustLL and MustUL) The inputs will be stored in inputFolder.

USAGE

saveInputsMustSetsSecondOrder (model, minFluxesW, maxFluxesW, constrOpt, excludedRxns, inputFolder)

INPUTS
  • model – (structure) COBRA 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 MustXX set. This could be used to avoid finding transporters or exchange reactions in the set Default: empty.

  • inputFolder – (string) Folder where inputs for GAMS function will be stored

OUTPUTS
  • model.mat – File containing the model

  • minFluxesW.mat – File containing the minimum fluxes for the wild-type

  • maxFluxesW.mat – File containing the maximum fluxes for the mutant

  • constrOpt.mat – File containing the constraints used

  • excludedRsns.mat – File containing the excluded reactions

saveInputsOptForce(model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, k, nSets, constrOpt, excludedURxns, excludedLRxns, excludedKRxns, inputFolder)[source]

This function saves all the inputs needed to run functions to find second order Must Sets (MustUU, MustLL and MustUL) The inputs will be stored in inputFolder.

USAGE

saveInputsOptForce (model, targetRxn, mustU, mustL, minFluxesW, maxFluxesW, minFluxesM, maxFluxesM, k, nSets, constrOpt, excludedURxns, excludedLRxns, excludedKRxns, inputFolder)

INPUTS
model: (structure) COBRA 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.

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.: minFluxesW = [-90; -56];

maxFluxesM: (double array) of size n_rxns x 1

Maximum fluxes for each reaction in the model for mutant strain. This can be obtained by running the function FVAOptForce.

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. This could be used to avoid finding transporters or exchange reactions in the set

excludedLRxns: (cell array) Reactions to be excluded from

downregulations. This could be used to avoid finding transporters or exchange reactions in the set

excludedKRxns: (cell array) Reactions to be excluded from

knockouts This could be used to avoid finding transporters or exchange reactions in the set

inputFolder: (string) Folder where inputs for GAMS function will be stored

OUTPUTS
  • model.mat – File containing the model

  • targetRxn.mat – File containing the target reaction

  • mustU.mat – File containing mustU set

  • mustL.mat – File containing mustL set

  • minFluxesW.mat – File containing the minimum fluxes for the wild-type

  • maxFluxes.mat – File containing the maximum fluxes for the wild-type

  • minFluxesM.mat – File containing the minimum fluxes for the mutant

  • maxFluxesM.mat – File containing the maximum fluxes for the mutant

  • k.mat – File containing k the number of reactions in the optForce set

  • nSets.mat – File containing the maximum number of sets found by optForce