Bioinformatics Workflows with Snakemake workshop, May 22 -24

Overview

Researchers needing to implement data analysis workflows face a number of common challenges, including the need to organise their tasks, make effective use of compute resources, handle unexpected 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 tackle complex workflow problems and in your day-to-day research.

About Snakemake

Snakemake is a popular open-source tool to create reproducible and scalable data analyses. Workflows are described via a human readable language that defines steps in the workflow as rules, and these are then used by Snakemake to construct and execute a work plan 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.

Who this course is for

This course is 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. Attendees must have a working knowledge of how to use the Linux BASH command line - our 1-day "Linux for bioinformatics" course is a suitable background. The language used to write Snakemake workflows is Python-based, but no prior knowledge of Python is required or assumed.

Instructors

Tim Booth - Bioinformatician and Software Developer, Edinburgh Genomics 

Frances Turner – Bioinformatician and Software Developer, Edinburgh Genomics

Workshop format

The workshop will consist of a series of hands-on episodes, where instructors will guide you through the concepts and features of Snakemake to build up an example workflow, with short practical exercises. Towards the end, on day 3, there will be a longer practical challenge. All the tools and sample data you need will be provided on a virtual Linux desktop session. We encourage participation and discussion throughout the course, via the online collaboration tools.

Outcomes

By the end of the course students will be familiar with:

  • What Snakemake is, and what it can do
  • Creating rules in Snakemake to run workflow steps
  • Chaining rules together to make a workflow, including splitting and combing steps
  • The concepts of Snakemake execution stages and the DAG
  • How to visualise your workflow
  • How Snakemake detects and processes updated inputs
  • Diagnosing and debugging common problems
  • Adding flexible configuration to your workflow
  • Optimising your workflow to run efficiently on the available hardware
  • Managing and cleaning up temporary files
  • Effective use of Bash shell syntax within Snakemake rules

Related Link

Edinburgh Genomics