Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads.


  • One executable with sensible defaults, automatic hardware detection and configuration.
  • Nvidia GPUs including multi-GPU with linear scaling.
  • Modified basecalling (Remora models).
  • Duplex basecalling.
  • POD5 support for highest basecalling performance.
  • Based on libtorch, the C++ API for pytorch.
  • Multiple custom optimisations in CUDA and Metal for maximising inference performance.

License and Disclaimer

(c) 2022 Oxford Nanopore Technologies Ltd.

Dorado is distributed under the terms of the Oxford Nanopore Technologies, Ltd. Public License, v. 1.0. If a copy of the License was not distributed with this file, You can obtain one at


Example Slurm script

  • The following Slurm script is a template to run Basecalling on the NVIDIA A100 GPUs. We do not recommend running Dorado jobs on CPUs.
  • --device 'cuda:all' will automatically pick up the GPU over CPU
  • We are not providing the models as part of the module yet. 
#!/bin/bash -e

#SBATCH --account nesi12345
#SBATCH --job-name dorado
#SBATCH --gpus-per-node A100:1
#SBATCH --mem 6G
#SBATCH --cpus-per-task 4
#SBATCH --time 00:10:00
#SBATCH --output slurmout.%j.out

module purge
module load Dorado/0.4.3

dorado download --model dna_r10.4.1_e8.2_400bps_hac@v4.1.0

dorado basecaller --device 'cuda:all' dna_r10.4.1_e8.2_400bps_hac@v4.1.0 pod5s/ > calls.bam
Was this article helpful?
2 out of 2 found this helpful