nanoporetech/dorado
Oxford Nanopore's Basecaller
What it solves
Dorado is a high-performance analysis engine designed to process Oxford Nanopore reads. It streamlines the conversion of raw sequencing data into usable genetic information through basecalling, alignment, and error correction, while maximizing hardware acceleration on GPUs and Apple Silicon.
How it works
Built on libtorch (the C++ API for PyTorch), Dorado uses deep learning models to perform basecalling—translating raw signal data from nanopore sequencing into nucleotide sequences. It employs custom CUDA and Metal optimizations to ensure high-speed inference on Nvidia GPUs and Apple M-series chips. The engine supports various modes including simplex and duplex basecalling, as well as the detection of modified bases (epigenetic markers) and poly(A) tail estimation.
Who it’s for
It is intended for bioinformaticians and researchers working with Oxford Nanopore sequencing data who need a fast, scalable analysis pipeline for basecalling, read alignment, and assembly polishing.
Highlights
- Hardware Acceleration: Optimized for Nvidia A100/H100 GPUs and Apple Silicon with multi-GPU linear scaling.
- Advanced Basecalling: Supports modified basecalling (e.g., 5mC, 6mA) and duplex basecalling for higher accuracy.
- Integrated Tooling: Includes built-in support for read alignment (via minimap2), barcode classification, and single-read error correction (via HERRO).
- Assembly Polishing: Provides a high-accuracy polishing tool to refine draft assemblies from other tools like Flye or Hifiasm.
Related
- Project
- Project
- Project
- Project
- Dispatch