1. Reproducible Workflows using Snakemake and Singularity


The Snakemake workflow management system is a tool to create reproducible and scalable data analyses and can be seamlessly scaled to server, cluster, grid and cloud environments, without the need to modify the workflow definition.
Singularity is an open source-based container platform designed for scientific and high-performance computing (HPC) environments. Singularity supports Bring Your Own Environment (BYOE)—where entire Singularity environments can be transported between computational resources (e.g., users’ PCs) with reproducibility.
  • Basic UNIX command-line experience required. Bootcamp
  • WINDOWS users can download UNIX-terminal interface mobaxterm here
  • You don’t need to be an expert at Python to use Snakemake, but it can sometimes be very useful.
No license; the below content is available under CC0 general license.
Author: Sateesh Peri

2. Introduction

3. Snakemake Intro Tutorial using Binder

Learning Objectives
  • Move from separate scripts to connected analysis
  • Understand snakemake syntax
  • Understand the components of a Snakefile: rules, inputs, outputs, and actions
  • Understand snakemake wildcards and pattern rules
  • Understand how snakemake manages dependencies and outputs
  • No setup necessary
  • Does not support ‘Singularity’ container execution
Click on this https://mybinder.org/badge_logo.svg button to launch a Binder rendered as Rstudio interface pre-configured with conda and Snakemake.
  • MyBinder is a fantastic service that lets us run demonstrations and short workshops in the cloud!
  • The binder is built using this ‘conda’ environment.yml.

4. Snakemake Tutorial on Cyverse Cloud



4.1. Tutorial on Jetstream cloud

5. Working Locally

Click here for local setup instructions.

Requires Administrator privileges for Singularity installation.

7. Credits

The content for this website has been compiled from tutorials put together by:

Please report new issues in GitHub

8. Coming Soon

  • Singularity modules in HPCs
  • Building containers from scratch


  • Version Control
  • Markdown
  • Did someone say Kubernetes !!!