rMTA¶
- MTA(model, rxnFBS, Vref, varargin)¶
Calculate Metabolic Transformation Analysis (MTA) using the the solver CPLEX. Code was prepared to be able to be stopped and be launched again by using a temporary file called ‘temp_MTA.mat’. Outputs are cell array for each alpha (one simulation by alpha). It there is only one alpha, content of cell will be returned The code here has been based on:
Yizhak, K., Gabay, O., Cohen, H., & Ruppin, E. (2013). ‘Model-based identification of drug targets that revert disrupted metabolism and its application to ageing’. Nature communications, 4. http://www.nature.com/ncomms/2013/131024/ncomms3632/full/ncomms3632.html
USAGE:
[TSscore,deletedGenes,Vout] = MTA(model, rxnFBS, Vref, alpha, epsilon, varargin)
- INPUTS:
model: Metabolic model structure (COBRA Toolbox format). rxnFBS: Array that contains the desired change: Forward,
Backward and Unchanged (+1;0;-1). This is calculated from the rules and differential expression analysis.
Vref: Reference flux of the source state.
- OPTIONAL INPUTS:
- alpha: Numeric value or array. Parameter of the quadratic
problem (default = 0.66)
- epsilon: Numeric value or array. Minimun perturbation for each
reaction (default = 0)
- rxnKO: Binary value. Calculate knock outs at reaction level
instead of gene level. (default = false)
- listKO: Cell array containing the name of genes or
reactions to knockout. (default = all)
- timelimit: Time limit for the calculation of each knockout.
(default = inf)
- SeparateTranscript: Character used to separate different transcripts of a gene. (default = ‘’).
- Examples:
- SeparateTranscript = ‘’
gene 10005.1 ==> gene 10005.1
gene 10005.2 ==> gene 10005.2
gene 10005.3 ==> gene 10005.3
- SeparateTranscript = ‘.’
gene 10005.1
gene 10005.2 ==> gene 10005
gene 10005.3
- numWorkers: Integer: is the maximun number of workers
used by the solver. 0 = automatic, 1 = sequential, > 1 = parallel. (default = 0)
- FORCE_CPLEX: 1 to force CPLEX solver, 0 (default) for COBRA
solver.
- printLevel: Integer. 1 if the process is wanted to be shown
on the screen, 0 otherwise. (default = 1)
- OUTPUTS:
TSscore: Transformation score by each transformation deletedGenes: The list of genes/reactions removed in each knock-out Vres: Matrix of resulting fluxes
- MTA_MIQP(OptimizationModel, KOrxn, varargin)¶
Returns the OptimizationModel solution of a particular MTA problem and an specific model
USAGE:
[v_res, success, unsuccess] = MTA_MIQP (OptimizationModel, KOrxn, numWorkers, timeLimit, printLevel)
- INPUT:
OptimizationModel: Cplex Model struct KOrxn: perturbation in the model (reactions) numWorkers: number of threads used by Cplex. FORCE_CPLEX: 1 to force CPLEX solver, 0 (default) for COBRA
solver.
- printLevel: 1 if the process is wanted to be shown on the
screen, 0 otherwise. Default: 1.
- OUTPUTS:
Vout: Solution flux of MIQP formulation for each case solution: Cplex solution struct
- MTA_TS(Vout, Vref, rxnFBS)¶
Returns the TS score of a particular solution of the MTA perturbation algorithm.
USAGE:
score = MTA_TS(v_res,vref,Model,success,unsuccess)
- INPUT:
Vout: Solution flux of MIQP formulation for each case Vref: Reference flux of source state rxnFBS: Array that contains the desired change: Forward,
Backward and Unchanged (+1;0;-1).
- OUTPUTS:
score: TS score for each case
- buildMTAproblemFromModel(model, rxnFBS, Vref, varargin)¶
Returns the COBRA Optimization model needed to perform the MTA
USAGE:
OptimizationModel = buildMTAproblemFromModel(model,rxnFBS,Vref,alpha,epsilon)
- INPUT:
model: Metabolic model (COBRA format) rxnFBS: Forward, Backward and Unchanged (+1;0;-1) values
corresponding to each reaction.
Vref: Reference flux of the source state. alpha: parameter of the quadratic problem (default = 0.66) epsilon minimun disturbance for each reaction, (default = 0)
- OUTPUTS:
- OptimizationModel: COBRA model struct that includes the
stoichiometric contrains, the thermodinamic constrains and the binary variables.
- calculateEPSILON(samples, rxnFBS, varargin)¶
Calculate the minimum required flux change (epsilon) for reactions to be considered as significantly changed with p-value of 0.05 The code below is based on the method presented in:
Yizhak, K., Gabay, O., Cohen, H., & Ruppin, E. (2013). Model-based identification of drug targets that revert disrupted metabolism and its application to ageing. Nature communications, 4, 2632.
USAGE:
epsilon = calculateEPSILON(samples, rxnFBS, ‘unique_epsilon’, false, ‘minimum’, 1e-3)
- INPUT:
samples: Matrix of sampled fluxes. rxnFBS: Array that contains the desired change: Forward,
Backward and Unchanged (+1;0;-1). This is calculated from the rules and differential expression analysis.
- OPTIONAL INPUTS:
varargin: ParameterName value pairs with the following options:
unique_epsilon: True = unique epsilon, False = each reaction has different epsilon (default=false)
minimum: Minimun value for epsilon requiered (default=1e-3)
- OUTPUT:
epsilon: Numeric value or array with the epsilon for the different reactions
- calculateGeneKOMatrix(model, varargin)¶
Build a rxn-gene matrix such that the i-th column indicates what reactions become inactive because of the i-th gene’s knock-out.
USAGE:
geneKO = calculateGeneKOMatrix(model, SeparateTranscript, printLevel)
- INPUT:
model: The COBRA Model structure
- OPTIONAL INPUTS:
- SeparateTranscript Character used to separate
different transcripts of a gene. (default = ‘’) Examples:
- SeparateTranscript = ‘’
gene 10005.1 ==> gene 10005.1
gene 10005.2 ==> gene 10005.2
gene 10005.3 ==> gene 10005.3
- SeparateTranscript = ‘.’
gene 10005.1
gene 10005.2 ==> gene 10005
gene 10005.3
- printLevel: Integer. 1 if the process is wanted to be shown
on the screen, 0 otherwise. (default = 1)
- OUTPUT:
- geneKO: Struct which contains matrix with blocked
reactions for each gene in the metabolic model, name of reactions and name of genes.
- diffexprs2rxnFBS(model, diff_exprs, Vref, varargin)¶
Returns Forward - Backward - Unchanged (+1;0;-1) for each reaction. (+1)R_f (-1)R_b (0)unchanged
USAGE:
rxnFBS = diffexprs2rxnFBS(model, diff_exprs, Vref, ‘SeparateTranscript’, ‘’, ‘logFC’, 0, ‘pval’,0.05)
- INPUT:
model: The COBRA Model structure diff_exprs: MATLAB Table including the information of the
differentially expressed genes. Required columns (with theses names):
gene ( ID of gene, same as in the meabolic model)
logFC (SOURCE VS TARGET)
pval (p-value or adjusted-p-value)
Vref: Reference flux of the model
- OPTIONAL INPUTS:
varargin: ParameterName value pairs with the following options:
SeparateTranscript: Character used to separate different transcripts of a gene. (default: ‘’)
logFC: minimum log2 (fold change) requiered (default = 0)
pval: maximum p-value admited (default = 0.05)
- OUTPUT:
- rxnFBS: array containting the information of altered
reactions: Forward - Backward - Unchanged (+1;0;-1);
- rMTA(model, rxnFBS, Vref, varargin)¶
Calculate robust Metabolic Transformation Analysis (rMTA) using the solver CPLEX. Code was prepared to be able to be stopped and be launched again by using a temporally file called ‘temp_rMTA.mat’. Outputs are cell array for each alpha (one simulation by alpha). It there is only one alpha, content of cell will be returned
USAGE:
[TSscore,deletedGenes,Vout] = rMTA(model, rxnFBS, Vref, alpha, epsilon, varargin)
- INPUTS:
model: Metabolic model structure (COBRA Toolbox format). rxnFBS: Array that contains the desired change: Forward,
Backward and Unchanged (+1;0;-1). This is calculated from the rules and differential expression analysis.
Vref: Reference flux of the source state.
- OPTIONAL INPUTS:
- alpha: Numeric value or array. Parameter of the quadratic
problem (default = 0.66)
- epsilon: Numeric value or array. Minimun perturbation for each
reaction (default = 0)
- parameterK: Numeric value value. Parameter to calculate rTS
score. (default = 100)
- rxnKO: Binary value. Calculate knock outs at reaction level
instead of gene level. (default = false)
- listKO: Cell array containing the name of genes or
reactions to knockout. (default = all)
timelimit: Time limit for the calculation of each knockout. (default = inf) SeparateTranscript: Character used to separate
different transcripts of a gene. (default = ‘’) Examples:
- SeparateTranscript = ‘’
gene 10005.1 ==> gene 10005.1
gene 10005.2 ==> gene 10005.2
gene 10005.3 ==> gene 10005.3
- SeparateTranscript = ‘.’
gene 10005.1
gene 10005.2 ==> gene 10005
gene 10005.3
- numWorkers: Integer: is the maximun number of workers
used by the solver. 0 = automatic, 1 = sequential, > 1 = parallel. (default = 0)
- FORCE_CPLEX: 1 to force CPLEX solver, 0 (default) for COBRA
solver.
- printLevel: Integer. 1 if the process is wanted to be shown
on the screen, 0 otherwise. (default = 1)
- OUTPUTS:
TSscore: Transformation score by each transformation deletedGenes: The list of genes/reactions removed in each knock-out Vref: Matrix of resulting fluxes
- rMTAsaveInExcel(xls_filename, TSscore, deletedGenes, alpha_values, varargin)¶
Save in Excel all the results calculated using rMTA.
USAGE:
rMTAsaveInExcel(output_file, TSscore, deletedGenes, alpha_values, varargin)
- INPUTS:
xls_filename: name of the resulting excel file TSscore: Transformation score by each transformation deletedGenes: The list of genes/reactions removed in each knock-out alpha_values: Numeric value or array. Parameter of the quadratic
problem (default = alpha_1, alpha_2,…)
- OPTIONAL INPUTS:
- gene_info: Table with the gene names and additional
information. It needs a column called ‘gene’, which contains the same information as the deletedGenes variable.
- differ_genes: Table with the gene differential expression
information. It needs a column called ‘gene’, which contains the same information as the deletedGenes variable.
- RankingGeneID: Caracter array with the ID of the gene which score
is desired to know.