A tool for the completion of metabolic networks

Metabolic network completion

Large-scale metabolic networks as well as measured data sets suffer from substantial incompleteness. Meneco is a tool for metabolic network completion. It can be used to check whether a network provides the synthesis routes to comply with the required functionality described by the producibility of metabolites.

In particular, it tests whether it is possible to synthesize so called target metabolites from a set of seed metabolites. For networks that fail this test Meneco can attempt to complete the network by importing reactions from a metabolic reference database such that the resulting network provides the required functionality.

Meneco can identify unproducible target metabolites and computes minimal extensions to the network that satisfy the producibility constraints. Additionally, it can compute the union and intersection of all minimal networks extensions without enumerating all minimal network extensions. Meneco builds upon a formal method for analyzing large-scale metabolic networks. This qualitative approach describes the bio-synthetic capacities of metabolic networks. Implementing this approach, Meneco maps its principles into Answer Set Programming to express the producibility constraints for a set of metabolites.


You can install Meneco by running:

pip install --user meneco

On Linux the executable script can then be found in ~/.local/bin

and on MacOS the script is under /Users/YOURUSERNAME/Library/Python/3.6/bin.

Usage of Command line interface

You can download the Meneco User Guide. Typical usage is:

meneco -d draftnetwork.sbml -s seeds.sbml -t targets.sbml -r repairnetwork.sbml

For more options you can ask for help as follows:

usage: meneco [-h] -d DRAFTNET -s SEEDS -t TARGETS [-r REPAIRNET]
                   [--enumerate] [--json]

optional arguments:
  -h, --help            show this help message and exit
  -d DRAFTNET, --draftnet DRAFTNET
                        metabolic network in SBML format
  -s SEEDS, --seeds SEEDS
                        seeds in SBML format
  -t TARGETS, --targets TARGETS
                        targets in SBML format
  -r REPAIRNET, --repairnet REPAIRNET
                        perform network completion using REPAIRNET a metabolic
                        network in SBML format
  --enumerate           enumerate all minimal completions
  --json                produce JSON output

Usage as a library

You can use Meneco from python by calling the command run_meneco() with the paths of files as input arguments and a boolean value for the enumeration (True for the enumeration, else False) :

from meneco import run_meneco

result = run_meneco(draftnet="toy/draft.sbml",

The output will be the set of unproducible targets, reconstructable targets, a dictionnary of essentials reactions for each target, one minimal solution, the set of reactions belonging to the intersection of solutions, the set of reactions belonging to the union of solutions and a list of lists corresponding to the reactions for each solution (if enumeration == True).

For a step by step demonstration on how to use Meneco as a library, have a look at our notebooks here or here.


Sample files for the reconstruction of ectocarpus are available here: ectocyc.sbml, metacyc_16-5.sbml, seeds.sbml, targets.sbml.