Function noodles::csi::binning_index::merge_chunks [−][src]
pub fn merge_chunks(chunks: &[Chunk]) -> Vec<Chunk, Global>
Expand description
Merges a list of chunks into a list of non-overlapping chunks.
This is the same as calling optimize_chunks
with a min_offset
of 0.
Examples
use noodles_bgzf as bgzf;
use noodles_csi::{
binning_index::merge_chunks,
index::reference_sequence::bin::Chunk,
};
let chunks = [
Chunk::new(bgzf::VirtualPosition::from(2), bgzf::VirtualPosition::from(3)),
Chunk::new(bgzf::VirtualPosition::from(5), bgzf::VirtualPosition::from(8)),
Chunk::new(bgzf::VirtualPosition::from(7), bgzf::VirtualPosition::from(13)),
Chunk::new(bgzf::VirtualPosition::from(21), bgzf::VirtualPosition::from(34)),
];
let actual = merge_chunks(&chunks);
let expected = [
Chunk::new(bgzf::VirtualPosition::from(2), bgzf::VirtualPosition::from(3)),
Chunk::new(bgzf::VirtualPosition::from(5), bgzf::VirtualPosition::from(13)),
Chunk::new(bgzf::VirtualPosition::from(21), bgzf::VirtualPosition::from(34)),
];
assert_eq!(actual, expected);