Skip to content

Releases: bede/hostile

2.0.0

19 Dec 16:37
2f601cd
Compare
Choose a tag to compare

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 of hostile clean renamed to --output (or -o)
    • Now accepts - to write reads to stdout rather than files
  • Reorganised index-related functionality into hostile index subcommands
    • hostile fetch replaced with hostile 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

10 Apr 21:33
cb98c9d
Compare
Choose a tag to compare
  • Allows cross-platform override of the default index cache directory using the environment variable HOSTILE_CACHE_DIR. Previously, override using XDG_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

22 Jan 19:18
Compare
Choose a tag to compare
  • 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
  • New options for hostile clean: --aligner-args, --invert, and --offline
  • Verification of downloaded index checksums in manifest.json (#20)
  • Adds version, aligner and options 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

24 Nov 12:27
Compare
Choose a tag to compare
  • 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 in 0.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 to 0.3.0.

0.3.0

22 Nov 18:02
Compare
Choose a tag to compare
  • 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").

0.2.0

10 Nov 14:53
Compare
Choose a tag to compare
  • Addresses #21, improving performance dramatically with Illumina reads / Bowtie in some circumstances
  • Adds a space before /1 and /2 when renaming Illumina reads (with --rename), for improved compatibility
  • Improved logging

0.1.0

23 Jul 13:51
Compare
Choose a tag to compare

Fixes issues #10, #19, #20, #22, #23, #25 and added many new tests

0.0.3

20 Jul 18:27
Compare
Choose a tag to compare
Docstrings and update readme

0.0.2

20 Jul 18:27
Compare
Choose a tag to compare
Readme