Using Snakemake on the HPC Cluster

From Bridges Lab Protocols
Revision as of 19:59, 16 May 2024 by Davebrid (talk | contribs) (Changed to code tags)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Setup

  • Install snakemake via mamba/conda (see https://snakemake.readthedocs.io/en/stable/getting_started/installation.html)
  • In the working folder create a snakemake environment with mamba activate snakemake</cpde>
  • Install the cluster-generic tool to submit snakemake files to a cluster from pip with pip install snakemake-executor-plugin-cluster-generic
  • Create a generic profile in ~/.config/snakemake/testprofile/config.yaml such as:

executor: slurm jobs: 100

default-resources:

   mem_mb: max(1.5 * input.size_mb, 100)
   account: <ACCOUNT_NAME>
   partition: <PARTITION NAME>

set-threads:

   myrule: max(input.size_mb / 5, 2)

set-resources:

   myrule:
       mem_mb: attempt * 200

Executing a Snakefile Workflow

  • Create a Snakefile (see
    • You can over-ride resources with that flag otherwise it will use the values in testprofile
  • Run the Snakefile with this command snakemake --profile testprofile -j 1 --executor cluster-generic --cluster-generic-submit-cmd "batch" ...