This profile configures Snakemake to run on the SURFsara Grid (
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
{{cookiecutter.profile_name}} Update May 8, 2018
LICENSE Initial commit Sep 25, 2017 Update Feb 9, 2018


This profile configures Snakemake to run on the SURFsara Grid.



Step 1: Login to softdrive


Step 2: Setup bioconda

Then, install Miniconda 2 (in order to not interfere with python 2 grid tools).

chmod +x
./ -b -p /cvmfs/$USER/Miniconda2

And add the installation to the PATH (put the following into your .bashrc):

export PATH=/cvmfs/$USER/Miniconda2/bin:$PATH

Finally, setup the channel order for bioconda:

conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda

Step 3: Create a Snakemake environment

conda create -n snakemake snakemake python=3.6 pandas cookiecutter

The name (given to -n) is mandatory here, because the submission scripts of this profile assume this environment to exist.

Step 4: Publish softdrive

Finally, softdrive has to be published with


It will take some time (up to half an hour) until other nodes will have access to the update.

Deploy profile

To deploy this profile, login to your grid UI and run

mkdir -p ~/.config/snakemake
cd ~/.config/snakemake

When asked for the storage path, insert whatever shall be the place where your data analysis results shall be stored. It has to be a subdirectory of Then, you can run Snakemake with

snakemake --profile surfsara-grid ...

so that jobs are submitted to the grid. If a job fails, you will find the "external jobid" in the Snakemake error message. You can investigate the job via this ID as shown here. If Snakemake is killed and restarted afterwards, it will automatically resume still running jobs.

Proxy certificates

Note that Snakemake needs valid proxy certificates throughout its runtime. It is advisable to use maximum lifetimes for those, i.e., generate them with

voms-proxy-init --voms <voms> --valid 168:00
myproxy-init -d -n -c 744 -t 744
glite-wms-job-delegate-proxy -d $USER

while replacing <voms> with your value (e.g. lsgrid:/lsgrid/Project_MinE).