Releases: metagenopolis/CroCoDeEL
Releases · metagenopolis/CroCoDeEL
Release list
CroCoDeEL v1.3.1
Performance
- Contamination search is about 4.5 times faster: on a 237-sample dataset it now takes 12.5 seconds instead of 58 seconds using 8 CPUs, with identical results
Bug fixes
easy_wfagain exposes only the three mandatory files (-s,-c,-r); usesearch_contaandplot_contato change any other setting- Fixed scatterplots being wrong when a second abundance table is provided: species absent from one table were drawn at 100% abundance instead of being treated as absent
- Made contamination event ordering deterministic, so identical inputs always produce identical output files
- Contamination rates of zero are no longer reported or accepted
- No PDF report is written when no contamination is found, instead of an unreadable empty file
--nprocnow defaults to the CPUs actually available to the process, rather than every core on the machine, and an existingOMP_NUM_THREADSsetting is preserved
Improved error handling
- Malformed species abundance tables (empty or with an inconsistent number of columns) now report a clear message instead of a traceback
- Malformed contamination event files are rejected with the offending line number, including rows with missing or extra fields
- Contamination event files that name samples absent from the abundance table are rejected before the report is generated
- Invalid Random Forest model files are rejected before the search starts
- Species abundance tables containing missing values are rejected
- Error messages listing many sample names are truncated instead of printing thousands of names on one line
Other
- Replaced scikit-learn's RANSAC with a specialised implementation in a dedicated module, giving identical results
- Added mypy and pylint to the continuous integration workflow
- Added Python 3.13 to the test matrix and restricted supported versions to 3.12–3.13
- Added unit tests, bringing coverage to 98%
- Refactored the command-line interface, packaged-resource handling and execution description
CroCoDeEL v1.3.0
Bug fixes
- Replaced abrupt
sys.exitcalls with proper exception handling for input-data errors - Improved validation of contamination event files to provide clearer error messages for malformed input files
- Improved CLI error handling and exit codes
Other
- Refactored
plot_conta,search_conta, andtrain_modelmodules - Added extensive unit tests for the main modules and CLI
- Added input validation and type checking throughout the codebase
- Added documentation and missing docstrings
- Renamed the
test_installcommand toself_test
CroCoDeEL v1.2.2
Update README and improve CroCoDeEL log messages.
CroCoDeEL v1.2.1
Bug fixes
- Switched output format from raw numbers to scientific notation to improve handling of low-rate contamination events.
- Updated rounding logic: replaced fixed decimal rounding with dynamic, magnitude-based rounding.
CroCoDeEL v1.2.0
Bug fixes
- Fixed a rare bug where RANSAC fails to find a valid consensus set
- Fixed incorrect score function in the linear model
New features
- Added a function to refine contamination line detection using Tukey's technique
Other
- Updated the Random Forest model with more relevant features
CroCoDeEL v1.1.1
Improvements
- Refactored and simplified the linear regression implementation
- Vectorized the search for candidate species forming a contamination line
- Limited the maximum number of trials in the RANSAC procedure
Performance
- Achieved ~65% reduction in total runtime (~3× speedup) 🚀
CroCoDeEL v1.1.0
Improvements
- Refactored the codebase for improved structure and maintainability
- Optimized classification performance by reducing the Random Forest size from 1000 to 100 trees
Performance
- Achieved ~35% reduction in total runtime (~1.5× speedup) 🚀
CroCoDeEL v1.0.8
Replace deprecated argparse.FileType to support Python >= 3.14
CroCoDeEL v1.0.7
Add CLI parameters to customize contamination reporting cutoffs
Add a new subcommand (train_model) to train a custom Random Forest classifier
Slight performance improvements
Improve documentation and logging messages
CroCoDeEL v1.0.6
Add a feature to filter low-abundance species and enhance CroCoDeEL's sensitivity with taxonomic profilers other than Meteor.
Fix a bug when merging two abundance tables containing a different number of species. #2
Improve logging messages and update the documentation.