Skip to content

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hiller Lab

Hiller Lab

bqc

GitHub License

CBQ-native all-in-one quality control tool
The Hiller Lab at the Senckenberg Research Institute

binseq . usage . benchmark . us


removes adapter sequences, trims, deduplicates, extracts UMIs, and filters sequencing
reads stored in CBQ files. It works natively on CBQ: no FASTQ conversion,
no intermediate file, and every stage runs in one pass over the input.


Important

  • 📄 CBQ-native: reads CBQ directly.
  • ~ 4-8x faster than the field on typical data (fastp, cutadapt, atropos, trimmomatic), with 📉 ~90% less memory.
  • 🧬 Reference-free sniff adapters (curated 234-known adapters) and 👃 sniff strandeness for RNA against a Salmon index (given or produced on-the-fly through --transcriptome <PATH>).
  • 🔄 Everything in one pass: 3' adapter removal (incl. --allow-indels), quality/positional/homopolymer trim, polyA/G tails, overlap error correction from the mate, internal-adapter split, UMI extraction, filtering — configurable.
  • 🔒 Deterministic + safe: single static binary

Installation

Binary

cargo install --all-features bqc

Docker

docker pull ghcr.io/hillerlab/bqc:latest

Conda

conda install -c bioconda bqc

Benchmarks

See bench.md for full details.

  • typical — synthetic, generated by bench/gen.py: 150 bp, A1/A2 adapters with per-base quality decay (phred33), i.e. a realistic "standard adapter-trimming" workload.
  • real — the first 2M pairs (head -$((P_REAL*4)) lines) of real sequencing data SRR8997011 (~100 bp), which has no adapters to trim — so it measures raw throughput/overhead on genuine data rather than trimming effect.
dataset tool wall s RSS MB reads out bases out (M) mean len pairs kept adapter ppm
typical bqc 1.59 176 1,957,469 251.7 128.6 1,957,469 0.0
typical fastp 6.46 1235 1,957,469 251.3 128.4 1,957,469 0.0
typical cutadapt 3.86 50 1,957,469 251.2 128.3 1,957,469 0.0
typical atropos 16.65 60 1,957,469 251.2 128.3 1,957,469 0.0
typical trimmomatic 12.95 1154 1,957,469 251.8 128.7 1,957,469 0.0
real bqc 1.23 103 1,965,023 196.6 100.0 1,965,023 0.0
real fastp 5.00 1240 1,828,671 180.9 98.3 1,828,671 0.0
real cutadapt 3.08 51 1,964,259 196.2 99.7 1,964,259 0.0
real atropos 15.43 62 1,964,259 196.2 99.7 1,964,259 0.0
real trimmomatic 7.72 1149 1,921,288 / 1,863,229 188.1 / 181.4 97.6 1,827,052 0.0

UMI and deduplication (2M SE reads, 150 bp, 8 threads)

op bqc wall s bqc RSS MB fastp wall s fastp RSS MB
UMI (8 bp read1) 0.48 100 1.32 80
dedup 0% 1.05 612 3.21 4204
dedup 50% 2.09 1473 3.61 4192

bqc dedup is exact; fastp's Bloom filter over-deletes (~65–168 unique reads at 10–50% duplication) and pins 4.2 GB regardless of duplication, while bqc memory scales with candidate families (612 MB → 1.47 GB).

About

CBQ-native all-in-one quality control tool

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages