Binette v1.2.0
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.
--verboseenables DEBUG logs in the console.--debuggenerates a debug log file in the output directory.--quietsilences 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