RustQC
Fast genomics quality control tools for sequencing data, written in Rust.
Install / Use
/learn @seqeralabs/RustQCREADME
RustQC is a suite of fast QC tools for sequencing data, compiled to a single static binary with no runtime dependencies.
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/seqeralabs/RustQC/main/docs/public/benchmarks/benchmark_dark.png"> <img src="https://raw.githubusercontent.com/seqeralabs/RustQC/main/docs/public/benchmarks/benchmark_light.png" alt="Benchmark: RustQC ~14m 54s vs traditional tools ~15h 34m sequential (dupRadar + featureCounts + 8 RSeQC tools incl. TIN + preseq + samtools + Qualimap)" width="600"> </picture> </p> <p align="center"><em>Run time for a large paired-end RNA-seq BAM (~186M reads) on AWS.</em></p>It currently includes:
rustqc rnais 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.
Related Skills
himalaya
353.3kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
353.3kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
