BioFastq-A v2.3.0 #14
DilaDeniz
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Changelog
v2.3.0 2026-05-18
Summary
v2.3.0 is the biggest release since the initial Rust write. Every analysis that takes extra CPU is now offset by the new parallel pipeline — experimental benchmarks show v2.3.0 is faster than v2.2.0 on identical hardware despite computing significantly more statistics.
New Features
Per-Position Quality Boxplots
The quality chart now shows the full Q25/median/Q75 band per position in addition to the mean line. This makes it immediately obvious whether a position has a tight quality distribution or a fat tail of bad reads.
Per-Read GC Distribution
A histogram of per-read GC% across all reads. Bimodal distributions flag contamination; a sharp spike flags adapter dimer; a broad flat distribution flags PCR over-amplification.
Quality-vs-Length Scatter (Long-Read Mode)
For ONT/PacBio data (
--long-readflag), a 2D scatter of read quality vs. read length is plotted instead of per-position quality. Automatically activated when median read length > 1 000 bp.Long-Read / ONT Support (
--long-read)Two-File Comparison Mode (
--compare file2.fastq)Run BioFastq-A on two FASTQ files and produce a unified comparison report. Useful for before/after trimming QC, sample-vs-control, or replicate agreement. Side-by-side charts highlight every metric that diverges between the two files.
Auto Parameter Suggestions
After analysis, BioFastq-A inspects the results and prints actionable trimming recommendations:
--adapter-trim--quality-trim 20--poly-g-trim--filter-overrepSliding-Window Quality Trimming (
--window-size,--window-quality)Trim reads as soon as a sliding window of N bases drops below a mean quality threshold. Gentler than hard 3′ trimming; preserves more of the read when only the last few bases degrade.
Poly-G / Poly-X Trimming (
--poly-g-trim,--poly-x-trim)Two-colour chemistry (NextSeq, NovaSeq) encodes signal loss as poly-G. BioFastq-A now detects and removes poly-G/X tails without any adapter file.
Performance
Three sources of overhead introduced by the new statistics were eliminated:
Vec<Vec<u8>>→Vec<[u8;50]>for overrep samplingqual_hist_by_pos [u64;43]→[u32;43]Result on 1M × 150 bp benchmark (8 threads):
v2.3.0 computes more statistics and is still ~4% faster.
What BioFastq-A Does That Others Don't
Bug Fixes
cut_tailedge case where reads shorter than the trim window produced an off-by-one in the output length calculationInstallation
Have fun using!
by Dila Deniz
This discussion was created from the release BioFastq-A v2.3.0.
All reactions