The Snakemake workflow management system is a tool to create reproducible and scalable data analyses. Workflows are described via a human readable, Python based language. They can be seamlessly scaled to server, cluster, grid and cloud environments, without the need to modify the workflow definition. Finally, Snakemake workflows can entail a description of required software, which will be automatically deployed to any execution environment.
Snakemake is highly popular with, >5 new citations per week. For an introduction, please visit https://snakemake.github.io.
To get a first impression, please visit https://snakemake.github.io. News about Snakemake are published via Twitter. To learn Snakemake, please do the tutorial
, and see the FAQ <project_info-faq>
. For more advanced usage on various platforms, see the executor_tutorial
.
- For releases, see
Changelog <changelog>
. - Check
frequently asked questions (FAQ) <project_info-faq>
. - In case of questions, please post on stack overflow.
- To discuss with other Snakemake users, you can use the mailing list. Please do not post questions there. Use stack overflow for questions.
- For bugs and feature requests, please use the issue tracker.
- For contributions, visit Snakemake on Github and read the
guidelines <project_info-contributing>
.
See Citations <project_info/citations>
for more information.
- Snakemake Wrappers Repository
The Snakemake Wrapper Repository is a collection of reusable wrappers that allow to quickly use popular tools from Snakemake rules and workflows.
- Snakemake Workflows Project
This project provides a collection of high quality modularized and re-usable workflows. The provided code should also serve as a best-practices of how to build production ready workflows with Snakemake. Everybody is invited to contribute.
- Snakemake Profiles Project
This project provides Snakemake configuration profiles for various execution environments. Please consider contributing your own if it is still missing.
- Bioconda
Bioconda can be used from Snakemake for creating completely reproducible workflows by defining the used software versions and providing binaries.
getting_started/installation tutorial/tutorial tutorial/short executor_tutorial/tutorial
executing/cli executing/cluster executing/cloud executing/grouping executing/caching executing/interoperability executing/monitoring
snakefiles/writing_snakefiles snakefiles/rules snakefiles/configuration snakefiles/modularization snakefiles/remote_files snakefiles/utils snakefiles/deployment snakefiles/reporting snakefiles/testing
api_reference/snakemake api_reference/snakemake_utils api_reference/internal/modules
project_info/citations project_info/more_resources project_info/faq project_info/contributing project_info/authors project_info/history project_info/license