List of software packages for Nanopore sequencing data analysis, including basecalling, DNA/RNA modifications, etc. Contributions welcome...
- Software packages
- Pipelines
- Deprecated / superseded
- Contributing
- Citation
- What is an awesome list?
- Contact
- Dorado - [C++] - Production basecaller from 2022, successor to Guppy.
- Bonito - [Python] - A PyTorch Basecaller for Oxford Nanopore Reads (research, not production basecaller)
- Nanocall - [C++] - Nanocall: an open source basecaller for Oxford Nanopore sequencing data
- PoreSeq - [C++] - De novo sequencing and variant calling with nanopores using PoreSeq
- Nanonet - [C++] - Nanonet - Development version of RNN basecaller
- DeepNano - [Python] - DeepNano: Deep recurrent neural networks for base calling in MinION nanopore reads
- BasecRAWller - [Close sourced (May request code by emailing IPO@lbl.gov)] - BasecRAWller: Streaming Nanopore Basecalling Directly from Raw Signal
- Chiron - [Python] - Chiron: translating nanopore raw signal directly into nucleotide sequence using deep learning
- Causalcall - [Python] - Causalcall: Nanopore Basecalling Using a Temporal Convolutional Network
- NanoPlot - [HTML/Python] - QC plotting tool for Nanopore reads
- Cramino - [Rust] - A tool for quick quality assessment of cram and bam files, intended for long read sequencing
- minimap2 - [C] - Minimap2: pairwise alignment for nucleotide sequences
- Winnowmap - [C] - Weighted minimizer sampling improves long read mapping
- Readfish - [Python] - Readfish enables targeted nanopore sequencing of gigabase-sized genomes
- UNCALLED - [C++] - Targeted nanopore sequencing by real-time mapping of raw electrical signal with UNCALLED
- SquiggleNet - [Python] - Real-Time, Direct Classification of Nanopore Signals with SquiggleNet
- Sigmap - [C/C++] - Real-time mapping of nanopore raw signals
- cwDTW - [C/C++] - An accurate and rapid continuous wavelet dynamic time warping algorithm for end-to-end mapping in ultra-long nanopore sequencing
- OpenDBA - [C++/CUDA] - GPU-accelerated Dynamic Time Warp (DTW) Barycenter Averaging
- Magenta & Maxwell - [C++/CUDA] - Fast signal-level matching for direct RNA nanopore sequencing
- nanopolish eventalign - [C++] - Detecting DNA cytosine methylation using nanopore sequencing.
- f5c eventalign - [C/C++/CUDA] - GPU accelerated adaptive banded event alignment for rapid comparative nanopore signal analysis
- f5c resquiggle - [C/C++/CUDA] - GPU accelerated adaptive banded event alignment for rapid comparative nanopore signal analysis
- SquiggleKit Segmenter/MotifSeq - [Python] - SquiggleKit: a toolkit for manipulating nanopore signal data
- Dynamont - [Python/C++] - A Dynamic Programming Approach to Segment ONT Signals
- Uncalled4 - [Python/C++] - Uncalled4 improves nanopore DNA and RNA modification detection via fast and accurate signal alignment
- slow5lib - [C] - Fast nanopore sequencing data analysis with SLOW5
- pyslow5 - [Python] - pyslow5 python library
- slow5tools - [C/C++] - Toolkit for converting (FAST5 <-> SLOW5), compressing, viewing, indexing and manipulating data in SLOW5 format
- SquiggleKit SquigglePlot - [Python] - SquiggleKit: a toolkit for manipulating nanopore signal data
- Squigualiser - [Python] - Interactive visualization of nanopore sequencing signal data with Squigualiser
- Clair3 - [Python/C++] - Clair3-RNA: a deep learning-based small variant caller for long-read RNA sequencing data
- Sniffles - [Python] - Detection of mosaic and population-level structural variants with Sniffles2
- whatshap - [Python/C++] - Read-Based Phasing and Analysis of Phased Variants with WhatsHap
- modkit - [Rust] - Extract modified base calls from dorado BAM output to bedMethyl format, also calculate DMRs
- nanopolish call-methylation - [C++] - Detecting DNA cytosine methylation using nanopore sequencing.
- f5c call-methylation - [C/C++/CUDA] - GPU accelerated adaptive banded event alignment for rapid comparative nanopore signal analysis
- nanoNOMe - [Python] - Simultaneous profiling of chromatin accessibility and methylation on human cell lines with nanopore sequencing.
- signalAlign - [C] - Mapping DNA methylation with high-throughput nanopore sequencing.
- mCaller - [Python] - Single-molecule sequencing detection of N6-methyladenine in microbial reference materials.
- DeepSignals - [Python] - DeepSignal: detecting DNA methylation state from Nanopore sequencing reads using deep-learning.
- NanoMod - [Python] - NanoMod: a computational tool to detect DNA modifications using Nanopore long-read sequencing data.
- Dorado - [C++] - Supports calling 8 different RNA modifications: inosine, m6A, 2′OmeA on A; pseU, 2′OmeU on U; m5C, 2′OmeC on C; and 2′OmeG on G as of May 2025
- SingleMod - [Python] - Single-molecule direct RNA sequencing reveals the shaping of epitranscriptome across multiple species
- m6anet - [Python] - Detection of m6A from direct RNA sequencing using a multiple instance learning framework.
- MoDorado - [Python] - MoDorado: enhanced detection of tRNA modifications in nanopore sequencing by off-label use of modification callers
- MINES - [Python] - Direct RNA sequencing enables m6A detection in endogenous transcript isoforms at base specific resolution.
- EpiNano - [Python] - Accurate detection of m6A RNA modifications in native RNA sequences.
- Nanom6A - [Python] - Quantitative profiling of N6-methyladenosine at single-base resolution in stem-differentiating xylem of Populus trichocarpa using Nanopore direct RNA sequencing.
- NanoNm - [Python] - A Machine Learning Method to detect the 2'-O-methylation(Nm) in Nanopore direct RNA-seq
- m6anet - [Python] - Detection of m6A from direct RNA sequencing using a multiple instance learning framework.
- nanoRMS - [Python] - Quantitative profiling of pseudouridylation dynamics in native RNAs with nanopore sequencing.
- Yanocomp - [Python] - Yanocomp: robust prediction of m6A modifications in individual nanopore direct RNA reads.
- DiffErr - [Python] - A tool for detecting modifications from Nanopore DRS errors using a low modification control.
- ELIGOS - [Python] - Decoding the epitranscriptional landscape from native RNA sequences.
- nanoDoc - [Python] - nanoDoc: RNA modification detection using Nanopore raw reads with Deep One-Class Classification.
- nanocompore - [Python] - RNA modifications detection by comparative Nanopore direct RNA sequencing.
- DRUMMER - [Python] - DRUMMER—rapid detection of RNA modifications through comparative nanopore sequencing.
- xPore - [Python] - Identification of differential RNA modifications from nanopore direct RNA sequencing with xPore.
- Magnipore - [Python] - Magnipore: Prediction of differential single nucleotide changes in the Oxford Nanopore Technologies sequencing signal of SARS-CoV-2 samples
- DENA - [Python/R] - DENA: training an authentic neural network model using Nanopore sequencing data of Arabidopsis transcripts for detection and quantification of N6-methyladenosine on RNA
- Penguin - [Python] - Penguin: A Tool for Predicting Pseudouridine Sites in Direct RNA Nanopore Sequencing Data
- TandemMod - [Python] - Transfer learning enables identification of multiple types of RNA modifications using nanopore direct RNA sequencing
- Verkko - [Python] - hybrid genome assembly pipeline developed for telomere-to-telomere assembly of accurate long reads (PacBio HiFi, Oxford Nanopore Duplex, HERRO or Hifiasm corrected Oxford Nanopore Simplex) and Oxford Nanopore ultra-long reads. Telomere-to-telomere assembly of diploid chromosomes with Verkko
- Flye - [C++] - Single molecule sequence assembler with good polishing capabilities
- Shasta - [C] - Very fast and capable nanopore assembler
- Autocycler - [Rust] - Autocycler: long-read consensus assembly for bacterial genomes
- Medaka - [Python] - ONT's official polisher
- Herro - [Rust] - Telomere-to-Telomere Assembly Using HERRO-Corrected Simplex Nanopore Reads
- RNAbloom2 - [Java] - Reference-free assembly of long-read transcriptome sequencing data with RNA-Bloom2
- RATTLE - [C++] - RATTLE: reference-free reconstruction and quantification of transcriptomes from Nanopore sequencing
- bambu - [R] - Context-Aware Transcript Quantification from Long Read RNA-Seq data with Bambu
- IsoQuant - [Python] - Accurate isoform discovery with IsoQuant using long reads
- NanoSplicer - [Python] - Identification of splice junctions from nanopore sequencing using raw signal squiggles
- TALON - [Python] - Python package for identifying and quantifying known and novel genes/isoforms in long-read transcriptome data sets Run before TranscriptClean
- trackcluster -[Python] - trackcluster is an isoform calling and quantification pipeline for long RNA/cDNA reads
- FLAIR - [Python] - Full-Length Alternative Isoform analysis of RNA
- nanopolish polya - [C++] - Nanopore native RNA sequencing of a human poly(A) transcriptome.
- tailfindr - [R] - tailfindr: Alignment-free poly(A) length measurement for Oxford Nanopore RNA and DNA sequencing.
- nanoSHAPE - [Python] - Direct detection of RNA modifications and structure using single molecule nanopore sequencing.
- PORE-cupine - [R] - Determination of isoform-specific RNA structure with nanopore long reads.
- NanoSim - [Python] - NanoSim: nanopore sequence read simulator based on statistical characterization., Trans-NanoSim characterizes and simulates nanopore RNA-sequencing data., Characterization and simulation of metagenomic nanopore sequencing data with Meta-NanoSim.
- esloco - [Python] - esloco: simulation-based estimation of local coverage in long-read DNA sequencing
- MOP2 - [Nextflow] - MasterOfPores: A Workflow for the Analysis of Oxford Nanopore Direct RNA Sequencing Datasets
- bambu-pipe - [Nextflow] - Isoform-level discovery, quantification and fusion analysis from single-cell and spatial long-read RNA-seq data with Bambu-Clump
- nf-core/nanoseq - [Nextflow] - A systematic benchmark of Nanopore long read RNA sequencing for transcript level analysis in human cell lines (Not yet updated for ONT's latest chemistry)
- nf-Wochenende - [Nextflow, Python] - Wochenende - modular and flexible alignment-based shotgun metagenome analysis
- tombo resquiggle - [Python] - Re-squiggle Algorithm. (Note - deprecated by ONT 2023, only compatible with RNA002 dRNA-seq chemistry & R9.4.1 chemistry)
- tombo detect_modifications - [Python] - (previously nanoraw)De novo Identification of DNA Modifications Enabled by Genome-Guided Nanopore Signal Processing.
- Megalodon - [C++] - Research modified base caller which uses rerio, remora and a genome (deprecated by ONT 2023 for Dorado).
- modbam2bed - [C++] - Convert modified base calls from megalodon etc to bedMethyl format (deprecated by ONT 2023 for Modkit)
- mAFiA - [Python] - Detecting m6A at single-molecular resolution via direct RNA sequencing and realistic training data (Superseded by Ψ-co-mAFiA as of Jan 2025)
We welcome contributions and suggestions! Please follow the steps below to contribute:
- Fork this repository
- Make a change to README.md in this format:
[RESOURCE](LINK)- [language(s)] - DESCRIPTION - Submit a pull request.
Wan, Y.K., Hendra, C., Pratanwanich, P.N. & Göke, J. Beyond sequencing: machine learning algorithms extract biology hidden in Nanopore signal data. Trends in Genetics (2021). https://doi.org/10.1016/j.tig.2021.09.001.
According to the official awesome Github repository, an awesome list on GitHub is "a curation of actual awesome stuff", so an awesome list only includes items that has been researched by a contributor who would personally recommend the items. To learn more, please read the official awesome manifesto.
This repository is maintained by Clare Robinson and was originally created by Yuk Kei Wan.