INNER CODE UNIT · Rust
chain_seeds
bluenote-1577/skani · src/chain.rs:144
pub fn chain_seeds(
ref_sketch: &Sketch,
query_sketch: &Sketch,
map_params: MapParams,
) -> AniEstResult {
let (anchor_chunks, switched) = get_anchors(ref_sketch, query_sketch, &map_params);
let chain_results = chain_anchors_ani(&anchor_chunks, &map_params);
let mut good_intervals = vec![];
for i in 0..anchor_chunks.chunks.len() {
let chain_result = &chain_results[i];
let anchors = &anchor_chunks.chunks[i];
get_chain_intervals(&mut good_intervals, chain_result, anchors, &map_params, i);
}
let good_interval_chunks =
get_nonoverlapping_chains(&mut good_intervals, anchor_chunks.chunks.len());
let mut ani = calculate_ani(
&good_interval_chunks,
ref_sketch,