Difference between revisions of "Guppy"

From UFRC
Jump to navigation Jump to search
Line 35: Line 35:
 
'''Warning:''' Guppy can be ''orders of magnitude'' faster when using GPUs for basecalling compared to pure CPU runs. See [[GPU Access]] for more details on how to request GPUs on HiPerGator. Here's a sample Guppy GPU script you might want to use as a starting point:
 
'''Warning:''' Guppy can be ''orders of magnitude'' faster when using GPUs for basecalling compared to pure CPU runs. See [[GPU Access]] for more details on how to request GPUs on HiPerGator. Here's a sample Guppy GPU script you might want to use as a starting point:
  
 +
===GPU Job Example===
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
Line 63: Line 64:
 
Use jobnvtop  and jobhtop tools from the [[UFRC environment module]] for a real-time look at GPU and CPU processes on the job node.
 
Use jobnvtop  and jobhtop tools from the [[UFRC environment module]] for a real-time look at GPU and CPU processes on the job node.
  
 +
===CPU Job Example===
 
If you don't have access to GPUs then set
 
If you don't have access to GPUs then set
#SBATCH --nodes=1
+
#SBATCH --ntasks=1
#SBATCH --ntasks=1
+
#SBATCH --cpus-per-task=X
#SBATCH --cpus-per-task=X
 
  
 
in the resources request section and use the corresponding guppy_basecaller arguments to set the number of basecallers and threads to use CPUs:
 
in the resources request section and use the corresponding guppy_basecaller arguments to set the number of basecallers and threads to use CPUs:
  
--cpu_threads_per_caller X --num_callers 1
+
--cpu_threads_per_caller X --num_callers 1
  
where X is the same numbers in both sections.
+
where X is the same numbers in both sections. You can parallelize callers if appropriate.
  
 
|}}
 
|}}

Revision as of 21:10, 4 August 2022

Description

guppy website  

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

Early downstream analysis components such as barcoding/demultiplexing, adapter trimming and alignment are contained within Guppy. Furthermore, Guppy now performs modified basecalling (5mC, 6mA and CpG) from the raw signal data, producing an additional FAST5 file of modified base probabilities.

Environment Modules

Run module spider guppy to find out what environment modules are available for this application.

System Variables

  • HPC_GUPPY_DIR - installation directory

Additional Information

Warning: Guppy can be orders of magnitude faster when using GPUs for basecalling compared to pure CPU runs. See GPU Access for more details on how to request GPUs on HiPerGator. Here's a sample Guppy GPU script you might want to use as a starting point:

GPU Job Example

#!/bin/bash
#SBATCH --job-name=guppy
#SBATCH --output=guppy_%j.out
#SBATCH --time=12:00:00
#SBATCH --ntasks=1
#SBATCH --mem=10GB
#SBATCH --mail-type=END,FAIL
#SBATCH --mail-user=MYEMAIL@ufl.edu
#SBATCH --partition=gpu
#SBATCH --gpus=geforce:1
date;hostname;pwd

module purge
module load cuda guppy

guppy_basecaller \
    --recursive \
        --input_path cool_project/minion_input/fast5 \
        --save_path cool_project/minion_output/basecalls \
        --flowcell FLO-MIN107 --kit SQK-LSK109 \
        --device "auto"

date

Use jobnvtop and jobhtop tools from the UFRC environment module for a real-time look at GPU and CPU processes on the job node.

CPU Job Example

If you don't have access to GPUs then set

#SBATCH --ntasks=1
#SBATCH --cpus-per-task=X

in the resources request section and use the corresponding guppy_basecaller arguments to set the number of basecallers and threads to use CPUs:

--cpu_threads_per_caller X --num_callers 1

where X is the same numbers in both sections. You can parallelize callers if appropriate.