Workflows with Snakemake

University of Edinburgh


8 - 10 November

09:00 - 17:00

Instructors: Tim Booth

Helpers: Jan Verburg, Jesko Wagner


Workflows with Snakemake

Researchers needing to implement data analysis workflows face a number of common challenges, including the need to organise tasks, make effective use of compute resources, handle any errors in processing, and document and share their methods. The Snakemake workflow system provides effective solutions to these problems. By the end of the course, you will be confident in using Snakemake to run real workflows in your day-to-day research.

Snakemake workflows are described by special scripts that define steps in the workflow as rules, and these are then used by Snakemake to construct and execute a sequence of shell commands to yield the desired output. Re-calculation of existing results is avoided where possible, so you can add or update input data, then efficiently generate an updated result. Workflows can be seamlessly scaled to server, cluster, grid and cloud environments without the need to modify the workflow definition.

This course is primarily intended for researchers who need to automate data analysis tasks for biological research involving next-generation sequence data, for example RNA-seq analysis, variant calling, CHIP-Seq, bacterial genome assembly, etc. However, Snakemake has many uses beyond this and the course does not assume any specialist biological knowledge. The language used to write Snakemake workflows is Python-based, but no prior knowledge of Python is required or assumed either. We do require that attendees must have familiarity with using the Linux command line (pipes, redirects, variables, …).


Ed-DaSH is a Data Science training programme for Health and Biosciences. The team has developed new lessons using The Carpentries platform. See workshops for dates and registration details. All Ed-DaSH workshops are delivered remotely.

General Information

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: 8 - 10 November. Add to your Google Calendar.

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

Contact: Please email for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Code of Conduct

Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.


Please be sure to complete the workshop survey (can be completed before you attend).

Ed-DaSH Survey


The lesson taught in this workshop is being piloted and a precise schedule is yet to be established.

Day 1 : 8th November (09:00 - 17:00)

Introduction to Snakemake Running commands with Snakemake
Placeholders and Wildcards
Chaining Rules
How Snakemake plans what jobs to run
Morning 10:30 - 10:45
Lunch 12:30 - 13:30
Afternoon 15:00 - 15:15

Day 2 : 9th November (09:00 - 17:00)

Introduction to Snakemake - Cont. Processing lists of inputs
Handling awkward programs
Configuration workflows
Optimising workflow performance
Morning 10:30 - 10:45
Lunch 12:30 - 13:30
Afternoon 15:00 - 15:15

Day 3 : 10th November (09:00 - 17:00)

Introduction to Snakemake Input functions
Conda integration
Constructing a whole new workflow
Cleaning up
Morning 10:30 - 10:45
Lunch 12:30 - 13:30
Afternoon 15:00 - 15:15


To participate in a workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.

Please check the “Setup” page of the lesson site for instructions to follow to obtain the software and data you will need to follow the lesson.