Skip to content

Binette v1.2.0

Choose a tag to compare

@JeanMainguy JeanMainguy released this 14 Oct 14:34
· 5 commits to main since this release
6ca421f

Major improvements

Bitmap storage, faster CheckM2, and smarter bin filtering (PR #67, issues #60 and #62)

  • Bins are now stored using BitMap (pyroaring) instead of Python sets for faster operations and lower memory usage.
  • CheckM2 data preparation has been optimized, significantly speeding up quality evaluation.
  • Smarter bin filtering skips bins that are too small, too large, or too contaminated before processing.
  • ⚠️ Output table format changed: intermediate bin details are no longer included in the final TSV. The CheckM2 model used for predictions and the coding density are now included (PR #77 #80 issue #66).

Performance and CLI updates

  • Faster startup with lazy loading of heavy dependencies such as TensorFlow (PR #69).

  • Parallel bin quality assessment using joblib for better CPU utilization (PR #73, issue #71).

  • New Typer-based CLI with clearer help messages and rich progress bars (PR #70).

    • Default logging level is now INFO.
    • --verbose enables DEBUG logs in the console.
    • --debug generates a debug log file in the output directory.
    • --quiet silences INFO and DEBUG logs.

Other improvements

  • Added option to prefix final bin names (default: binette) (PR #68, issue #61).
  • Handling of empty DIAMOND results, preventing crashes (PR #76, issue #72).
  • Improved logging and code style with Ruff (PR #74).
  • Unified unit and functional tests under pytest for easier local and CI testing (PR #75).
  • Drop support for pyrodigal v2 (PR #78).
  • Added a simplified output table mapping contigs to final bins, and an option to skip FASTA export with --no-write-fasta-bins (PR #81).

Full changelog: v1.1.1...v1.2.0