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