M2R: a Python add-on to cobrapy for modifying human genome-scale metabolic reconstruction using the gut microbiota models

Abstract Motivation The gut microbiota is the human body’s largest population of microorganisms that interact with human intestinal cells. They use ingested nutrients for fundamental biological processes and have important impacts on human physiology, immunity and metabolome in the gastrointestinal tract. Results Here, we present M2R, a Python add-on to cobrapy that allows incorporating information about the gut microbiota metabolism models to human genome-scale metabolic models (GEMs) like RECON3D. The idea behind the software is to modify the lower bounds of the exchange reactions in the model using aggregated in- and out-fluxes from selected microbes. M2R enables users to quickly and easily modify the pool of the metabolites that enter and leave the GEM, which is particularly important for those looking into an analysis of the metabolic interaction between the gut microbiota and human cells and its dysregulation. Availability and implementation M2R is freely available under an MIT License at https://github.com/e-weglarz-tomczak/m2r. Supplementary information Supplementary data are available at Bioinformatics online.

1 An example of use: Trueperella pyogenes MS249 and Vibrio fluvialis 560 In order to provide an insight into the proposed method, we present a flux-based analysis of the impact of Trueperella pyogenes MS249 and Vibrio fluvialis 560 on the human genome-scale metabolic reconstruction (Recon3DModel 301).
In this experiment, these two gut microbiota were selected at random. Our goal is to show differences in fluxes distribution in a host model modified by M2R.
In the presented analysis, we used biomass maintenance as the objective function for the Flux Balance Analysis (FBA). We consider four models with α = 0.5: We present flux distributions for: • Glycolysis pathway (Subsection 1.1); • Selected exchange reactions (Subsection 1.2); • Biomass objective function (Subsection 1.3).
We used Escher 1 for visualizing the fluxes, together with CobraPy 2 for FBA.

Glycolysis pathway
In Figures 1, 2, 3 and 4 the flux distribution of glycolysis pathway for, respectively, Recon, Recon+T, Recon+V and Recon+TV are presented. A closer inspection of the distributions indicates that indeed including selected gut microbiota results in different fluxes. For instance, including Trueperella pyogenes MS249 alone causes the flux of LDH L increases from −500 in Recon to 0 in Recon+T. Similarly, the flux of ASPTAm drops from 150 to 0. Interestingly, inclusion of both Trueperella pyogenes MS249 and Vibrio fluvialis 560 results in a flux distribution that partially resemblences the flux distribution of Recon+T and partially matches the flux distribution of Recon+V.

Exchange reactions
In Figures 5, 6, 7 and 8 the flux distribution of exchange reactions for, respectively, Recon, Recon+T, Recon+V and Recon+TV are presented. Here, the differences among flux distributions are more apparent than in the case of glycolysis pathway. For instance, EX glc D e varies from 305 for Recon to 0 (Recon+T), 6.6 (Recon+V) and 0 (Recon+TV). Another significant difference is for EX o2 e that increases from −500 for Recon to −314 (Recon+T), −101 (Recon+V) and −208 (Recon+TV). There are more differences, however, our goal is only to visualize that there are differences rather than providing in-depth analysis.

Biomass
In Figures 9, 10, 11 and 12 the flux distribution of the biomass reaction for, respectively, Recon, Recon+T, Recon+V and Recon+TV are presented. In all cases, the biomass reaction value equals 378.

Introduction
The M2R program is freely available online at: https://github.com/e-weglarz-tomczak/m2r. It is a self-contained add-on, namely, it could be run in a console by typing: python m2r.py or python3 m2r.py Alternatively, it could be run in a Python IDE.
Additionally, we provide an example of using M2R in a jupyter notebook file m2r_example.ipynb where all separate steps are given. In this document, we show results for all steps.

Providing information to the program
After starting the program, a welcome message appears followed by messages about providing information about a directory with gut microbiota models, a directory with a human genome-scale metabolic model, a normalization value, an α value, and a name of a new metabolic model.

Aggregating in-and out-fluxes and normalization
The next step is the aggregation of the gut microbiota metabolite in-and out-fluxes: The function above returns the following: After the aggregation, we run the normalization step: that returns the following:

Modifying lower bounds of the model
The last step is about modifying the lower bounds of the metabolic model: An exemplary reaction with modified lower bound value is presented below (left: before the change, right: after the change):

Remarks
• The jupyter notebook indicates partial results so that a user can understand each step.
• The program is self-contained and outputs a modified model.
• The proposed approach is implemented as a Python class that could be extended or modified.
• The code is provided under the MIT License.