GEMtractor: Extracting Views into Genome-scale Metabolic Models

Summary Computational metabolic models typically encode for graphs of species, reactions, and enzymes. Comparing genome-scale models through topological analysis of multipartite graphs is challenging. However, in many practical cases it is not necessary to compare the full networks. The GEMtractor is a web-based tool to trim models encoded in SBML. It can be used to extract subnetworks, for example focusing on reaction- and enzyme-centric views into the model. Availability and Implementation The GEMtractor is licensed under the terms of GPLv3 and developed at github.com/binfalse/GEMtractor – a public version is available at sbi.uni-rostock.de/gemtractor. Contact martin.scharm@uni-rostock.de and ali.salehzadeh-yazdi@uni-rostock.de


22
At the most basic abstraction level, biological phenomena can be represented as mathematical graphs.

23
Genome-scale metabolic models (GEMs) are an example, that describe the associations between genes, 24 proteins, and reactions of an organism.Such models are typically encoded as multipartite graphs, which 25 are partitioned into distinct subsets of vertices representing metabolites, reactions, and enzymes.Since 26 topological analyses of large-scale multipartite graphs is challenging, one is often identifying subnetworks 27 from a whole genome metabolic model.Extracting the reaction-centric (links of reactions) or enzyme-28 centric (links of enzymes) view simplifies the graph structure and shifts its perspective -from kinetic 29 interactions to phenotypical connections.This opens opportunities for novel topological analyses of the 30 metabolism (Lacroix et al., 2008).

31
The idea of extracting and analysing the enzyme-centric network of a GEM is not new.However,  Here we introduce the GEMtractor, a web-based tool to extract reaction-centric and enzyme-centric 35 views of genome-scale metabolic models (GEM).GEMtractor allows for trimming of models to, for example, remove currency metabolites or to focus on context-based models.The GEMtractor is a free 37 software and easy to install, including an increased privacy and speed because it can be deployed locally.

39
The GEMtractor is a Django web application, that we developed with a focus on privacy, compatibility 40 and speed.The interactive front-end is implemented using jQuery and designed using W3CSS.Thus, it 41 works in all modern browsers as well as on mobile devices; there is no need for registration.Figure 1 42 shows a typical workflow when using the GEMtractor.

43
The GEMtractor uses libsbml (Bornstein et al., 2008) to support all models encoded in SBML.To   We would like to thank Markus Wolfien and Tom Gebhardt for creative brainstormings.

32
Horne et al. (2004) is not available anymore and Asgari et al. (2018) apparently mistook the reaction-33 centric network for an enzyme-centric network. 34 44start an analysis, the user needs to select a model.Users may upload their own models or choose a as SBML, GraphML, GML, DOT, or CSV for subsequent analyses.

Figure 1 .
Figure 1.The workflow when using the GEMtractor: A user selects a model, trims undesired entities, extracts a view into the model, and exports the results in exchangeable formats.

100 FUNDING101
This work was supported by the German Federal Ministry of Education and Research (BMBF) as part of 102 the ERACoBioTech project BESTER, FKZ 031 B0594B. 103 Decoding the extracting can be encoded in JSON jobs and sent to the API endpoint, which will take care of the 74 computation and immediately return the results.Client implementations in several languages are shipped 75 with the source code.Due to Django's architecture, the heart of the GEMtractor can be used as a Python Even though the GEMtractor can basically handle all valid SBML models, some models cause 78 problems.For example, the computation time increases with model size, which may cause timeouts at the 79 web server.Similarly the maximum upload size allowed by the web server could terminate a data transfer, This is primarily the case for models from BioModels, as those models are often encoded in SBML level 84 2. If the GEMtractor finds a gene association but is not able to parse it, it will stop and report an error.While the GEMtractor was built for GEMs, it is applicable to any SBML model.Extracting an enzyme 86 network my be pointless, as kinetic models lack the gene association annotations, but you can 87 still trim models to focus on submodels or extract the reaction-centric network for subsequent analyses.Our public GEMtractor instance at sbi.uni-rostock.de/gemtractorshould be useful for the majority of 89 analyses on GEMs.However, if you still need extended quotas, cache options, web server upload limits 90 or timeouts, you are invited to install your own GEMtractor.The installation process is documented on 91 the GEMtractor's website and in the source code.It requires a Python application server (e.g.gunicorn) (Chelliah et al., 2015)GG(King et al., 2016)or BioModels(Chelliah et al., 2015).76 module if a network connection is undesired.77 83 85 88 92 to deal with the dynamic pages, and a default web server (e.g.nginx) to serve the static files.However, if 93 you are happy with Docker, installing a GEMtractor boils down to a single command line.94 As documentation is key to dissemination, the GEMtractor comes with an extensive FAQ, proper 95 Python documentation and example client implementations in different programming languages.Auto-96 matic tests cover most of its source code to prevent future programming mistakes and the GEMtractor 97 exposes a monitoring endpoint to keep an eye on its health.98 ACKNOWLEDGEMENTS 99