All notable changes to this project will be documented in this file. The format is roughly based on Keep a Changelog, and this project tries to adheres to Semantic Versioning. For IRMA vs IRMA-core compatibility, please see the version matrix.
0.9.1 - TBD
- Fixes error in
alignertally diagnostics when reverse complement is not enabled
- Adds more context to paired read errors
0.9.0 - 2026-03-06
- Adds
verboseflag tosamplerfor printing total number of reads in original input and number of downsampled records tostderr - Adds
verboseflag totrimmerfor printing diagnostic output on number of reads trimmed tostderr - Adds
phaseprocess for phase clustering assignment and labeling of single nucleotide variants of genes - Adds more detailed error messages with more context, including file paths for many IO errors
- Adds requirement in
samplerarguments to provide either a--subsample-targetor a--percent-target, fixingunreachableerror when neither is provided - Fixes a bug where leading whitespace in a record file can cause the program to
stall (in
samplerandaligner) - Allows repeated input/output files from processes if they are device files
(e.g.,
/dev/null) merge-samnow respects the seed set in the environmental variableIRMA_SEED- Fixes a bug where not all paired headers were being checked in
preprocess,sampler,trimmer, andxleave
0.8.1 - 2025-12-02
alignerwith--rev-compand--best-matchnow produces the correct positions and CIGAR strings
0.8.0 - 2025-11-21
- Adds standalone
alignerprocess for performing pairwise local sequence alignment with the Striped Smith Waterman algorithm
- The
trimmerprocess now can perform deinterleaving, as well as widow filtering with interleaved inputs and outputs
0.7.0 - 2025-09-17
- Adds standalone
xleaveprocess for interleaving and de-interleaving paired-end FastQ and FASTA files
0.6.2 - 2025-09-25
xflaterecently produced invalid FASTQ during inflation. This has been fixed. This bug was not surfaced in IRMA.
0.6.1 - 2025-09-09
- The
fastq-converterprocess has been removed. - More context is added for IO errors in
sampler
- Fixes bug where SRA paired-end headers could be could be incorrectly flagged
as unmated when
--filter-widowswas selected intrimmer, or with paired reads insampler - Fixes a reproducibility issue in
samplerwhere the seed wasn't being used in one case
0.6.0 - 2025-08-29
- Adds a new standalone process called
samplerthat provides support for randomly downsampling FastQ or FASTA files. Deinterleaving is also supported.
- Use threads and anonymous pipes (in Rust) when decompressing zipped inputs
- Improve error messages to include file names in
trimmerandpreprocess - Other dependencies updated, such as a faster foldhash.
mergeSAMpairs: updated Zoe dependency (in v0.0.19, using v0.0.20) fixes hard clipping in merged reads. Reader error messages are also improved generally.
0.5.1 - 2025-06-03
- Fixes a bug where
--polyg-trimwould trim the sequence but not the quality scores.
0.5.0 - 2025-05-30
preprocess(formerlyqc-trim-deflate) now supports zipped inputs (fastq.gzfiles).
- Re-factor and specify dependencies.
- The process
qc-trim-deflateis now calledpreprocess, and it includes most of the same functionality astrimmer(note that its arguments have been conformed to matchtrimmerrather than the legacyfastq_converterprocess). - The deprecated
fastq_converterwill be removed in the next version. - For
trimmer/preprocess,--filter-widowscan no longer be specified when there is only a single input file. - For
fastq_converter/preprocess,--keep-headerhas been removed since IRMA has made this an unmodifiable default since v1.1.2.
0.4.3 - 2025-05-01
- Fixed bug in
trimmerto allow handling of multi-memberfastq.gzfiles
0.4.2 - 2025-04-30
- The
Dockerfilehas been updated for nextflow compatibility (it currently needed: awk, grep, ps, sed) - The
num-procsprocess now allowsLOCAL_PROCS_OVERRIDEto be greater than the available cores. UseIFX_LOCAL_PROCSif you would like it capped at the available cores.
0.4.1 - 2025-04-28
- The
trimmerprocess now supports compressedfastq.gzfiles for both input and output. - Adds
flate2crate as a dependency for handling.gzfiles
- The release process has been improved to produce better and more artifacts.
0.4.0 - 2025-04-16
trimmernow supports-f, --filter-widowsfor filtering widowed/orphaned reads in a paired-end context, with support for two input and two outputfastqfiles.- Github actions added to generate downloadable releases
- Updates dependencies, particularly with
foldhashandzoeimprovements - For
trimmer, long argument--fastq-output-fileis now--fastq-output
- For
num-procs, the environemntal varLOCAL_PROCS_OVERRIDEnow caps at the max available cores, consistent with the warning message.
0.3.1 - 2025-03-21
- Added: The
num-procsprocess now has the option--cap-cores-using-envso environmental variables likeNSLOTSandIFX_LOCAL_PROCScan further cap resources. The varLOCAL_PROCS_OVERRIDEtrumps other settings up to the available cores.
0.3.0 - 2025-03-18
- Adds
trimmerstandalone process. Read the docs. - Adds integrated
num-procsprocess for portable core counts. - Adds documents for open-sourcing.
- Refactors into integrated / standalone processes.
- Updates dependencies.
- Incorporates fix for Zoe that affected IUPAC base recoding.
0.2.0 - 2024-10-30
- Added: Updates the new
qc-trim-deflate(name subject to change) process with various fixes and improvements. - Changed: Slims down and corrects raw read counts in the the fastq-converter process.
0.1.6 - 2024-10-11
- Added: xflate and qc-trim-deflate processes (initial sketch) and rewritten the flow for the fastq-converter process.
0.1.5 - 2024-09-04
- Added: custom inexact matching algorithm from Zoe