Skip to content

seqeralabs/RustQC

Repository files navigation

RustQC

Fast genomics quality control tools for sequencing data, written in Rust.

CI License rewrites.bio - Follows best practice principles for rewriting bioinformatics tools with AI

DocumentationQuickstartBenchmarksReleases


RustQC is a suite of fast QC tools for sequencing data, compiled to a single static binary with no runtime dependencies.

Benchmark: RustQC ~14m 54s vs traditional tools ~15h 34m sequential (dupRadar + featureCounts + 8 RSeQC tools incl. TIN + preseq + samtools + Qualimap)

Run time for a large paired-end RNA-seq BAM (~186M reads) on AWS.

It currently includes:

  • rustqc rna is a single-command RNA-Seq QC tool that runs all QC analyses in one pass. Designed to slot into the nf-core/rnaseq pipeline, but works anywhere:
Tool Reimplements Description
dupRadar dupRadar PCR duplicate rate vs. expression analysis with density scatter plots
featureCounts featureCounts Gene-level read counting with biotype summaries
bam_stat RSeQC bam_stat.py Basic alignment statistics
infer_experiment RSeQC infer_experiment.py Library strandedness inference
read_duplication RSeQC read_duplication.py Position- and sequence-based duplication histograms
read_distribution RSeQC read_distribution.py Read distribution across genomic features
junction_annotation RSeQC junction_annotation.py Splice junction classification
junction_saturation RSeQC junction_saturation.py Splice junction saturation analysis
inner_distance RSeQC inner_distance.py Paired-end inner distance distribution
TIN RSeQC tin.py Transcript Integrity Number
preseq preseq lc_extrap Library complexity extrapolation
Qualimap rnaseq Qualimap rnaseq Gene body coverage, read origin, strand specificity
flagstat samtools flagstat Alignment flag summary
idxstats samtools idxstats Per-chromosome read counts
stats samtools stats Full samtools stats output including all histogram sections

All outputs are format- and numerically identical to the upstream tools, and compatible with MultiQC for reporting.

Quick start

# Install (Linux x86_64 example -- see docs for all platforms)
curl -fsSL https://github.com/seqeralabs/RustQC/releases/latest/download/rustqc-linux-x86_64.tar.gz | tar xz --strip-components=1
sudo mv ./rustqc /usr/local/bin/

# Run RNA-Seq QC
rustqc rna sample.markdup.bam --gtf genes.gtf --paired --outdir results/
# Or use Docker
docker run --rm -v "$PWD":/data ghcr.io/seqeralabs/rustqc:latest \
  rustqc rna /data/sample.markdup.bam --gtf /data/genes.gtf --outdir /data/results
# Or install from crates.io
cargo install rustqc

See the documentation for full usage details, configuration options, output file descriptions, and benchmark results.

AI & Provenance

RustQC was developed with substantial assistance from AI coding agents (primarily Claude), using the upstream tool source code as reference. Correctness is validated by comparing output against the original tools on real sequencing data, not by manual code review alone. See the AI & Provenance documentation for full details, including known validation gaps.

License

This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for details.

Packages

 
 
 

Contributors

Languages