There are excellent pipelines available from nf-core for variant calling based on Nanopore reads.
The most recommended one is:
nf-core/sarek
While sarek is often associated with Illumina, it has robust support for long-read data. However, for a more specialized long-read workflow, you should look at:
nf-core/nanoseq (for methylation and basic QC)
Note: nanoseq is primarily for methylation and QC, not deep variant calling.
The Best Choice: nf-core/viralrecon or Custom Nextflow/Dorado/Medaka Workflow
Actually, for bacterial WGS variant calling with Nanopore, the community standard is often a combination of tools rather than a single “one-click” nf-core pipeline for de novo variant discovery against a reference. However, nf-core/bacass is highly relevant for your case since you are working with bacterial strains.
1. nf-core/bacass
- Purpose: Bacterial assembly and annotation.
- Relevance: It can assemble your Nanopore reads into high-quality genomes (using Flye, Unicycler, etc.). Once you have the assembled genome, you can compare it to a reference.
- Limitation: It focuses on assembly, not direct variant calling against a known reference strain.
2. Recommended Pipeline for Variant Calling (Nanopore-specific)
Since you already have polished genomes (as seen in your script), the most accurate variant calling pipeline for Nanopore data usually involves:
- Basecalling & Alignment: Dorado (which you are already using).
- Polishing: Medaka (to correct residual errors in the assembly or alignment).
- Variant Calling:
- DeepVariant (Google): Has a specific model for ONT data (
--model_type=ONT). This is currently considered the gold standard for accuracy. - Clair3: A newer, highly accurate variant caller specifically designed for long-reads.
- Medaka: Can also be used for variant calling if you align reads to a reference.
- DeepVariant (Google): Has a specific model for ONT data (
Is there an nf-core pipeline for this?
Currently, there isn’t a single, widely adopted nf-core pipeline named “nanopore-variant-caller” that does everything from POD5 to VCF for bacteria. However, you can use:
- nf-core/rnaseq (No, that’s for RNA)
- nf-core/sarek: You can configure it to use long-read aligners (like Minimap2) and variant callers, but it requires careful configuration.
My Recommendation for Your Project:
Since you are already generating modBAM files with Dorado, you can extend your workflow slightly:
- Align: Use Dorado to align to your reference (as you are doing).
- Sort/Index:
samtools sortandindex. - Call Variants: Use DeepVariant or Clair3 on the resulting BAM file.
If you prefer a ready-made Nextflow pipeline, you might want to check out nf-core/eager (for ancient DNA, but handles long reads well) or simply build a small Nextflow script around Clair3, which is very easy to integrate.
Would you like me to help you draft a simple Nextflow process for variant calling using Clair3 or DeepVariant based on your existing BAM files?