pub struct SeedNtHashBuilder<'a> { /* private fields */ }Expand description
Builder for creating a SeedNtHashIter, providing ergonomic configuration.
Example:
use nthash_rs::{SeedNtHashBuilder, Result};
let seq = b"ATCGTACGATGCATGCATGCTGACG";
let masks = vec!["000111", "010101"];
for (pos, hashes) in SeedNtHashBuilder::new(seq)
.k(6)
.masks(masks)
.num_hashes(2)
.finish()? {
println!("{pos:2} {:016x}", hashes[0]);
}Implementations§
Source§impl<'a> SeedNtHashBuilder<'a>
impl<'a> SeedNtHashBuilder<'a>
Sourcepub fn new(seq: &'a [u8]) -> Self
pub fn new(seq: &'a [u8]) -> Self
Starts building a new ntHash configuration from the given sequence.
Sourcepub fn masks<S: Into<String>, I: IntoIterator<Item = S>>(self, m: I) -> Self
pub fn masks<S: Into<String>, I: IntoIterator<Item = S>>(self, m: I) -> Self
Adds seed masks where ‘1’ indicates positions to hash.
Sourcepub fn num_hashes(self, n: usize) -> Self
pub fn num_hashes(self, n: usize) -> Self
Specifies number of hashes per spaced seed.
Sourcepub fn finish(self) -> Result<SeedNtHashIter<'a>>
pub fn finish(self) -> Result<SeedNtHashIter<'a>>
Finalizes the builder and returns an iterator over the hashes.
Trait Implementations§
Source§impl<'a> IntoIterator for SeedNtHashBuilder<'a>
impl<'a> IntoIterator for SeedNtHashBuilder<'a>
Auto Trait Implementations§
impl<'a> Freeze for SeedNtHashBuilder<'a>
impl<'a> RefUnwindSafe for SeedNtHashBuilder<'a>
impl<'a> Send for SeedNtHashBuilder<'a>
impl<'a> Sync for SeedNtHashBuilder<'a>
impl<'a> Unpin for SeedNtHashBuilder<'a>
impl<'a> UnwindSafe for SeedNtHashBuilder<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more