Trimgdel

GRPRchecker(model, targetMet, gvalue)[source]

GRPRchecker computes the maximum growth rate (GR) and the minimum production rate (PR) under GR maximization for a given constraint-based model, target metabolite, and gene-deletion strategy.

USAGE:

[GR, PR] = GRPRchecker (model, targetMet, gvalue)

INPUTS:
  • model – COBRA model structure with the fields:

    • .rxns - reaction identifiers (n x 1 cell array)

    • .mets - metabolite identifiers (m x 1 cell array)

    • .genes - gene identifiers (g x 1 cell array)

    • .S - stoichiometric matrix (m x n, sparse)

    • .c - linear objective coefficients (n x 1)

    • .lb - lower flux bounds (n x 1)

    • .ub - upper flux bounds (n x 1)

  • targetMet – target metabolite identifier (e.g. ‘btn_c’)

  • gvalue – gene-deletion strategy. Column 1 lists the genes; column 2 is a 0/1 vector (0 = gene deleted, 1 = gene retained)

OUTPUTS:
  • GR – the maximum growth rate for the given gene-deletion strategy

  • PR – the minimum target-metabolite production rate under growth-rate maximization for the given gene-deletion strategy

TrimGdel(model, targetMet, maxLoop, PRLB, GRLB)[source]

TrimGdel computes a minimal gene-deletion strategy that achieves growth-coupled production of a target metabolite for a genome-scale model, appropriately accounting for gene-protein-reaction (GPR) rules. The strategy is guaranteed even in the worst case (weak growth-coupled production). Gurobi is required for this version; a CPLEX version is available at https://github.com/MetNetComp/TrimGdel.

USAGE:

[gvalue, GR, PR, size1, size2, size3, success] = TrimGdel (model, targetMet, maxLoop, PRLB, GRLB)

INPUTS:
  • model – COBRA model structure. TrimGdel passes the whole model to its subroutines gDel_minRN (Step 1) and step2and3 (Steps 2 and 3), which require the reaction, metabolite, gene, GPR-rule, stoichiometry, objective and flux-bound fields.

  • targetMet – target metabolite identifier (e.g. ‘btn_c’)

  • maxLoop – maximum number of iterations performed in gDel_minRN

  • PRLB – minimum required production rate of the target metabolite used while gDel_minRN searches for gene-deletion strategy candidates (not guaranteed once GR is maximized without PRLB)

  • GRLB – minimum required growth rate used while gDel_minRN searches for gene-deletion strategy candidates

OUTPUTS:
  • gvalue – the resulting small gene-deletion strategy. Column 1 lists the genes; column 2 is a 0/1 vector (0 = gene deleted, 1 = gene retained)

  • GR – the maximum growth rate when the strategy in gvalue is applied

  • PR – the minimum production rate of the target metabolite under growth-rate maximization when the strategy in gvalue is applied

  • size1 – the number of gene deletions after Step 1

  • size2 – the number of gene deletions after Step 2

  • size3 – the number of gene deletions after Step 3

  • success – whether an appropriate gene-deletion strategy was obtained (1 = success, 0 = failure)

Note

T. Tamura, “Trimming Gene Deletion Strategies for Growth-Coupled Production in Constraint-Based Metabolic Networks: TrimGdel,” in IEEE/ACM Transactions on Computational Biology and Bioinformatics, vol. 20, no. 2, pp. 1540-1549, 2023.

Comprehensive computational results are accumulated in the MetNetComp database: https://metnetcomp.github.io/database1/indexFiles/index.html

T. Tamura, “MetNetComp: Database for Minimal and Maximal Gene-Deletion Strategies for Growth-Coupled Production of Genome-Scale Metabolic Networks,” in IEEE/ACM Transactions on Computational Biology and Bioinformatics, vol. 20, no. 6, pp. 3748-3758, 2023.

calculateGR(model, gvalue)[source]

calculateGR is a submodule of gDel_minRN that reads a COBRA model and a 0/1 assignment for the genes and determines, for each reaction, whether it is repressed under that gene-deletion assignment.

USAGE:

[grRules] = calculateGR (model, gvalue)

INPUTS:
  • model – COBRA model structure with the fields:

    • .rxns - reaction identifiers (n x 1 cell array)

    • .genes - gene identifiers (g x 1 cell array)

    • .grRules - gene-protein-reaction association rules (n x 1 cell array)

  • gvalue – gene-deletion assignment. Column 1 lists the genes of the original model; column 2 is a 0/1 vector (0 = gene deleted, 1 = gene retained)

OUTPUT:

grRules – cell array describing, per reaction, whether it is repressed:

  • column 1 - the GPR rule of the reaction (1 if the reaction has no GPR rule)

  • column 2 - the GPR rule with each gene replaced by its 0/1 value and AND/OR replaced by * / +

  • column 3 - the numeric result of evaluating column 2

  • column 4 - 1 if column 3 is greater than 0 (reaction active), 0 if column 3 is 0 (reaction repressed), -1 if there is no rule

example1()[source]

example1 calculates the gene deletion strategy for growth coupling for succinate in e_coli_core.

USAGE:

function [] = example1()

example2()[source]

example2 computes a gene-deletion strategy for growth-coupled production of biotin (btn_c) in the iML1515 model, using TrimGdel.

USAGE:

[outputArg1, outputArg2] = example2()

OUTPUTS:
  • outputArg1 – unused; declared by the function signature but never assigned (placeholder from the function template)

  • outputArg2 – unused; declared by the function signature but never assigned (placeholder from the function template)

example3()[source]

example3 computes a gene-deletion strategy for growth-coupled production of riboflavin (ribflv_c) in the iML1515 model, using TrimGdel.

USAGE:

[outputArg1, outputArg2] = example3()

OUTPUTS:
  • outputArg1 – unused; declared by the function signature but never assigned (placeholder from the function template)

  • outputArg2 – unused; declared by the function signature but never assigned (placeholder from the function template)

example4()[source]

example4 computes a gene-deletion strategy for growth-coupled production of pantothenate (pnto__R_c) in the iML1515 model, using TrimGdel.

USAGE:

[outputArg1, outputArg2] = exampl4()

OUTPUTS:
  • outputArg1 – unused; declared by the function signature but never assigned (placeholder from the function template)

  • outputArg2 – unused; declared by the function signature but never assigned (placeholder from the function template)

example5()[source]

example5 computes a gene-deletion strategy for growth-coupled production of succinate (succ_e) in the iMM904 model, using TrimGdel.

USAGE:

[outputArg1, outputArg2] = example5()

OUTPUTS:
  • outputArg1 – unused; declared by the function signature but never assigned (placeholder from the function template)

  • outputArg2 – unused; declared by the function signature but never assigned (placeholder from the function template)

gDel_minRN(model, targetMet, maxLoop, PRLB, GRLB)[source]

gDel_minRN (Step 1 of TrimGdel) determines a gene-deletion strategy by mixed-integer linear programming that achieves growth coupling for the target metabolite, repressing the maximum number of reactions through the gene-protein-reaction (GPR) relations.

USAGE:

[gvalue gr pr it success] = gDel_minRN (model, targetMet, maxLoop, PRLB, GRLB)

INPUTS:
  • model – COBRA model structure with the fields:

    • .rxns - reaction identifiers (n x 1 cell array)

    • .mets - metabolite identifiers (m x 1 cell array)

    • .genes - gene identifiers (g x 1 cell array)

    • .grRules - gene-protein-reaction association rules (n x 1 cell array)

    • .S - stoichiometric matrix (m x n, sparse)

    • .c - linear objective coefficients (n x 1)

    • .lb - lower flux bounds (n x 1)

    • .ub - upper flux bounds (n x 1)

  • targetMet – target metabolite identifier (e.g. ‘btn_c’)

  • maxLoop – maximum number of iterations performed in gDel_minRN

  • PRLB – minimum required production rate of the target metabolite used while searching for gene-deletion strategy candidates (not guaranteed once GR is maximized without PRLB)

  • GRLB – minimum required growth rate used while searching for gene-deletion strategy candidates

OUTPUTS:

gvalue gr pr it success – Step 1 returns these five values together as the multiple-assignment list [gvalue gr pr it success]:

  • gvalue - gene-deletion strategy candidate: column 1 lists the genes, column 2 is a 0/1 vector (0 = gene deleted, 1 = gene retained)

  • gr - growth rate obtained when the strategy is applied and the growth rate is maximized

  • pr - target-metabolite production rate under growth-rate maximization for that strategy

  • it - number of iterations needed to obtain the solution

  • success - whether an appropriate strategy was found (1 = success, 0 = failure)

geneReactionMILP(model, term, ng, nt, nr, nko)[source]

geneReactionMILP is a submodule of gDel_minRN that converts the gene-protein-reaction (GPR) relations into the matrices of a mixed-integer linear program (MILP).

USAGE:

[f, A, b, Aeq, beq, lb, ub, xname] = geneReactionMILP (model, term, ng, nt, nr, nko)

INPUTS:
  • model – COBRA model structure with the field:

    • .genes - gene identifiers (g x 1 cell array)

  • term – struct array of the Boolean-function terms extracted from the GPR rules (as produced by readGeneRules), with the fields:

    • .function - Boolean operator of the term (‘and’, ‘or’, ‘equal’)

    • .input - input variable name(s) of the term

    • .output - output variable name of the term

  • ng – number of genes

  • nt – number of internal terms

  • nr – number of reactions

  • nko – number of repressible reactions

OUTPUTS:
  • f – objective weight vector of the resulting MILP

  • A – inequality constraint matrix of the MILP (A * x <= b)

  • b – right-hand side of the inequality constraints (A * x <= b)

  • Aeq – equality constraint matrix of the MILP (Aeq * x = beq)

  • beq – right-hand side of the equality constraints (Aeq * x = beq)

  • lb – lower bounds on the MILP variables (lb <= x <= ub)

  • ub – upper bounds on the MILP variables (lb <= x <= ub)

  • xname – variable names in the resulting MILP

modelSetting(model, targetMet)[source]

modelSetting is a submodule of gDel_minRN that adds an auxiliary exchange reaction for the target metabolite when the model has no corresponding exchange reaction.

USAGE:

[model2, targetRID, extype] = modelSetting (model, targetMet)

INPUTS:
  • model – COBRA model structure with the fields:

    • .rxns - reaction identifiers (n x 1 cell array)

    • .mets - metabolite identifiers (m x 1 cell array)

  • targetMet – target metabolite identifier (e.g. ‘btn_c’)

OUTPUTS:
  • model2 – the input model, augmented when necessary with an auxiliary exchange reaction for the target metabolite. When such a reaction is added, the function writes the fields:

    • .S - sets the target-metabolite entry of the new reaction column

    • .lb - lower flux bound of the new reaction (set to 0)

    • .ub - upper flux bound of the new reaction (set to 999999)

    • .rev - reversibility flag of the new reaction (set to 0)

  • targetRID – reaction index of the (existing or added) exchange reaction of the target metabolite

  • extype – type of exchange reaction used for the target metabolite:

    • 1, 2 - an existing exchange reaction was found

    • 3 - an auxiliary exchange reaction was added

readGeneRules(model)[source]

readGeneRules is a submodule of gDel_minRN that reads the gene-protein-reaction (GPR) relations and produces the information needed to formulate the mixed-integer linear program (MILP).

USAGE:

[term, ng, nt, nr, nko, reactionKO, reactionKO2term] = readGeneRules (model)

INPUT:

model – COBRA model structure with the fields:

  • .rxns - reaction identifiers (n x 1 cell array)

  • .genes - gene identifiers (g x 1 cell array)

  • .grRules - gene-protein-reaction association rules (n x 1 cell array)

OUTPUTS:
  • term – struct array of Boolean-function terms extracted from the GPR rules, with the fields:

    • .output - output variable name of the term

    • .function - Boolean operator (‘and’, ‘or’, ‘equal’)

    • .input - input variable name(s) of the term

  • ng – number of genes

  • nt – number of internal terms

  • nr – number of reactions

  • nko – number of repressible reactions

  • reactionKO – number of reaction-repression (knockout) terms identified

  • reactionKO2term – map from a reaction index to the index of its corresponding term in term

step2and3(model, targetMet, givenGvalue)[source]

step2and3 implements Step 2 and Step 3 of TrimGdel. Step 2 minimizes the number of deleted genes while keeping the same reactions repressed. Step 3 trims unnecessary gene deletions while maintaining GR and PR under growth-rate maximization.

USAGE:

[gvalue, GR, PR, size1, size2, size3] = step2and3 (model, targetMet, givenGvalue)

INPUTS:
  • model – COBRA model structure with the fields:

    • .rxns - reaction identifiers (n x 1 cell array)

    • .mets - metabolite identifiers (m x 1 cell array)

    • .genes - gene identifiers (g x 1 cell array)

    • .grRules - gene-protein-reaction association rules (n x 1 cell array)

    • .S - stoichiometric matrix (m x n, sparse)

    • .c - linear objective coefficients (n x 1)

    • .lb - lower flux bounds (n x 1)

    • .ub - upper flux bounds (n x 1)

  • targetMet – target metabolite identifier (e.g. ‘btn_c’)

  • givenGvalue – the (larger) gene-deletion strategy from Step 1. Column 1 lists the genes; column 2 is a 0/1 vector (0 = gene deleted, 1 = gene retained)

OUTPUTS:
  • gvalue – the trimmed (smaller) gene-deletion strategy. Column 1 lists the genes; column 2 is a 0/1 vector (0 = gene deleted, 1 = gene retained)

  • GR – the maximum growth rate when the strategy in gvalue is applied

  • PR – the minimum production rate of the target metabolite under growth-rate maximization when the strategy in gvalue is applied

  • size1 – the number of gene deletions after Step 1

  • size2 – the number of gene deletions after Step 2

  • size3 – the number of gene deletions after Step 3