Releases: bede/hostile
Releases · bede/hostile
2.0.2
2.0.1
2.0.0
A major release with faster long read decontamination and support for stdin and stdout for both single and paired reads. Interleaved paired reads are now supported via stdin and stdout. A breaking change has been made to hostile clean: the --out-dir argument has been renamed to --output, and now accepts - to write output to stdout rather than files. Decontamination accuracy is unchanged. Thanks to @jannikseidelQBiC, @BioWilko, @dterumalai, @jfy133, @microbemarsh and @charlesfoster for bug reports and suggestions.
Added
- Faster long read decontamination due to automatic caching of MMI indexes
- Support for streaming data input via stdin for both single and interleaved paired FASTQ (#35)
- Support for streaming data output via stdout for both single and interleaved paired FASTQ
- Automatic allocation of available cores between alignment and compression tasks
- Support for Illumina CASAVA 1.8+ read headers (#41)
- Ability to override remote index repository URL
Changed
- Fixed bug in inverted mode
--invertwith paired reads (#42 ) --fastq1and--fastq2now accept-to read from stdin--out-dirargument ofhostile cleanrenamed to--output(or-o)- Now accepts
-to write reads to stdout rather than files
- Now accepts
- Reorganised index-related functionality into
hostile indexsubcommandshostile fetchreplaced withhostile index fetch
--offlinerenamed to--airplane- Improved warnings and error messages
- Pins Bowtie2>=2.5.4 and Minimap2>=2.28
- Removed space before
/1and/2when writing paired FASTQ
1.1.0
- Allows cross-platform override of the default index cache directory using the environment variable
HOSTILE_CACHE_DIR. Previously, override usingXDG_DATA_HOMEworked only on Linux. The default continues to be a sensible platform-specific directory determined by the platformdirs library. #32 - Dockerfile simplification (suggested by @bdklahn). #33
- Improved usage examples, prompted by @Ackia. #34
1.0.0
- Automatically download and use any standard index by name. This means you can run e.g.
hostile clean --index human-t2t-hla-argos985 --fastq1 reads.fq.gzand Hostile will fetch that index if it hasn't been downloaded previously. Addresses #28 - Two new standard indexes:
human-t2t-hla.rs-viral-202401_ml-phage-202401(RefSeq viral & Millard Lab phage)human-t2t-hla.argos-bacteria-985_rs-viral-202401_ml-phage-202401(ARGOS bacteria, RefSeq viral, & Millard Lab phage)
- Improved masking protocol for custom index creation (
hostile mask)- Uses
minimap2with modified secondary alignment limit and secondary-to-primary score ratio threshold (-Nand-p) - k-merises target genome(s) into 150mers with a step of 10bp by default prior to alignment. Adds dnaio dependency
- Uses
- New options for
hostile clean:--aligner-args,--invert, and--offline - Verification of downloaded index checksums in manifest.json (#20)
- Adds
version,alignerandoptionsfields to log output - Bugfix: when 0 reads remain after decontamination, the resulting empty fastq.gz files are no longer corrupted (#24).
- Disable potentially surprising fallback to Minimap2 if an error is encountered running Bowtie2
- Symlinked FASTQ paths are followed but no longer resolved
- Links to published article
0.4.0
- Adds
hostile fetchsubcommand for viewing and downloading prebuilt references. Readme updated. - Hostile now automatically chooses a near-ideal number of alignment threads given available CPU count
- Changes optional
--sort-by-nameargument introduced in0.3.0to--reorder, providing deterministic read order without necessarily sorting - On platforms other than MacOS (where native
--reorderperforms poorly),--reorderuses Bowtie2's native--reorderflag, increasing decontamination speed compared to0.3.0.
0.3.0
- Adds option
--aligner-args, allowing arbitrary alignment parameter passthrough (e.g.--aligner-args="--ignore-quals"). - Adds option
--sort-by-name, ordering output reads by name. This ensures that output order is deterministic when using Bowtie2 with multiple threads. Bowtie2's--reorderflag also provides determinism with less overhead on Linux, but has severe performance implications under MacOS in my testing. You can pass--reorderto Bowtie2 using--aligner-args="--reorder").