Skip to content

Credits & Citation

RustQC stands on the shoulders of giants. It is a reimplementation of established bioinformatics tools, and would not exist without their foundational work.

If you use RustQC, please cite the original tools.

RustQC reimplements the dupRadar Bioconductor package, created by Sergi Sayols, Dominik Scherzinger, and Holger Klein. dupRadar provides the statistical framework for assessing PCR artifacts in RNA-seq data by modeling duplication rates as a function of gene expression level.

Sayols S, Scherzinger D, Klein H. dupRadar: a Bioconductor package for the assessment of PCR artifacts in RNA-Seq data. BMC Bioinformatics. 2016;17(1):428.

RustQC produces featureCounts-compatible output using the same counting approach as Subread featureCounts, created by Yang Liao, Gordon K. Smyth, and Wei Shi. featureCounts is the standard tool for assigning sequence reads to genomic features.

Liao Y, Smyth GK, Shi W. featureCounts: an efficient general purpose program for assigning sequence reads to genomic features. Bioinformatics. 2014;30(7):923-930.

RustQC reimplements seven quality control tools from the RSeQC package, created by Liguo Wang, Shengqin Wang, and Wei Li. RSeQC is a widely used toolkit for evaluating RNA-seq data quality, covering alignment statistics, strandedness, read distribution, splice junctions, and fragment size.

Wang L, Wang S, Li W. RSeQC: quality control of RNA-seq experiments. Bioinformatics. 2012;28(16):2184-2185.

RustQC reimplements library complexity estimation from the preseq package, created by Timothy Daley, Andrew Smith, and colleagues. preseq predicts library complexity and estimates the expected number of distinct molecules at increasing sequencing depths.

Daley T, Smith AD. Predicting the molecular complexity of sequencing libraries. Nature Methods. 2013;10(4):325-327.

RustQC produces output compatible with samtools flagstat, idxstats, and stats (SN section), created by Heng Li and the HTSlib project. These formats are widely used by downstream QC tools including MultiQC.

Danecek P, Bonfield JK, Liddle J, et al. Twelve years of SAMtools and BCFtools. GigaScience. 2021;10(2):giab008.

RustQC produces gene body coverage output compatible with Qualimap rnaseq, created by Fernando Garcia-Alcalde and colleagues. The output is parseable by MultiQC as a Qualimap rnaseq report.

Garcia-Alcalde F, Okonechnikov K, Carbonell J, et al. Qualimap: evaluating next-generation sequencing alignment data. Bioinformatics. 2012;28(20):2678-2679.

RustQC is built with the following open-source Rust libraries:

LibraryPurpose
rust-htslibSAM/BAM/CRAM file I/O via htslib bindings
plottersPlot generation (PNG and SVG)
clapCommand-line argument parsing
anyhowError handling
rayonData parallelism
coitreesCache-oblivious interval trees
rand / rand_chachaReproducible random number generation
flate2Gzip decompression for annotation files
serdeYAML configuration deserialization
indexmapInsertion-order-preserving maps
env_loggerLogging output

RustQC is created by Phil Ewels.