Jul 26, 2020. | By: @vsoch

This week for the sofware survey we are highlighting snakemake/snakemake, a workflow manager for Python that makes it easy to create and run a workflow from a high performance computing environment to a cloud provider.

or learn more about it in the following sections.

What is snakemake?

From the snakemake documentation:

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.

The great thing about Snakemake is that is empowers scientific programmers, many of which are comfortable with Python, to create and execute workflows at scale. At the same time, you can store them in a GitHub repository. And this shows in it’s usage! Did you know that (as of the writing of this post) Snakemake gets about 3 new citations per week?

👉️ snakemake documentation

How do I cite it?

See this section of the documentation for more details on citation.

    author = {Köster, Johannes and Rahmann, Sven},
    title = "{Snakemake—a scalable bioinformatics workflow engine}",
    journal = {Bioinformatics},
    volume = {28},
    number = {19},
    pages = {2520-2522},
    year = {2012},
    month = {08},
    abstract = "{Summary: Snakemake is a workflow engine that provides a readable Python-based workflow definition language and a powerful execution environment that scales from single-core workstations to compute clusters without modifying the workflow. It is the first system to support the use of automatically inferred multiple named wildcards (or variables) in input and output filenames.Availability:}",
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/bts480},
    url = {},
    eprint = {},

How do I get started?

If you want to get started with snakemake, here are some good links!

You can also post questions on the GitHub issues board.

How do I contribute to the software survey?

or read more about annotation here. You can clone the software repository to do bulk annotation, or annotation any repository in the software database, We want annotation to be fun, straight-forward, and easy, so we will be showcasing one repository to annotate per week. If you’d like to request annotation of a particular repository (or addition to the software database) please don’t hesitate to open an issue or even a pull request.

Where can I learn more?

You might find these other resources useful:

For any resource, you are encouraged to give feedback and contribute!


News 2

Tutorials 2

Software 33

Recent Posts