benchmarking and containerization of tools for analysis of complex non-clinical metagenomes.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Updating merge checklist Feb 12, 2018
container_images add container images directory Jun 9, 2018
docker_files Updated link Sep 11, 2018
docs Merge branch 'logo' into snakemake/uva Aug 6, 2018
examples/figures removed large files from example/data Sep 16, 2017
mkdocs-material-dib @ 8ba7060
scripts modified read filtering and functional inference Nov 15, 2017
workflows Removed errant forward slash Aug 28, 2018
mkdocs.yml update documentation to add HPC quickstart Aug 5, 2018
requirements.txt add requirements.txt file with mkdocs-pandoc Aug 4, 2018

See docs/ for documentation.


Dahak is a software suite that integrates state-of-the-art open source tools for metagenomic analyses. Tools in the dahak software suite will perform various steps in metagenomic analysis workflows including data pre-processing, metagenome assembly, taxonomic and functional classification, genome binning, and gene assignment. We aim to deliver the analytical framework as a robust and reliable containerized workflow system, which will be free from dependency, installation, and execution problems typically associated with other open-source bioinformatics solutions. This will maximize the transparency, data provenance (i.e., the process of tracing the origins of data and its movement through the workflow), and reproducibility.

Benchmarking Data

For purposes of benchmarking this project will use the following datasets:

Dataset Description
Shakya complete Complete metagenomic dataset from Shakya et al., 2013* containing bacterial and archaeal genomes
Shakya subset 50 50 percent of the reads from Shakya complete
Shakya subset 25 25 percent of the reads from Shakya complete
Shakya subset 10 10 percent of the reads from Shakya complete

*Shakya, M., C. Quince, J. H. Campbell, Z. K. Yang, C. W. Schadt and M. Podar (2013). "Comparative metagenomic and rRNA microbial diversity characterization using archaeal and bacterial synthetic communities." Environ Microbiol 15(6): 1882-1899.

Requirements and Installation

Dahak is not a standalone program, but rather a collection of workflows that are defined in Snakemake files. These workflows utilize Bioconda, Biocontainers, and Docker/Singularity containerization technologies to install and run software for different tasks.

The following software is required to run Dahak workflows:


  • Python 3
  • Snakemake
  • Conda
  • Singularity or Docker


  • (Required) Singularity >= 2.4 (does not require sudo access) or Docker (requires sudo access)
  • (Optional) Sun Grid Compute Engine
  • (Optional) Ubuntu 16.04 (Xenial)

See the Installing page for detailed instructions on installing each of the required components listed above, including Singularity and Docker.

See the Quickstart page for instructions on getting started running dahak workflows with Snakemake.


Dahak provides a set of workflow components that all fit together to perform various useful tasks.

See the Running Workflows page for some background on how to run workflows using singularity and snakemake.

See the Quickstart guide if you just want to get up and running with workflows.

Our target compute system is a generic cluster running Sun Grid Engine in an HPC environment; all Snakemake files are written for this target system.


Each workflow contains a walkthrough, which is a step-by-step guide of shell commands to run to execute each step of the workflow. These workflows use docker and require sudo access. While they are useful "by hand" guides to the workflows, they cannot be scaled, so they are provided primarily for instructional purposes.

Parameters and Configuration

See the Parameters and Configuration page for details about controlling how each workflow operates, and how to use parameter presets.


Please read for details on our code of conduct and the process for submitting pull requests to us.


Phillip Brooks1, Charles Reid1, Bruce Budowle2, Chris Grahlmann3, Stephanie L. Guertin3, F. Curtis Hewitt3, Alexander F. Koeppel4, Oana I. Lungu3, Krista L. Ternus3, Stephen D. Turner4,5, C. Titus Brown1

1School of Veterinary Medicine, University of California Davis, Davis, CA, United States of America

2Institute of Applied Genetics, Department of Molecular and Medical Genetics, University of North Texas Health Science Center, Fort Worth, Texas, United States of America

3Signature Science, LLC, Austin, Texas, United States of America

4Department of Public Health Sciences, University of Virginia, Charlottesville, VA, United States of America

5Bioinformatics Core, University of Virginia School of Medicine, Charlottesville, VA, United States of America

See also the list of contributors who participated in this project.


This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.


  • Bioconda
  • Hat tip to anyone whose code was used