metage2metabo

From annotated genomes to metabolic screening in large scale microbiotas

https://github.com/aureme/metage2metabo

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 51 DOI reference(s) in README
  • Academic publication links
    Links to: ncbi.nlm.nih.gov, wiley.com, plos.org
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

bioinformatics bioinformatics-pipeline metabolic-models

Keywords from Contributors

metabolic-pathways metabolic-reconstruction
Last synced: 6 months ago · JSON representation

Repository

From annotated genomes to metabolic screening in large scale microbiotas

Basic Info
Statistics
  • Stars: 64
  • Watchers: 5
  • Forks: 6
  • Open Issues: 8
  • Releases: 26
Topics
bioinformatics bioinformatics-pipeline metabolic-models
Created almost 7 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License

README.md

PyPI version GitHub license Actions Status Documentation Status

M2M - metage2metabo

Metage2metabo is a Python3 (Python >= 3.8, tested with 3.8 and 3.9) tool to perform graph-based metabolic analysis starting from annotated genomes (reference genomes or metagenome-assembled genomes). It uses Pathway Tools in a automatic and parallel way to reconstruct metabolic networks for a large number of genomes. The obtained metabolic networks are then analyzed individually and collectively in order to get the added value of metabolic cooperation in microbiota over individual metabolism and to identify and screen interesting organisms among all.

m2m can be used as a whole workflow (m2m workflow, m2m metacom) or steps can be performed individually (m2m recon , m2m iscope , m2m cscope, m2m addedvalue, m2m mincom, m2m seeds).

A dedicated pipeline for the analysis of minimal community solution and their visualisation in power graphs is available with m2m analysis. More details in the documentation.

If you use M2M, please cite:

  • Belcour* A, Frioux* C, Aite M, Bretaudeau A, Hildebrand F, Siegel A. (2020). Metage2Metabo, microbiota-scale metabolic complementarity for the identification of key species. eLife 2020;9:e61968 https://doi.org/10.7554/eLife.61968.

  • Frioux, C., Fremy, E., Trottier, C., & Siegel, A. (2018). Scalable and exhaustive screening of metabolic functions carried out by microbial consortia. Bioinformatics, 34(17), i934–i943. https://doi.org/10.1093/bioinformatics/bty588.

If you use m2m_analysis, please cite additionally:

  • Bourneuf, L., & Nicolas, J. (2017). FCA in a Logical Programming Setting for Visualization-Oriented Graph Compression. Formal Concept Analysis, 14th International Conference, ICFCA 2017, Rennes, France, June 13-16, 2017, Proceedings. 89–105. https://doi.org/10.1007/978-3-319-59271-8_6.

If you use m2m recon, please cite the appropriate Pathway Tools paper, in addition to the first two references.

For a summary of M2M and its applications, you can take a look at these poster-slides, presented during the JOBIM 2020 conference.

Table of contents

General information about the modelling

M2M has two main dependencies for modelling metabolic networks: MeneTools and Miscoto. Accordingly metabolic models in M2M follow the producibility in metabolic networks as defined by the network expansion algorithm. Mainly, two rules are followed: * a recursive rule: the products of a reactions are producible if all reactants of this reaction are themselves producible * an initiation rule: producibility is initiated by the presence of nutrients, called seeds.

A metabolite that is producible from a set of nutrients is described as being "in the scope of the seeds". The computation is made using logic solvers (Answer Set Programming). The present modelling ignores the stoichiometry of reactions (2A + B --> C is considered equivalent to A + B --> C), and is therefore suited to non-curated or draft metabolic networks, as the ones built using M2M with the PathoLogic software of Pathway Tools handled by Mpwt. Many works have relied on network expansion to study organisms (here, here or there) and communities (here, here, or here). It has been compared, combined to steady-state modelling (Flux Balance Analysis).

License

This project is licensed under the GNU Lesser General Public License - see the LICENSE.md file for details.

Documentation

A more detailled documentation is available at: https://metage2metabo.readthedocs.io.

Technologies

Python 3 (Python 3.8 and 3.9 are tested). M2M uses a certain number of Python dependencies. An example of all these dependencies working for Ubuntu 18.04 is available in requirements.txt. They can be installed with: sh pip install -r requirements.txt --no-cache-dir In particular, m2m relies on: * mpwt to automatize metabolic network reconstruction with Pathway Tools * padmet to manage metabolic networks * menetools to analyze individual metabolic capabilities using logic programming. Requires MeneTools > 3.4 * miscoto to analyze collective metabolic capabilities and select communities within microbiota using logic programming. Requires MiSCoTo > 3.2

Also, m2m_analysis relies on other packages: * networkx to create graph from miscoto results * ete3 to add taxonomy information on the graph if you used mpwt taxon file * powergrasp to compress networkx graph

Requirements

  • Pathway Tools version 23.0 or higher (free for academic users) is required for m2m workflow and m2m recon. Metage2Metabo uses mpwt for multiprocessing and mpwt is not usable on Windows. Therefore, the reconstruction step of Metage2Metabo is not available on Windows.

    • Pathway Tools requirements
      • Linux: Gnome terminal and Libxm4 sh apt-get update && apt-get install gnome-terminal libxm4
      • All OS: NCBI Blast and a ncbirc file in user's home directory
        • Install with apt-get sh apt-get update && apt-get install gnome-terminal libxm4 ncbi-blast+ echo "[ncbi]\nData=/usr/bin/data" > ~/.ncbirc
        • Install with a dmg installer on MacOS
    • Pathway Tools install

      • Linux sh chmod +x ./pathway-tools-22.5-linux-64-tier1-install ./pathway-tools-22.5-linux-64-tier1-install and follow the instructions during the interactive install

      For a silent install: ./pathway-tools-22.5-linux-64-tier1-install --InstallDir your/install/directory/pathway-tools --PTOOLS_LOCAL_PATH your/chosen/directory/for/data/ptools --InstallDesktopShortcuts 0 --mode unattended * MacOS

      Dmg installer with a graphical interface. * Warning

      /!\ For all OS, Pathway Tools must be in $PATH. On Linux and MacOS: export PATH=$PATH:/your/install/directory/pathway-tools. Consider adding Pathway Tools in $PATH permanently by running sh echo 'export PATH="$PATH:your/install/directory/pathway-tools:"' >> ~/.bashrc Then source the bashrc file: ````sh source ~/.bashrc

  • Oog Power Graph Command line tool to create a svg file from the compressed graph at the end of m2m_analysis. This tool is a jar file (Oog.jar) so Java is needed to use it.

Installation

Developed and tested on Linux (Ubuntu, Fedora, Debian) and MacOs (version 10.14) with Python3.8.

Continuous Integration using GitHub Actions with Python3.8 and Python3.9 on ubuntu-latest, macos-latest and windows-latest (corresponding virtual environment).

Installation with pip

pip install Metage2Metabo

Availability on Docker and Singularity

Due to Pathway-Tools license, Docker or Singularity images are not available publicly.

But you can create these images by using the Dockerfile and Singularity recipes available inside the recipes folder. With these files, you can create container with Pathway-Tools and m2m.

More informations in the Docker and Singularity Documentation.

M2M commands

M2M commands are listed in the Commands Documentation.

```` Copyright (C) Dyliss & Pleiade License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html m2m is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

usage: m2m [-h] [-v] {recon,iscope,cscope,addedvalue,mincom,seeds,workflow,metacom,test} ...

From metabolic network reconstruction with annotated genomes to metabolic capabilities screening to identify organisms of interest in a large microbiota. For specific help on each subcommand use: m2m {cmd} --help

optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit

subcommands: valid subcommands:

{recon,iscope,cscope,addedvalue,mincom,seeds,workflow,metacom,test} recon metabolic network reconstruction iscope individual scope computation cscope community scope computation addedvalue added value of microbiota's metabolism over individual's mincom minimal communtity selection seeds creation of seeds SBML file workflow whole workflow metacom whole metabolism community analysis test test on sample data from rumen experiments

Requires: Pathway Tools installed and in $PATH, and NCBI Blast ````

Analysis of the minimal solutions

M2M performs a community minimization to find the union and intersection of the minimal communities. But it is possible to analyze all the minimal communities. M2M has a second command-line, named m2m_analysis that performs this analysis. This method is slower than m2m as all sollutions are enumerated. Then it creates a solutions graph and compresses it in a powergraph. Then it creates visualization (html file and optionnaly svg files).

More information about this command in the m2m_analysis Documentation.

```` usage: m2m_analysis [-h] [-v] {enum,graph,powergraph,workflow} ...

Detection of key species among communities. For specific help on each subcommand use: m2m_analysis {cmd} --help

optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit

subcommands: valid subcommands:

{enum,graph,powergraph,workflow} enum enumeration using miscoto graph graph creation with enumeration solution powergraph powergraph creation and visualization workflow whole workflow

Optional: Oog.jar file (https://github.com/AuReMe/metage2metabo/tree/main/external_dependencies) for powergraph svg creation. ````

Release Notes

Changes between version are listed on the release page.

Additional features

M2M relies on packages that can also be used independantly with more features: * mpwt: command-line and multi-process solutions to run Pathway Tools. Suitable to multiple reconstruction, for example genomes of a microbiota * menetools: individual metabolic capabilities analysis using graph-based producibility criteria * miscoto: community selection and metabolic screening in large-scal microbiotas, with or without taking a host into account

Citation

If you use Metage2Metabo, please cite:

Belcour* A, Frioux* C, Aite M, Bretaudeau A, Hildebrand F, Siegel A. Metage2Metabo, microbiota-scale metabolic complementarity for the identification of key species. eLife 2020;9:e61968 https://doi.org/10.7554/eLife.61968.

Also when using m2m, please cite the following articles:

  • MeneTools for individual scope computation:

Aite M, Chevallier M, Frioux C, Trottier C, Got J, Cortés M P, Mendoza S N, Carrier G, Dameron O, Guillaudeux N, Latorre M, Loira N, Markov G V, Maass A, Siegel A. Traceability, reproducibility and wiki-exploration for “à-la-carte” reconstructions of genome-scale metabolic models. PLOS Computational Biology 2018;14:e1006146. https://doi.org/10.1371/journal.pcbi.1006146.

  • MiSCoTo for community scope computation and minimal community selection:

Frioux C, Fremy E, Trottier C, Siegel A. Scalable and exhaustive screening of metabolic functions carried out by microbial consortia. Bioinformatics 2018;34:i934–43. https://doi.org/10.1093/bioinformatics/bty588.

If you use m2m recon, please cite additionally:

  • Pathway Tools for the reconstruction of draft metabolic networks (the article can be not up-to-date, look at the Publications on the BioCyc site):

Karp P D, Midford P E, Billington R, Kothari A, Krummenacker M, Latendresse M, Ong W K, Subhraveti P, Caspi R, Fulcher C, Keseler I M, Paley SM. Pathway Tools version 23.0 update: software for pathway/genome informatics and systems biology. Briefings in Bioinformatics 2021;22:109–126. https://doi.org/10.1093/bib/bbz104.

  • padmet library for metabolic network storage (same article for MeneTools):

Aite M, Chevallier M, Frioux C, Trottier C, Got J, Cortés M P, Mendoza S N, Carrier G, Dameron O, Guillaudeux N, Latorre M, Loira N, Markov G V, Maass A, Siegel A. Traceability, reproducibility and wiki-exploration for “à-la-carte” reconstructions of genome-scale metabolic models. PLOS Computational Biology 2018;14:e1006146. https://doi.org/10.1371/journal.pcbi.1006146.

If you use m2m_analysis, please cite additionally:

  • networkx for graph solution creation:

Hagberg A A, Schult D A, Swart P J. Exploring Network Structure, Dynamics, and Function using NetworkX, in: Varoquaux, G., Vaught, T., Millman, J. (Eds.), . Presented at the Proceedings of the Python in Science Conference (SciPy) 2008. 11–15. http://conference.scipy.org/proceedings/SciPy2008/paper_2/

  • Powergrasp for power graph compression:

Bourneuf L, Nicolas J. FCA in a Logical Programming Setting for Visualization-Oriented Graph Compression. In: Bertet K, Borchmann D, Cellier P, Ferre´ S (Eds). ICFCA 2017: Formal Concept Analysis 2017. Springer. 89–105. https://doi.org/10.1007/978-3-319-59271-8_6.

  • Oog command line tool for power graph visualisation:

Royer L, Reimann M, Andreopoulos B, Schroeder M, Unraveling Protein Networks with Power Graph Analysis. PLOS Computational Biology 2008;4:e1000108. https://doi.org/10.1371/journal.pcbi.1000108.

  • ete3 for taxonomic information used in power graphs:

Huerta-Cepas J, Serra F, Bork P. ETE 3: Reconstruction, Analysis, and Visualization of Phylogenomic Data. Molecular Biology and Evolution 2016;33:1635–1638. https://doi.org/10.1093/molbev/msw046.

Article data

Data used to create figures and tables are listed in the article_data folder, it contains:

  • gsmn_characteristics: scripts and tables to show the characteristics of draft metabolic networks created by M2M for gut, rumen and diabetes dataset.
  • diabetes_study: scripts and tables to create the figures of the diabetes analyses in the article.

Authors

Clémence Frioux and Arnaud Belcour, Univ Bordeaux, Inria, INRAE, Bordeaux, France, Univ Grenoble Alpes, Inria, Grenoble, France and Univ Rennes, Inria, CNRS, IRISA, Rennes, France.

Acknowledgement

People of Pathway Tools (SRI International) for their help integrating Pathway Tools with command line and multiprocessing in the mpwt package, used in M2M.

Owner

  • Name: AuReMe
  • Login: AuReMe
  • Kind: organization

AUtomated REconstruction of MEtabolic models

GitHub Events

Total
  • Issues event: 5
  • Watch event: 10
  • Issue comment event: 4
  • Push event: 11
  • Pull request event: 1
  • Create event: 1
Last Year
  • Issues event: 5
  • Watch event: 10
  • Issue comment event: 4
  • Push event: 11
  • Pull request event: 1
  • Create event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 462
  • Total Committers: 7
  • Avg Commits per committer: 66.0
  • Development Distribution Score (DDS): 0.649
Past Year
  • Commits: 26
  • Committers: 2
  • Avg Commits per committer: 13.0
  • Development Distribution Score (DDS): 0.423
Top Committers
Name Email Commits
Arnaud Belcour a****r@i****r 162
cfrioux c****x@g****m 151
Arnaud Belcour a****r@i****r 59
Arnaud Belcour a****r@g****m 46
Clémence Frioux c****x 25
Arnaud Belcour 1****r 10
cfrioux c****x@i****r 9
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 52
  • Total pull requests: 16
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 18
  • Total pull request authors: 4
  • Average comments per issue: 3.21
  • Average comments per pull request: 0.13
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 2
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 24 hours
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 1.75
  • Average comments per pull request: 0.5
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • cfrioux (12)
  • ArnaudBelcour (9)
  • ChenCongZ (7)
  • KDeaton (4)
  • ggmirandac (3)
  • choon-sim (2)
  • alsmadin01 (2)
  • LiZhihua1982 (2)
  • aassie (2)
  • jolespin (1)
  • pablo-roman-escriva (1)
  • gpchoupichou (1)
  • DafniGi (1)
  • Choaro (1)
  • WShorrock (1)
Pull Request Authors
  • ArnaudBelcour (13)
  • cfrioux (7)
  • hindrek (2)
  • TrellixVulnTeam (2)
Top Labels
Issue Labels
enhancement (8) bug (5)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 241 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 35
  • Total maintainers: 2
pypi.org: metage2metabo

Automatic reconstruction of draft metabolic networks with Pathway Tools and graph-based metabolic analysis

  • Versions: 35
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 241 Last month
Rankings
Dependent packages count: 7.3%
Stargazers count: 10.5%
Forks count: 14.3%
Average: 16.4%
Dependent repos count: 22.1%
Downloads: 27.9%
Maintainers (2)
Last synced: 7 months ago

Dependencies

docs/requirements.txt pypi
  • sphinx_rtd_theme *
.github/workflows/mirror_to_gitlab.yml actions
  • actions/checkout v2 composite
.github/workflows/pythonpackage.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/pythonpublish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
recipes/Dockerfile docker
  • ubuntu 20.04 build
requirements.txt pypi
  • MeneTools >=3.1.1
  • Miscoto >=3.1.1
  • bubbletools >=0.6.10
  • clyngor >=0.3.31
  • clyngor-with-clingo >=5.3.post1
  • ete3 ==3.1.1
  • mpwt >=0.6.1
  • padmet >=5.0.1
  • powergrasp ==0.8.18
setup.py pypi
  • menetools *
  • miscoto *
  • mpwt *
  • padmet *
docs/environment.yml pypi