With Snakemake, data analysis workflows are defined via an easy to read, adaptable, yet powerful specification language on top of Python. Each rule describes a step in an analysis defining how to obtain output files from input files. Dependencies between rules are determined automatically.
By integration with the Conda package manager and container virtualization , all software dependencies of each workflow step are automatically deployed upon execution.
Rapidly implement analysis steps via direct script and jupyter notebook integration. Easily create and employ re-usable tool wrappers and split your data analysis into well-separated modules.
Automatic, interactive, self-contained reports ensure full transparency from results down to used steps, parameters, code, and software.
Workflows scale seamlessly from single to multicore, clusters or the cloud, without modification of the workflow definition and automatic avoidance of redundant computations.