Skip to content

💎 An easy-to-use workflow for generating context specific genome-scale metabolic models and predicting metabolic interactions within microbial communities directly from metagenomic data

License

Notifications You must be signed in to change notification settings

Tom-A-Lynch/metaGEM

 
 

Repository files navigation

💎 metaGEM

An easy-to-use workflow for generating context specific genome-scale metabolic models and predicting metabolic interactions within microbial communities directly from metagenomic data.

Nucleic Acids Research bioRxiv Build Status GitHub license Gitter chat DOI Open In Colab

metawrapfigs_final4 001

metaGEM is a Snakemake workflow that integrates an array of existing bioinformatics and metabolic modeling tools, for the purpose of predicting metabolic interactions within bacterial communities of microbiomes. From whole metagenome shotgun datasets, metagenome assembled genomes (MAGs) are reconstructed, which are then converted into genome-scale metabolic models (GEMs) for in silico simulations. Additional outputs include abundance estimates, taxonomic assignment, growth rate estimation, pangenome analysis, and eukaryotic MAG identification.

You can access the metaGEM-generated results for the publication here.

🧉 Try it now

You can set up and use metaGEM on the cloud by following along the google colab notebook.

Open In Colab

Please note that google colab does not provide the computational resources necessary to fully run metaGEM on a real dataset. This notebook demonstrates how to set up and use metaGEM by perfoming the first steps in the workflow on a toy dataset.

⚙️ Installation

You can set up metaGEM on your cluster with just one line of code 😉

git clone https://github.com/franciscozorrilla/metaGEM.git && cd metaGEM && rm -r .git && bash env_setup.sh

Congratulations, you can now start using metaGEM. Verify your installation by using the check task:

bash metaGEM.sh --task check

Please consult the setup page in the wiki for further configuration instructions.

installation

🔧 Usage

Run metaGEM without any arguments to see usage instructions:

bash metaGEM.sh
Usage: bash metaGEM.sh [-t|--task TASK] 
                       [-j|--nJobs NUMBER OF JOBS] 
                       [-c|--cores NUMBER OF CORES] 
                       [-m|--mem GB RAM] 
                       [-h|--hours MAX RUNTIME]
                       [-l|--local]
                       
 Options:
  -t, --task        Specify task to complete:

                        SETUP
                            createFolders
                            downloadToy
                            organizeData
                            check

                        CORE WORKFLOW
                            fastp 
                            megahit 
                            crossMapSeries
                            kallistoIndex
                            crossMapParallel
                            kallisto2concoct 
                            concoct 
                            metabat
                            maxbin 
                            binRefine 
                            binReassemble 
                            extractProteinBins
                            carveme
                            memote
                            organizeGEMs
                            smetana
                            extractDnaBins
                            gtdbtk
                            abundance

                        BONUS
                            grid
                            prokka
                            roary
                            eukrep
                            eukcc

                        VISUALIZATION (in development)
                            stats
                            qfilterVis
                            assemblyVis
                            binningVis
                            taxonomyVis
                            modelVis
                            interactionVis
                            growthVis

  -j, --nJobs       Specify number of jobs to run in parallel
  -c, --nCores      Specify number of cores per job
  -m, --mem         Specify memory in GB required for job
  -h, --hours       Specify number of hours to allocated to job runtime
  -l, --local       Run jobs on local machine for non-cluster usage

💩 Tutorial

metaGEM can be used to explore your own gut microbiome sequencing data from at-home-test-kit services such as unseen bio. The following tutorial showcases the metaGEM workflow on two unseenbio samples.

Tutorial

🏛️ Wiki

Refer to the wiki for additional usage tips, frequently asked questions, and implementation details.

wiki

🐍 Workflow

Core

  1. Quality filter reads with fastp
  2. Assembly with megahit
  3. Draft bin sets with CONCOCT, MaxBin2, and MetaBAT2
  4. Refine & reassemble bins with metaWRAP
  5. Taxonomic assignment with GTDB-tk
  6. Relative abundances with bwa and samtools
  7. Reconstruct & evaluate genome-scale metabolic models with CarveMe and memote
  8. Species metabolic coupling analysis with SMETANA

Bonus

  1. Growth rate estimation with GRiD, SMEG or CoPTR
  2. Pangenome analysis with roary
  3. Eukaryotic draft bins with EukRep and EukCC

🏗️ Active Development

If you want to see any new additional or alternative tools incorporated into the metaGEM workflow please raise an issue or create a pull request. Snakemake allows workflows to be very flexible, so adding new rules is as easy as filling out the following template and adding it to the Snakefile:

rule package-name:
    input:
        rules.rulename.output
    output:
        f'{config["path"]["root"]}/{config["folder"]["X"]}/{{IDs}}/output.file'
    message:
        """
        Helpful and descriptive message detailing goal of this rule/package.
        """
    shell:
        """
        # Well documented command line instructions go here
        
        # Load conda environment 
        set +u;source activate {config[envs][package]};set -u;

        # Run tool
        package-name -i {input} -o {output}
        """

🖇️ Publications

The metaGEM workflow was used in the following publication(s):

Plastic-degrading potential across the global microbiome correlates with recent pollution trends
Jan Zrimec, Mariia Kokina, Sara Jonasson, Francisco Zorrilla, Aleksej Zelezniak
bioRxiv 2020.12.13.422558; doi: https://doi.org/10.1101/2020.12.13.422558 

arxiv

🍾 Please cite

metaGEM: reconstruction of genome scale metabolic models directly from metagenomes
Francisco Zorrilla, Filip Buric, Kiran R Patil, Aleksej Zelezniak
Nucleic Acids Research, 2021; gkab815, https://doi.org/10.1093/nar/gkab815

Nucleic Acids Research

📲 Contact

Please reach out with any comments, concerns, or discussions regarding metaGEM.

Gitter chat Twitter LinkedIn email

About

💎 An easy-to-use workflow for generating context specific genome-scale metabolic models and predicting metabolic interactions within microbial communities directly from metagenomic data

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 71.9%
  • Shell 14.4%
  • R 13.7%