🌶️ sracha 🌶️
Fast SRA downloader and FASTQ converter, written in pure Rust.
Features
- Parallel downloads -- chunked HTTP Range requests with multiple connections
- Native VDB parsing -- pure Rust, zero C dependencies
- Integrated pipeline -- download, convert, and compress in one command
- cSRA decode -- reference-compressed / aligned SRA archives decoded in pure Rust
- ENA fast path --
--prefer-enapulls pre-computed FASTQ.gz from ENA when available - Project-level accessions -- pass a BioProject (PRJNA) or study (SRP) to download all runs
- Accession lists -- batch download from a file with
--accession-list - Parallel gzip or zstd -- pigz-style block compression via rayon
- FASTA output -- drop quality scores with
--fasta - SRA and SRA-lite -- full quality or simplified quality scores
- Split modes -- split-3, split-files, split-spot, interleaved
- Stdout streaming -- pipe interleaved FASTQ to downstream tools with
-Z - Resumable downloads -- automatically resumes interrupted transfers
- File validation -- verify SRA file integrity with
sracha validate - VDB introspection --
sracha vdbinspects local.srafiles (tables, columns, metadata, schema) as a pure-Rust replacement forvdb-dump
How it works
sracha get runs the full pipeline in one command:
- Resolve -- looks up the accession via direct S3 URL (with SDL API fallback)
- Download -- fetches the
.srafile with parallel chunked HTTP Range requests - Parse -- reads the KAR archive and decodes VDB columns (READ, QUALITY, READ_LEN, NAME)
- Output -- formats FASTQ (or FASTA) records and compresses with parallel gzip/zstd
Demo

Quick start
See the Getting Started guide for more examples, or the CLI Reference for all options.
Installation
From binary releases
Download pre-built binaries from the releases page.
From source
Requires Rust 1.92+.
With Bioconda
With containers
Because sracha is on Bioconda, BioContainers automatically publishes a Docker/Singularity image for every release — no local build required.
The tags above are examples — check
quay.io for the
latest <version>--<build> tag and substitute it in.
In Nextflow, point a process at the image directly
or let the conda directive resolve it:
Acknowledgments
sracha builds on the Sequence Read Archive, maintained by the National Center for Biotechnology Information at the National Library of Medicine. The SRA and its toolchain are public-domain software developed by U.S. government employees — our tax dollars at work. Special thanks to Kenneth Durbrow (@durbrow) and the SRA Toolkit team for building and maintaining the infrastructure that makes projects like this possible.
This project wouldn't exist without NCBI's open infrastructure: the VDB/KAR format, the SDL locate API, EUtils, and public S3 hosting of sequencing data. sracha aims to make it easier for the community to build on that foundation.