(feat) Add entropy-based filtering and rolling statistics for k-mers

- Introduce lazy_static dependency
- Refactor encoding: rename encode_base →encode_nuc and make it pub(crate)
- Add from_raw_right/raw Right methods to Kmer for right-aligned handling
- Improve error message formatting and code readability in kmod.rs tests  
- Replace inline entropy computation with precomputed tables (entropy_table module)—using LazyLock for static lookup arrays
- Simplify EntropyFilter by removing redundant tables and delegating to new entropy_table API  
- Add RollingStat module for real-time kmer statistics and minimizer tracking
- Reorganize modules: move iter, encoding to pub(crate), add entropy_table and rolling_stat
- Update imports across obiskbuilder crate accordingly
This commit is contained in:
Eric Coissac
2026-04-20 15:34:56 +02:00
parent 097f7f0695
commit ae5e1152b9
11 changed files with 499 additions and 121 deletions
+1
View File
@@ -6,3 +6,4 @@ edition = "2024"
[dependencies]
obikseq = { path = "../obikseq" }
obikrope = { path = "../obikrope" }
lazy_static = "1.5.0"