refactor: remove equivalence class folding from entropy pipeline
Removes circular-reverse complement machinery and explicit k-mer canonicalization across the entropy pipeline. Frequency tallying and Shannon entropy computation now operate directly on raw k-mer values, eliminating prior score inflation and alignment-dependent artifacts while preserving orientation invariance. Updates build scripts to generate normalized lookup tables for k-mer lengths 1–6, restricts the public API to `EntropyTracker`, and bumps crate versions. Documentation is updated to reflect the simplified raw-value approach and revised module structure.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use obikentropy::{EntropyTracker, sub_word_canon};
|
||||
use obikentropy::EntropyTracker;
|
||||
use obikseq::kmer::{Minimizer, hash_kmer};
|
||||
use obikseq::params;
|
||||
|
||||
@@ -136,8 +136,6 @@ impl RollingStat {
|
||||
self.rolling_rck =
|
||||
((self.rolling_rck >> 2) | ((cnuc as u64) << ((k - 1) * 2))) & self.k_mask;
|
||||
|
||||
let canon = sub_word_canon(self.rolling_k);
|
||||
|
||||
self.received += 1;
|
||||
|
||||
if self.received >= m {
|
||||
@@ -170,7 +168,7 @@ impl RollingStat {
|
||||
}
|
||||
}
|
||||
|
||||
self.entropy.push(self.received, canon);
|
||||
self.entropy.push(self.received, self.rolling_k);
|
||||
}
|
||||
|
||||
pub fn ready(&self) -> bool {
|
||||
|
||||
Reference in New Issue
Block a user