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.
To get a first impression, please visit https://snakemake.github.io.
To properly understand what Snakemake can do for you please read our “rolling” paper.
News about Snakemake are published via Twitter.
Best practices for writing Snakemake workflows can be found here.
For more advanced usage on various platforms, see the Snakemake Executor Tutorials.
For releases, see Changelog.
In case of questions, please post on stack overflow.
To discuss with other Snakemake users, use the discord server. Please do not post questions there. Use stack overflow for questions.
For bugs and feature requests, please use the issue tracker.
When using Snakemake, please cite our “rolling” paper
Mölder, F., Jablonski, K.P., Letcher, B., Hall, M.B., Tomkins-Tinch, C.H., Sochat, V., Forster, J., Lee, S., Twardziok, S.O., Kanitz, A., Wilm, A., Holtgrewe, M., Rahmann, S., Nahnsen, S., Köster, J., 2021. Sustainable data analysis with Snakemake. F1000Res 10, 33.
This paper will also be regularly updated when Snakemake receives new features. See 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 Workflow Catalog
An automatically scraped catalog of publicly available Snakemake workflows for any kind of data analysis.
- 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.
- Snakemake API documentation
The documentation of the Snakemake API for programmatic access and developement on Snakemake.
Conda-Forge is a community driven distribution of Conda packages that can be used from Snakemake for creating completely reproducible workflows by defining the used software versions and providing binaries.
Bioconda, a partner project of conda-forge, is a community driven distribution of bioinformatics-related Conda packages that can be used from Snakemake for creating completely reproducible workflows by defining the used software versions and providing binaries.