Skip to content

OpenOmics/microbe-count

Repository files navigation

microbe-count 🔬

An awesome snakemake pipeline to quantify microbial composition

DOI GitHub release (latest SemVer including pre-releases) Docker Pulls
tests docs GitHub issues GitHub license

This is the home of the pipeline, microbe-count. Its long-term goals: to make estimating microbial composition from host-aligned data quick and easy.

Overview

Welcome to microbe-count! Before getting started, we highly recommend reading through microbe-count's documentation. This pipeline is a wrapper around several tools to estimate microbial composition from host-aligned paired-end BAM files. For each sample, reads that did not align to the host genome are extracted from the BAM file and converted to FASTQ format using samtools1. The unmapped reads are then classified taxonomically with kraken22, and bracken3 is used to estimate different taxonomic-level abundances from the Kraken2's output. Finally, per-sample Bracken outputs are merged into a count matrix with samples as rows and microbial species as columns using taxpasta4. The pipeline is designed to be highly scalable, reproducible, and easy to use.

The ./microbe-count pipeline is composed several inter-related sub commands to setup and run the pipeline across different systems. Each of the available sub commands perform different functions:

microbe-count is a pipeline to make running kraken2 and bracken easier, more reproducible, and more scalable. It relies on technologies like Singularity5 to maintain the highest-level of reproducibility. The pipeline consists of a series of data processing and quality-control steps orchestrated by Snakemake6, a flexible and scalable workflow management system, to submit jobs to a cluster.

The pipeline is compatible with data generated from Illumina short-read sequencing technologies. As input, it accepts a set of host alined paired-end BAM files and can be run locally on a compute instance or on-premise using a cluster. A user can define the method or mode of execution. The pipeline can submit jobs to a cluster using a job scheduler like SLURM (more coming soon!). A hybrid approach ensures the pipeline is accessible to all users.

Before getting started, we highly recommend reading through the usage section of each available sub command.

For more information about issues or trouble-shooting a problem, please checkout our FAQ prior to opening an issue on Github.

Dependencies

Requires: singularity>=3.5 snakemake<=7.32.4

At the current moment, the pipeline only has two dependencies: snakemake and singularity. With that being said, snakemake and singularity must be installed on the target system. Snakemake orchestrates the execution of each step in the pipeline. To guarantee the highest level of reproducibility, each step of the pipeline relies on versioned images from DockerHub. Snakemake uses singularity to pull these images onto the local filesystem prior to job execution, and as so, snakemake and singularity will be the only two dependencies in the future.

Installation

Please clone this repository to your local filesystem using the following command:

# Clone Repository from Github
git clone https://github.com/OpenOmics/microbe-count.git
# Change your working directory
cd microbe-count/
# Add dependencies to $PATH
# Skyline users should use
module load snakemake/7.22.0-ufanewz
# Get usage information
./microbe-count -h

Contribute

This site is a living document, created for and by members like you. microbe-count is maintained by the members of OpenOmics and is improved by continous feedback! We encourage you to contribute new content and make improvements to existing content via pull request to our GitHub repository.

Cite

If you use this software, please cite it as below:

@BibText
@software{kuhn_2026_20349359,
  author       = {Kuhn, Skyler},
  title        = {OpenOmics/microbe-count: v0.1.0},
  month        = may,
  year         = 2026,
  publisher    = {Zenodo},
  version      = {v0.1.0},
  doi          = {10.5281/zenodo.20349359},
  url          = {https://doi.org/10.5281/zenodo.20349359},
}
@APA
Kuhn, S. (2026). OpenOmics/microbe-count: v0.1.0 (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.20349359

References

1. Li, H., Handsaker, B., Wysoker, A., Fennell, T., Ruan, J., Homer, N., Marth, G., Abecasis, G., Durbin, R., & 1000 Genome Project Data Processing Subgroup (2009). The Sequence Alignment/Map format and SAMtools. Bioinformatics (Oxford, England), 25(16), 2078–2079. https://doi.org/10.1093/bioinformatics/btp352
2. Wood, D. E., Lu, J., & Langmead, B. (2019). Improved metagenomic analysis with Kraken 2. Genome biology, 20(1), 257. https://doi.org/10.1186/s13059-019-1891-0
3. Lu, J., Breitwieser, F. P., Thielen, P., & Salzberg, S. L. (2017). Bracken: estimating species abundance in metagenomics data. PeerJ. Computer science, 3, e104. https://doi.org/10.7717/peerj-cs.104
4. Beber, M. E., Borry, M., Stamouli, S., & Fellows Yates, J. A. (2023). TAXPASTA: TAXonomic Profile Aggregation and STAndardisation. Journal of Open Source Software, 8(87), 5627. https://doi.org/10.21105/joss.05627
5. Kurtzer GM, Sochat V, Bauer MW (2017). Singularity: Scientific containers for mobility of compute. PLoS ONE 12(5): e0177459.
6. Koster, J. and S. Rahmann (2018). "Snakemake-a scalable bioinformatics workflow engine." Bioinformatics 34(20): 3600.

About

Quantifies microbial composition from host-aligned sequencing data.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from OpenOmics/baseline