Benchmark Details
Large dataset: GM12878 REP1 (~186M reads)
Section titled “Large dataset: GM12878 REP1 (~186M reads)”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.
| Step | Traditional workflow | RustQC |
|---|---|---|
| samtools index | 2m 51s | — |
| samtools idxstats | 16s | — |
| samtools flagstat | 3m 5s | — |
| samtools stats | 9m 48s | — |
| samtools sort (for Qualimap) | 12m 16s | — |
| GTF → BED conversion | 38s | — |
| featureCounts | 3m 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 rnaseq | 49m 58s | — |
| dupRadar | 2h 14m 24s | — |
| preseq lc_extrap | 39m 9s | — |
| All outputs, single pass | — | 14m 54s |
| Sequential total | ~15h 34m | 14m 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.
Output correctness
Section titled “Output correctness”Per-tool comparison tables and known differences are on the individual tool pages: dupRadar, featureCounts, RSeQC, preseq, Samtools, Qualimap.
Upstream tool versions
Section titled “Upstream tool versions”RustQC output was validated against these specific versions:
| Tool | Version |
|---|---|
| dupRadar | 1.38.0 |
| featureCounts (Subread) | 2.0.6 |
| RSeQC | 5.0.4 |
| preseq | 3.2.0 |
| samtools | 1.22.1 |
| Qualimap | 2.3 |
Exact container tags and commands are in the RustQC-benchmarks Nextflow pipeline.
Benchmark conditions
Section titled “Benchmark conditions”- 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