pub struct StreamingQueryEngine<'a, const K: usize>{ /* private fields */ }Expand description
Streaming query engine integrated with Dictionary
This provides the full streaming query functionality by connecting to a Dictionary instance for actual k-mer lookups.
Implementations§
Source§impl<'a, const K: usize> StreamingQueryEngine<'a, K>
impl<'a, const K: usize> StreamingQueryEngine<'a, K>
Sourcepub fn new(dict: &'a Dictionary) -> Self
pub fn new(dict: &'a Dictionary) -> Self
Create a new streaming query engine for a dictionary
Sourcepub fn lookup(&mut self, kmer_bytes: &[u8]) -> LookupResult
pub fn lookup(&mut self, kmer_bytes: &[u8]) -> LookupResult
Perform a streaming lookup
Sourcepub fn num_searches(&self) -> u64
pub fn num_searches(&self) -> u64
Get the number of full searches performed
Sourcepub fn num_extensions(&self) -> u64
pub fn num_extensions(&self) -> u64
Get the number of extensions (no search needed)
Sourcepub fn stats(&self) -> StreamingQueryStats
pub fn stats(&self) -> StreamingQueryStats
Get statistics
Trait Implementations§
Source§impl<'a, const K: usize> KmerStreamingQuery for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> KmerStreamingQuery for StreamingQueryEngine<'a, K>
Source§const PREFERS_BITS: bool = false
const PREFERS_BITS: bool = false
Hint to hot-loop callers: does this engine benefit from receiving
pre-computed canonical k-mer bits? Byte-oriented engines (e.g. sshash)
set this to
false so callers skip the canonicalization/bit conversion
work; bit-oriented engines (e.g. tiny-dict) set it to true.Source§fn reset(&mut self)
fn reset(&mut self)
Drop any streaming state so the next lookup parses its k-mer from scratch.
Source§fn lookup(&mut self, kmer_bytes: &[u8]) -> LookupResult
fn lookup(&mut self, kmer_bytes: &[u8]) -> LookupResult
Look up a single k-mer (ASCII bytes, length =
k).Source§fn lookup_bits(
&mut self,
_canonical_bits: u64,
_fw_is_canonical: bool,
fw_bytes: &[u8],
) -> LookupResult
fn lookup_bits( &mut self, _canonical_bits: u64, _fw_is_canonical: bool, fw_bytes: &[u8], ) -> LookupResult
Look up by pre-parsed canonical k-mer bits plus the original FW bytes. Read more
Source§fn num_searches(&self) -> u64
fn num_searches(&self) -> u64
Number of lookups that required a full dictionary search (slow path).
Source§fn num_extensions(&self) -> u64
fn num_extensions(&self) -> u64
Number of lookups resolved by extending along the current unitig (fast path).
Source§fn skip_anchor_along_string(&mut self, _read_offset: i32) -> bool
fn skip_anchor_along_string(&mut self, _read_offset: i32) -> bool
Offset the current anchor along its SPSS string by
read_offset read-positions,
without performing a full lookup. Returns true when the anchor was
successfully shifted (the caller must have independently verified the
sequence agreement, e.g. via a direct SPSS compare), and subsequent
consecutive lookups may use the fast path. Returns false if the engine
has no anchor concept, no current anchor, or the shifted position would
leave the string. Read moreAuto Trait Implementations§
impl<'a, const K: usize> !Freeze for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> !RefUnwindSafe for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> Send for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> Sync for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> !Unpin for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> !UnsafeUnpin for StreamingQueryEngine<'a, K>
impl<'a, const K: usize> !UnwindSafe for StreamingQueryEngine<'a, K>
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
Source§impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
Source§impl<T> DowncastableFrom<T> for T
impl<T> DowncastableFrom<T> for T
Source§fn downcast_from(value: T) -> T
fn downcast_from(value: T) -> T
Truncate the current UnsignedInt to a possibly smaller size
Source§impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> UpcastableFrom<T> for T
impl<T> UpcastableFrom<T> for T
Source§fn upcast_from(value: T) -> T
fn upcast_from(value: T) -> T
Extend the current UnsignedInt to a possibly bigger size.