Skip to content

Nanopore Guppy

Nanopore Guppy is a data processing toolkit that contains the Oxford Nanopore Technologies’ basecalling algorithms, and several bioinformatic post-processing features.

Nanopore Guppy is available as a Singularity container on Apocrita.

Usage

To run the default installed version of Nanopore Guppy, simply load the nanopore_guppy module:

$ module load nanopore_guppy
$ nanopore_guppy guppy_basecaller --help

Usage:

With config file:
  guppy_basecaller -i <input path> -s <save path> -c <config file> [options]

With flowcell and kit name:
  guppy_basecaller -i <input path> -s <save path> --flowcell <flowcell name>
    --kit <kit name>

List supported flowcells and kits:
  guppy_basecaller --print_workflows

Use GPU for basecalling:
  guppy_basecaller -i <input path> -s <save path> -c <config file>
    --device <cuda device name> [options]

The above output has been truncated, run the guppy_basecaller --help command within the container to see the full list of available options.

Example jobs

Serial job

Version >= 4.5.3 only

Only versions 4.5.3 and above work on the non-GPU nodes. If you attempt to run an older version on a serial node, your job will fail with a missing libcuda.so.1 error. Loading a cuda module will not solve this error.

Here is an example job running on 2 cores and 10GB of memory:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 2
#$ -l h_rt=1:0:0
#$ -l h_vmem=5G

module load nanopore_guppy

nanopore_guppy guppy_basecaller \
  -i <input path> \
  -s <save path> \
  -c <config file>

GPU job

GPU selection

Nanopore Guppy versions < 5.x do not work on the Kepler GPU cards so it is important to include the -l gpu_type="volta|ampere" parameter (as shown in the example job below) to ensure the job gets scheduled on a newer GPU card. Older versions of Nanopore Guppy do not require this setting.

Here is an example job running on 8 cores and 1 Volta/Ampere GPU:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 8
#$ -l gpu=1
#$ -l h_vmem=11G
#$ -l gpu_type="volta|ampere"

module load nanopore_guppy

# "--device auto" will choose GPU if available
nanopore_guppy guppy_basecaller \
  -i <input path> \
  -s <save path> \
  -c <config file> \
  --device auto

Reference