/// Find all matches of length k between two strings, using a q-gram
/// index. For very long reference strings, it may be more efficient to use and
/// FMD index to generate the matches. Note that this method is mainly for
/// demonstration & testing purposes.  For aligning many query sequences
/// against the same reference, you should reuse the QGramIndex of the reference.
Find all matches of length k between two strings, using a q-gram
index. For very long reference strings, it may be more efficient to use and
FMD index to generate the matches. Note that this method is mainly for
demonstration & testing purposes.  For aligning many query sequences
against the same reference, you should reuse the QGramIndex of the reference.
Find all matches of length k between two strings using a q - gram index . For very long reference strings it may be more efficient to use and FMD index to generate the matches . Note that this method is mainly for demonstration & testing purposes . For aligning many query sequences against the same reference you should reuse the QGramIndex of the reference .
pub fn find_kmer_matches(seq1: &[u8], seq2: &[u8], k: usize) -> Vec<(u32, u32)> {
    if seq1.len() < seq2.len() {
        let set = hash_kmers(seq1, k);
        find_kmer_matches_seq1_hashed(&set, seq2, k)
    } else {
        let set = hash_kmers(seq2, k);
        find_kmer_matches_seq2_hashed(seq1, &set, k)
    }
}
pub fn find_kmer_matches ( seq1 : & [ u8 ] , seq2 : & [ u8 ] , k : usize ) -> Vec < ( u32 , u32 ) > { if seq1 . len ( ) < seq2 . len ( ) { let set = hash_kmers ( seq1 , k ) ; find_kmer_matches_seq1_hashed ( & set , seq2 , k ) } else { let set = hash_kmers ( seq2 , k ) ; find_kmer_matches_seq2_hashed ( seq1 , & set , k ) } }
Find all matches of length k between two strings, using a q-gram
index.
Find all matches of length k between two strings using a q - gram index .
seq1
&[u8]
seq2
&[u8]
k
usize