diff --git a/src/obikmer/src/steps/scatter.rs b/src/obikmer/src/steps/scatter.rs index 80d789e..cb5a14b 100644 --- a/src/obikmer/src/steps/scatter.rs +++ b/src/obikmer/src/steps/scatter.rs @@ -95,10 +95,13 @@ pub fn scatter( let mut ema_rate: f64 = 0.0; let mut last_t = Instant::now(); let mut last_bases: u64 = 0; + let kmer_overlap = (k - 1) as u64; const ALPHA: f64 = 0.15; for batch in pipe.apply(throttled, n_workers, 1) { - total_bases += batch.iter().map(|sk| sk.seql() as u64).sum::(); + total_bases += batch.iter() + .map(|sk| (sk.seql() as u64).saturating_sub(kmer_overlap)) + .sum::(); let now = Instant::now(); let dt = now.duration_since(last_t).as_secs_f64(); if dt > 0.1 {