Caution
The following steps explain how to run basecalling and demultiplexing with Oxford Nanopore's Dorado.
This document reflects information as of December 2025.
For the latest documentation, see:
https://software-docs.nanoporetech.com/dorado/latest/
Download the Dorado binary and make it executable.
curl -LO https://cdn.oxfordnanoportal.com/software/analysis/dorado-1.3.0-linux-x64.tar.gz
tar -xzf dorado-1.3.0-linux-x64.tar.gz
chmod +x ./dorado-1.3.0-linux-x64/bin/doradoRun basecalling with Dorado. The example below uses the dna_r10.4.1_e8.2_400bps_sup model; adjust the model as needed.
./dorado-1.3.0-linux-x64/bin/dorado basecaller \
sup \
pod5/ \
--device cuda:all \
--kit-name EXP-PBC096 \
> calls.bamImportant
The --kit-name option is required for demultiplexing.
Specify the appropriate kit. The DAJIN paper used EXP-PBC096.
Run demultiplexing with Dorado using the calls.bam generated by basecalling.
mkdir -p dorado-demux
./dorado-1.3.0-linux-x64/bin/dorado demux \
--output-dir dorado-demux \
--no-classify \
--threads 8 \
calls.bam
Demultiplexed outputs are saved in the specified directory. Each barcode has its own folder containing the basecalled BAM file.
Example output structure:
dorado-demux
└── 12635
└── 20251110_0508_0_PBI23287_73af7da2
└── bam_pass
├── barcode01
│ └── PBI23287_pass_barcode01_73af7da2_00000000_0.bam
├── barcode02
│ └── PBI23287_pass_barcode02_73af7da2_00000000_0.bam
├── barcode03
│ └── PBI23287_pass_barcode03_73af7da2_00000000_0.bam
└── unclassified
└── PBI23287_pass_unclassified_73af7da2_00000000_0.bamDAJIN2 uses the barcode directories as input files. For example, a batch.csv might look like this:
| name | control | sample | allele | bed |
|---|---|---|---|---|
| test | dorado-demux-100000/12635/20251110_0508_0_PBI23287_73af7da2/bam_pass/barcode01 | dorado-demux-100000/12635/20251110_0508_0_PBI23287_73af7da2/bam_pass/barcode02 | test.fa | test.bed |
| test | dorado-demux-100000/12635/20251110_0508_0_PBI23287_73af7da2/bam_pass/barcode01 | dorado-demux-100000/12635/20251110_0508_0_PBI23287_73af7da2/bam_pass/barcode03 | test.fa | test.bed |
Because the paths are long, it can be easier to cd into bam_pass before running. In that case, a batch.csv could be:
| name | control | sample | allele | bed |
|---|---|---|---|---|
| test | barcode01 | barcode02 | test.fa | test.bed |
| test | barcode01 | barcode03 | test.fa | test.bed |
Note
Adjust the allele and bed paths similarly if you change directories.