Overview figure: nanopore current signal flows through base calling, polyA detection, segmentation and event alignment, and modification detection
Nanopore sequencing and data analysis: the four NanoBaseLib benchmark tasks and how they depend on each other.

Task overview

TaskInputOutputLearning settingTypical modelsMetrics
BC Base callingRaw current signalNucleotide sequenceSupervised, generative seq2seqCNN + LSTM + CTC-CRF (Bonito); UNet + GRU; CNN + Transformer + CTC; ResNet + CTCMatch / mismatch / insertion / deletion rates
PD PolyA detectionRaw current signalTail flag, borders, lengthUnsupervised or supervised, predictiveHidden Markov models; deep basecaller headsDetection rate, length MSE
SA Segmentation & event alignmentRaw signal + reference sequenceEvent alignment tableUnsupervised, predictiveHidden Markov models; banded dynamic programmingAverage std σ̂, average log-likelihood L̂
MD Modification detectionEvent alignment resultsModification probability per site and readSupervised, predictive, multiple-instanceSVM; random forest; XGBoost; CNN; MIL neural netsROC AUC, PR AUC

Headline results

Base calling

Guppy 6.0.1 (DNA) · Dorado 0.5.3 (RNA)

Best match rates of 93.60% on NA12878 and 93.96% on hek293t_wt. Second-generation sequencing reaches 99.9%, so the headroom is large.

Full tables and chart
PolyA detection

Tailfindr 1.4

Highest detection rate on all seven test datasets; Nanopolish polya varies strongly across datasets because it depends on alignment. Length estimates are similar across tools.

Detection rates and length benchmark
Segmentation & alignment

SegPore 1.0

Lowest average within-event std and highest log-likelihood against the ONT k-mer table on all three human RNA test sets.

Metrics per dataset
Modification detection

m6Anet (m6A) · CHEUI-solo (m5C)

m6Anet leads on all three m6A ground truths (ROC AUC up to 0.891); CHEUI-solo leads for m5C (ROC AUC 0.842). Precision-recall AUCs stay below 0.5, showing how hard the task remains.

ROC and PR AUC tables

How the benchmarks were run

Submitting a method

NanoBaseLib v1.0 does not run a hosted leaderboard. To add a method, evaluate it with the package's scripts on the test datasets listed on each task page and open an issue or pull request with the output files and the exact command line. Results are added to the task pages with the method name, version and configuration.