A platform for trimming and extracting genome-scale metabolic models (GEMs)

At the most basic abstraction level, biological phenomena can be represented as mathematical graphs. Genome-scale metabolic models (GEMs) are an example, that describe the associations between genes, proteins, and reactions of an organism. Such models are typically encoded as multipartite graphs, which are partitioned into distinct subsets of vertices representing metabolites, reactions, and enzymes. Since topological analyses of large-scale multipartite graphs is challenging, one is often identifying subnetworks from a whole genome metabolic model. Extracting the reaction-centric (links of reactions) or enzyme-centric (links of enzymes) view simplifies the graph structure and shifts its perspective – from kinetic interactions to phenotypical connections. This opens opportunities for novel topological analyses of the metabolism.

In this project, we describe a web-based tool called GEMtractor to trim models encoded in SBML. It can be used to extract subnetworks, focusing on reaction- and enzyme-centric views into the model. The GEMtractor is licensed under the terms of GPLv3 and developed at – a public version is available at

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.

The GEMtractor comes with an extensive FAQ, proper Python documentation and example client implementations in different programming languages. Automatic tests cover most of its source code to prevent future programming mistakes and the GEMtractor exposes a monitoring endpoint to keep an eye on its health.

The GEMtractor makes it possible to concentrate on less complex views into a model, facilitating the comparison of genome-scale models through topological analysis.


Visit our official Project-Website:

Related publications

GEMtractor: Extracting Views into Genome-scale Metabolic Models

Scharm M, Wolkenhauer O, Jalili M, Salehzadeh-Yazdi A