Skip to content

Benchmark Details

A paired-end RNA-seq BAM aligned to GRCh38 (63,677 genes), benchmarked on AWS (2026-03-09) using the nf-core/rnaseq pipeline for the traditional tools and rustqc rna for RustQC.

StepTraditional workflowRustQC
samtools index2m 51s
samtools idxstats16s
samtools flagstat3m 5s
samtools stats9m 48s
samtools sort (for Qualimap)12m 16s
GTF → BED conversion38s
featureCounts3m 3s
infer_experiment (RSeQC)11m 49s
inner_distance (RSeQC)1m 45s
bam_stat (RSeQC)12m 11s
junction_annotation (RSeQC)10m 51s
junction_saturation (RSeQC)14m 34s
read_distribution (RSeQC)13m 12s
read_duplication (RSeQC)33m 1s
TIN (RSeQC tin.py)9h 45m
Qualimap rnaseq49m 58s
dupRadar2h 14m 24s
preseq lc_extrap39m 9s
All outputs, single pass14m 54s
Sequential total~15h 34m14m 54s

RustQC ran with 174.2% average CPU utilisation (multi-threaded). In a real pipeline some traditional tools run in parallel, but TIN alone (9h 45m) sets a hard lower bound on wall-clock time. Peak memory: 11.4 GB for RustQC vs. up to 10.2 GB for read_duplication alone.

The speedup comes from three things: a single BAM pass instead of one per tool, compiled Rust instead of interpreted R/Python, and multi-threaded parallelism across chromosomes.

Per-tool comparison tables and known differences are on the individual tool pages: dupRadar, featureCounts, RSeQC, preseq, Samtools, Qualimap.

RustQC output was validated against these specific versions:

ToolVersion
dupRadar1.38.0
featureCounts (Subread)2.0.6
RSeQC5.0.4
preseq3.2.0
samtools1.22.1
Qualimap2.3

Exact container tags and commands are in the RustQC-benchmarks Nextflow pipeline.

  • AWS cloud (2026-03-09), run via nf-core/rnaseq pipeline
  • RustQC: all tools enabled, multi-threaded
  • Traditional tools: each in its own container; timings are wall-clock from the Nextflow execution trace
  • Reproducibility: the RustQC-benchmarks pipeline reproduces the full comparison