[][src]Function debruijn::filter::filter_kmers

pub fn filter_kmers<K: Kmer, V: Vmer, D1: Clone, DS, S: KmerSummarizer<D1, DS>>(
    seqs: &[(V, Exts, D1)],
    summarizer: &dyn Deref<Target = S>,
    stranded: bool,
    report_all_kmers: bool,
    memory_size: usize
) -> (BoomHashMap2<K, Exts, DS>, Vec<K>) where
    DS: Debug

Process DNA sequences into kmers and determine the set of valid kmers, their extensions, and summarize associated label/'color' data. The input sequences are converted to kmers of type K, and like kmers are grouped together. All instances of each kmer, along with their label data are passed to summarizer, an implementation of the KmerSummarizer which decides if the kmer is 'valid' by an arbitrary predicate of the kmer data, and summarizes the the individual label into a single label data structure for the kmer. Care is taken to keep the memory consumption small. Less than 4G of temporary memory should be allocated to hold intermediate kmers.

Arguments

Returns

BoomHashMap2 Object, check rust-boomphf for details