INNER CODE UNIT · Rust

cleanup

informationsea/transanno · liftover-rs/src/chain/mod.rs:88

    fn cleanup(chain_interval: &[ChainInterval]) -> Vec<ChainInterval> {
        if chain_interval.is_empty() {
            return Vec::new();
        }

        chain_interval.iter().fold(Vec::new(), |mut acc, x| {
            if let Some(last) = acc.pop() {
                if last.difference_new.unwrap_or(0) == 0
                    && last.difference_original.unwrap_or(0) == 0
                {
                    acc.push(ChainInterval {
                        size: last.size + x.size,
                        difference_new: x.difference_new,
                        difference_original: x.difference_original,
                    });
                } else if x.size == 0 {
                    acc.push(ChainInterval {
                        size: last.size,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…