Workflows with Snakemake

University of Edinburgh


11-14 October 2021

09:00 - 17:00

Instructors: Sam Haynes, Tim Booth, Frances Turner

Helpers: Flic Anderson, Barbara Shih, Lana Talmane


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, …), but these topics will recapped as part of the course.


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: 11-14 October 2021. 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 or 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.

Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


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

Day 1 : 11th October (09:00 - 17:00)

Pre-workshop Setup
Introduction to the Command Line Introduction
Navigating Files and Directories
Working with Files and Directories
Writing Scripts and Working with Data
Morning 10:30 - 10:45
Lunch 12:30 - 13:30
Afternoon 15:00 - 15:15

Day 2 : 12th October (09:30 - 15:00)

Introduction to Conda Getting Started with Conda
Working with Environments
Using Packages and Channels
Sharing Environments
Configuring Conda
Morning 10:30 - 10:45
Lunch 12:30 - 13:30

Day 3 : 13th October (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 4 : 14th October (09:00 - 17:00)

Introduction to Snakemake - Cont. Processing lists of inputs
Handling awkward programs
Configuration files and parameters
Optimising workflow performance
Input functions
Planning and debugging your own workflows
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.