ThermOptiCS Tutorial
ThermOptiCS
ThermOptiCS (TOCS) is an algorithm for constructing thermodynamically consistent context-specific metabolic models (CSMs). CSMs are reduced versions of GEMs tailored to specific conditions or environments, often based on transcriptomic data. TOCS ensures that the generated CSMs are not only flux-consistent but also thermodynamically consistent, leading to more accurate and reliable predictions. This is particularly important for studying metabolic phenotypes under specific conditions, such as disease states or during bioproduction processes. TOCS takes a GEM, core reactions derived from transcriptomic data, and TICs (identified by TOE) as inputs. It outputs a CSM that includes only the reactions necessary to sustain flux through the core reactions while adhering to thermodynamic consistency. In this tutorial, we take a random set of reactions from the GEM as core reactions and constructs a thermodyncamically consistent model.
Reading the COBRA model (The model should have the following fields: S, lb, ub, rxns)
fileName = 'iAF1260.mat';
model = readCbModel(fileName);
The input GEM to the TOCS should not have any blocked reactions in it hence by default TOCC is run on the GEM to remove the blocked reactions. Also the core reactions are also removed if it is thermodynamically blocked
tol = 1e-5;
% selecting a 500 random reaction ids as core reactions.
core = randsample(1:numel(model.rxns),500);
[CSM,bCoreRxns,TICs,Dir,CSM_TIC,CSM_Dir] = ThermOptiCS(model,core,tol);
The definition of each of the variables is as shown below:
CSM: The compact, consistent context-specific model built by tailoring the model
bCoreRxns: The input core reactions that are identified to be blocked and hence has to be removed from the GEM
TICs: The list of TICs for the input GEM
Dir: The corresponding list of directions of the TICs in the GEM
CSM_TIC: The list of TICs for the ouput CSM model
CSM_Dir: The corresponding list of directions of the TICs in the CSM
The TOCS algorithm includes a configurable timeLimit parameter, with a default value of 120 seconds. This parameter caps the execution time of each individual findMinNetwork mixed-integer linear program (MILP) problem. By adjusting this limit, users can trade off computational efficiency for solution quality, potentially leading to more compact solutions
Checking for the presence of thermodynamically blocked reactions in the CSM
a = ThermOptCC(CSM,tol,CSM_TIC,CSM_Dir);
nBlkd = sum(ismember(a,'Blocked'));
fprintf('The number of blocked reactions in the CSM is %d',nBlkd)