Skip to content

Repository files navigation

Basecalling Pipeline

Nextflow pipeline for Nanopore basecalling with Dorado and downstream QC with SeqKit. Supports POD5 and FAST5 inputs (optional FAST5→POD5 conversion).

Pipeline structure

main.nf
├── workflows/basecalling.nf   # BASECALLING: pod5convert → dorado
└── workflows/qc.nf            # QC: bam2fastq → getstats
    └── modules/
        ├── pod5convert.nf
        ├── dorado.nf
        └── seqkit.nf          # bam2fastq, getstats
Subworkflow Steps Output
BASECALLING pod5convertdorado BAM (results/bam/)
QC bam2fastqgetstats FASTQ + stats (results/fastq/, results/data/)

Quick start

nextflow run main.nf -profile kutral -params-file params/params.yaml

Resume a previous run (use the run name or session UUID to keep the correct cache):

nextflow run main.nf -profile kutral -params-file params/params.yaml -resume mighty_lorenz

Stub / dry-run (does not run real tools; creates a new Nextflow session):

nextflow run main.nf -profile stub -params-file params/params_stub.yml -stub-run

Parameters

Defined in params/params.yaml (see also nextflow_schema.json):

Parameter Description
files CSV with sample metadata and input paths
dorado_path Path to the local Dorado binary
outdir Output directory (default: ./results/)

Samples CSV

Example (params/prunus.csv):

id,path,kitname,require_convert,base_model,modified_base_model
NANO_012_PC,/path/to/pod5_pass/,,false,,
Column Required Description
id yes Sample ID
path yes Directory with POD5 or FAST5
kitname no If set, Dorado is run with --kit-name
require_convert no true to convert FAST5→POD5; otherwise symlink input
base_model no Dorado base model (used when kitname is set)
modified_base_model no Modified-bases model (used when kitname is set)

Profiles

Profile Use
kutral Slurm + Singularity on the cluster
local Singularity on the local node
stub Lightweight config for -stub-run

Outputs

results/
├── bam/              # Dorado BAM
├── fastq/            # BAM → FASTQ
├── data/             # SeqKit read statistics
└── pipeline_info/    # reports, timeline, trace, DAG

Requirements

Software Notes
Nextflow ≥ 23.10
Dorado Local binary; pass path via dorado_path (not containerized)
Pod5 Tools Provided via Singularity (pod5convert)
samtools / SeqKit Provided via Singularity (bam2fastq, getstats)
GPU Required for dorado (--gres=gpu:1 on kutral)

About

Basecalling + seqkit

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages