Skip to content

oarfish

Transcript-level quantification from long-read RNA-seq (Oxford Nanopore cDNA and direct RNA, and PacBio), with multi-mapping reads allocated by an EM algorithm.

oarfish is a program, written in Rust, for quantifying transcript-level expression from long-read sequencing technologies. It handles multi-mapping reads through probabilistic allocation via an expectation-maximization (EM) algorithm.

Several ways in

Quantify a transcriptome BAM, let oarfish map raw reads to the transcriptome for you (with rammap or spearfish), or start from the genome and project alignments onto annotated transcripts. See Quantification modes.

Models for where reads land

Optional coverage and truncation models use where reads fall on each transcript to improve accuracy. See Coverage and truncation models.

Uncertainty and detail

Inferential replicates by bootstrap, read-level assignment probabilities, and a single-cell mode. See Output files.

oarfish is scientific software in active development. Please check the GitHub Releases page to make sure that you are using the latest version.

You can read more about oarfish2 in the paper published in Bioinformatics. Please cite the paper if you use oarfish in your work or analysis.

  1. Josie Gleeson, Adrien Leger, Yair D J Prawer, Tracy A Lane, Paul J Harrison, Wilfried Haerty, Michael B Clark, Accurate expression quantification from nanopore direct RNA sequencing with NanoCount, Nucleic Acids Research, Volume 50, Issue 4, 28 February 2022, Page e19, https://doi.org/10.1093/nar/gkab1129 ↩

  2. Zahra Zare Jousheghani, Noor Pratap Singh, Rob Patro, Oarfish: enhanced probabilistic modeling leads to improved accuracy in long read transcriptome quantification, Bioinformatics, Volume 41, Issue Supplement_1, July 2025, Pages i304–i313, https://doi.org/10.1093/bioinformatics/btaf240 ↩