INNER CODE UNIT · Rust

get_matches

google/best · src/intervals.rs:145

pub fn get_matches(
    seq: &fasta::record::Sequence,
    start: usize,
    end: usize,
    s: &str,
    strand_rev: bool,
) -> Vec<FeatureInterval> {
    let mut res = Vec::new();

    for i in start..end {
        // convert to zero-indexed
        let seq_iter = seq.as_ref()[i - 1..(i - 1 + s.len()).min(end - 1)]
            .iter()
            .map(|c| c.to_ascii_uppercase());
        let is_match = if strand_rev {
            seq_iter.eq(s.bytes().rev().map(|c| COMPLEMENT[c as usize]))
        } else {
            seq_iter.eq(s.bytes())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…