INNER CODE UNIT · Rust

primer_from_index

David-OConnor/plascad · src/gui/mod.rs:181

fn primer_from_index(index: &Option<usize>, primers: &[Primer]) -> Option<usize> {
    if let Some(seq_i) = index {
        // If multiple features are in the cursor's region, choose the smallest.
        let mut matched = false;
        let mut smallest_feature = 0;
        let mut smallest_feature_size = 99999;

        for (i, primer) in primers.iter().enumerate() {
            for p_match in &primer.volatile.matches {
                if *seq_i > p_match.range.start && *seq_i < p_match.range.end {
                    matched = true;
                    let feature_size = p_match.range.end - p_match.range.start - 1;
                    if feature_size < smallest_feature_size {
                        smallest_feature = i;
                        smallest_feature_size = feature_size;
                    }
                }
            }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…