Skip to content

Latest commit

 

History

History
178 lines (107 loc) · 4.87 KB

File metadata and controls

178 lines (107 loc) · 4.87 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[4.0.0] - 2026-01-26

Changed

  • Summary output now lists identified taxon IDs in taxons_identified (replacing total_taxon_count)
  • Summary output now includes zero entries for identified taxa with no direct assignments in reads_extracted_per_taxon

[3.1.0] - 2025-12-12

Added

  • Attempt to detect headers in kraken report files and skip if it looks like a header. It does this by checking if there are 6 fields that are all strings (or more precisely if each field returns an error when parsing into an int/float). If so, it is assumed that this line is a header and is skipped. A warning message is printed in this case.
  • --no-header-detect flag to force parsing Kraken reports from the first line without auto-skipping headers, disabling the new header detection behaviour described above

Changed

  • Kraken report/output parsing errors now include the line number and o line for easier debugging.

[4.0.0] - 2026-01-26

Changed

  • Summary output now lists identified taxon IDs in taxons_identified (replacing total_taxon_count) and includes zero entries for identified taxa with no direct assignments in reads_extracted_per_taxon.

[3.0.1] - 2025-10-16

Fixed

  • Prevent a panic when writing to output paths without an extension.

[3.0.0] - 2025-09-26

Added

  • Able to specifiy taxon ids that are not present, without kractor stopping. These are instead logged to stderr with a warning. This may be useful when running kractor in a wrapper script for several fastq files and just want to extract a set of taxonids from them all - without caring if they are present or not.
  • Include a new field missing_taxon_ids in the summary output.

Changed

  • Under the hood refactoring, introducing structs for the processed kraken outputs and processed kraken trees to simplify the returned data.

Fixed

  • Unclassified reads being skipped in the tree building stage, meaning they were unable to be extracted

[2.0.0] - 2025-08-12

Added

  • Added a reads_extracted_per_taxon field to to summary report (#28)
  • Added a proportion_extracted field to summary report (#28)
  • Added the version to summary report (#28)
  • Added an output format (fasta or fastq) field to the summary report (#28)
  • Added a --verbose flag (in addition to the existing -v)

Changed

  • Removed -O for compression type, now uses --compression-format for clarity.
  • Removed -l for compression level, now uses --compression-level for clarity.
  • Renamed --json-report to --summary
  • Improved the JSON report format to make it easier to read by removing Paired and Single fields and instead having a simple total_reads_in and total_reads_out field.

Fixed

  • Removed duplicate log message for taxon IDs identified
  • Clippy warnings

[1.0.1] - 2025-06-28

Fixed

  • Create subdirectories specified in output path if they don't exist (#24)
  • Add output validation to prevent overwriting existing files (#25)

[1.0.0] - 2025-04-16

Added

  • Better error handling with color-eyre (#16)
  • Proper panic handling (#16)
  • Tests for most functions
  • JSON report with accurate read count information (#15)

Changed

  • Keep fastq parsing in bytes instead of converting to String (#17)
  • Optimized functions to take &str instead of String (#21)
  • Migrated to crossbeam scoped channels and refactored threading code
  • Refactored JSON output and removed lazy_static dependency

Fixed

  • Root node no longer added to tree twice (#22)

[0.4.0] - 2023-10-06

Added

  • JSON report included in stdout upon successful completion (can be disabled with --no-json)

Changed

  • Project renamed

[0.3.0] - 2023-09-22

Added

  • Support for paired-end files
  • Output FASTA file with --output-fasta option

Changed

  • Major refactor to use Noodles for fastq parsing
  • Switched to Niffler for compression handling
  • Streamlined arguments related to compression types/level

Improved

  • Logging functionality

[0.2.3] - 2023-09-02

Changed

  • Code optimizations

[0.2.2]

Added

  • --no-compress flag to output standard plaintext fastq files
  • --exclude option to exclude specified reads (works with --children and --parents)
  • Internal documentation (docstrings)

Improved

  • Increased verbosity of user outputs

[0.2.1]

Fixed

  • Reduced memory usage

[0.2.0]

Added

  • Automatic detection and handling of gz and plain files
  • --compression argument to select compression type
  • --children and --parents options to save children and parents based on kraken report

Changed

  • Integrated zlib-ng for faster gzip handling

[0.1.0]

Added

  • Initial release