DOI: 10.5061/dryad.7pvmcvf4v
title: Kinetic modules in biochemical networks/ Upstream Algorithm

description: Modules represent fundamental building blocks of cellular networks, and
 are thought to facilitate robustness of phenotypes against perturbations.
 While reaction kinetic shapes the concentration of components and reaction
 rates, its use in identification of modules entails knowledge of parameter
 values. Here we demonstrate that kinetic modules can be efficiently
 identified based on steady-state reaction rate couplings in large-scale
 biochemical networks endowed with mass action kinetics without knowledge
 of parameter values. We then link the kinetic modules of metabolic
 networks with robustness of metabolite concentrations to perturbations.
 Analyzing 34 metabolic network models of 26 organisms, we demonstrate that
 the ordered binding enzyme mechanism leads to increased concentration
 robustness compared to random binding. Our findings pave the way for usage
 of modules in synthetic biology and biotechnological
 applications.  
description: # Kinetic modules in biochemical networks/ Upstream Algorithm
 [https://doi.org/10.5061/dryad.7pvmcvf4v](https://doi.org/10.5061/dryad.7pvmcvf4v) The repository contains code, data, and (intermediate) results that allow the identification of * balanced complexes * concordant complexes * kinetic modules The identification of kinetic modules allows one to find metabolites of absolute concentration robustness and pairs with absolute concentration ratio robustness in large-scale metabolic networks. ## Dependencies * Matlab (tested with 2023b / 2024a) * R (tested with R-4.3.0), packages igraph and R.matlab * COBRA toolbox ([https://opencobra.github.io/cobratoolbox/stable/index.html](https://opencobra.github.io/cobratoolbox/stable/index.html)) to compare result with full coupling based on stoichiometry * F2C2 tool ([https://pubmed.ncbi.nlm.nih.gov/22524245/](https://pubmed.ncbi.nlm.nih.gov/22524245/)) (used with glpk) ## Main functions and scripts Extract the Upstream_Algorithm_Dryad.zip folder and move into folder `Upstream_Algorithm_Dryad/Upstream_Algorithm/` add the required tools (e.g. cobratoolbox) to your current directory. To run the code, download models from [Zenodo](https://doi.org/10.5281/zenodo.14970313) or add folder `Models/original/` and locate .xml files of models that you want to analyze. ### To run the whole pipeline To run the whole pipeline, execute run_kinetic_module_workflow.m The code will also add the folder `Code/` and its subfolders to Matlab's search directory The code executes the workflow for the Arabidopsis Core Model located in Models/original To run the code for another model, modify variables files and f as described in the script ### Models The original metabolic models downloaded from BiGG database or original publication can be found from related supplementary information on [Zenodo](https://doi.org/10.5281/zenodo.14970313) The kinetic model of *E. coli* can be downloaded from its original publication, DOI: [10.1038/ncomms13806](https://doi.org/10.1038/ncomms13806) An overview of the original publications is provided in Overview_model_original_publications.xlsx Model reactions were split assuming a fixed order of substrate binding or random binding The resulting models after preprocessing and splitting can be found in Models/models_with_elementary_steps ### Code Functions to run individual steps e.g. identification of balanced and concordant complexes can be found in folder Code/ The file run_kinetic_module_workflow.m will execute the functions given under Code. Hereby run_preprocessing.m is the first and will execute itself functions provided in the folder Code/preprocessing/. The folder Code/balanced_concordant_complexes/ includes fucntions related to the identifcation of balanced and concordant complexes. The folder Code/kinetic/modules/ includes the functions used to identify and summarize the kinetic modules in metabolic networks. Functions inside the subfoldes of Code/ are not dependent on each other and can be used seperately with one exception which is Code/preprocessing/get_AY_matrix.r that depends on Code/preprocessing/deficiency_sparse. ### Results The folder Results/ includes the following subfolder: * concordant/ the files include the model structure after splitting, the set of balanced complexes (B), concordant complexes (CC) for details on model variables check comments in the example workflow or individual functions * Figures/ code to generate result figures * MetDouble/ and MetSingle metabolite pairs with absolute concentration ratio robustness and metabolites with absolute concentration robustness, respectively \ MetDouble_* and MetSingle_* also considers enzymes and enzyme-substrate complexes, \ M_MetDouble_* and M_MetSingle_* includes free metabolites only \ (obtained from running script Results/write_M_MetSingle_M_MetDouble.m), \ if the generated .csv file in folder MetSingle or MetDouble is empty no metabolite with absolute concentration robustness or metabolite pair with absolute concentration ratio robustness could be found for the respective network. * Overview/ The files combined resulted in Supplementary Table 1 of the related manuscript (Table_ED-1.xlsx). Table_ED-1.xlsx includes the following information:  * general information (column A-H, no color) * overview of results related to kinetic modules and their size (column I-P, green color) * overview of results related to absolute concentration (ratio) robustness (column Q-X, orange color) * overview of results from stoichiometric coupling (column Y-AD, blue color) | Column | Information | | ------ | ---------------------------------------------------------------------------------------------------------------- | | A | Model number for counting | | B | Binding type considered (ordered or random) | | C | Model name | | D | Organism | | E | Number of complexes in the model | | F | Number of reactions in the model | | G | Number of free metabolites in the model | | H | Number of free metabolites, enzymes, and enzyme-metabolite complexes in the model | | I | Number of kinetic modules | | J | Number of kinetic modules with one complex | | K | Maximum size (number of complexes) of kinetic module | | L | Average size of kinetic modules | | M | Standard deviation of size of kinetic modules | | N | % of complexes from all model complexes found in largest kinetic module | | O | Number of reactions whose substrate is in the largest kinetic module | | P | % of reactions with substrate in largest kinetic module from all model reactions | | Q | Number of components with absolute concentration robustness | | R | % of components with absolute concentration robustness from all components (see column H) | | S | Number of component pairs with absolute concentration ratio robustness | | T | % of component pairs with absolute concentration ratio robustness from all unique combinations of two components | | U | Number of free metabolites with absolute concentration robustness | | V | % of free metabolites with absolute concentration robustness from all free metabolites (see column G) | | W | Number of free metabolite pairs with absolute concentration ratio robustness | | X | % of free metabolite pairs with absolute concentration ratio robustness | | Y | Number of modules identified from stoichiometric coupling | | Z | Number of modules with one complex identified from stoichiometric coupling | | AA | Maximum size of module identified from stoichiometric coupling | | AB | Average size of modules identified from stoichiometric coupling | | AC | Standard deviation size of modules identified from stoichiometric coupling | | AD | Fraction size of largest kinetic module to size of largest module identified from stoichiometric coupling | The script CreateResultTable.m combinds the Overview_*.csv results for the individual networks to one joint table. * Reactions_Giant/ List of reaction indices that belong to the giant kinetic module * stoichiometric coupling matrices obtained form F2C2 * files *.RData in Results/ results of running the Upstream algorithm in Code/kinetic_modules/code_kineticModule_analysis.R * the scipt write_M_MetSingle_M_MetDouble.m in the Results/ folder filters the free metabolites from the set of all identified components (enzymes, enzyme-substrate complexes, free metabolites) with absolute concentration robustness or pairs with absolute concentration ratio robustness * the script kinetic_E_coli_GEM_essential_giant.m checks if the largest kinetic module found in the kinetic model of *E. coli* shows a reduced number of essential reactions (Fisher exact test) in comparison to reactions not part of that module *Note: intermediate results of few models are missing as they were to large to be uploaded* ## Code/software * Matlab (tested with 2023b / 2024a) * R (tested with R-4.3.0), packages igraph and R.matlab * COBRA toolbox ([https://opencobra.github.io/cobratoolbox/stable/index.html](https://opencobra.github.io/cobratoolbox/stable/index.html)) to compare result with full coupling based on stoichiometry * F2C2 tool ([https://pubmed.ncbi.nlm.nih.gov/22524245/](https://pubmed.ncbi.nlm.nih.gov/22524245/)) (used with glpk) ## Access information Other publicly accessible locations of the data: * [https://github.com/ankueken/Upstream_Algorithm](https://github.com/ankueken/Upstream_Algorithm)