Releases: bede/hostile
Releases Β· bede/hostile
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
--invert
with paired reads (#42 ) --fastq1
and--fastq2
now accept-
to read from stdin--out-dir
argument ofhostile clean
renamed to--output
(or-o
)- Now accepts
-
to write reads to stdout rather than files
- Now accepts
- Reorganised index-related functionality into
hostile index
subcommandshostile fetch
replaced withhostile index fetch
--offline
renamed to--airplane
- Improved warnings and error messages
- Pins Bowtie2>=2.5.4 and Minimap2>=2.28
- Removed space before
/1
and/2
when 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_HOME
worked 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.gz
and 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
minimap2
with modified secondary alignment limit and secondary-to-primary score ratio threshold (-N
and-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
,aligner
andoptions
fields 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 fetch
subcommand 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-name
argument introduced in0.3.0
to--reorder
, providing deterministic read order without necessarily sorting - On platforms other than MacOS (where native
--reorder
performs poorly),--reorder
uses Bowtie2's native--reorder
flag, 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--reorder
flag also provides determinism with less overhead on Linux, but has severe performance implications under MacOS in my testing. You can pass--reorder
to Bowtie2 using--aligner-args="--reorder"
).