pub struct MinimizerTuple {
pub minimizer: u64,
pub pos_in_seq: u64,
pub pos_in_kmer: u8,
pub num_kmers_in_super_kmer: u8,
}Expand description
A minimizer tuple representing a k-mer’s minimizer and its position
This is the fundamental unit for indexing. Each tuple represents a minimizer occurrence in the input and tracks where it appears.
§Canonical Mode Orientation Handling
In canonical mode, when a k-mer’s reverse complement minimizer is smaller
than the forward minimizer, we use the RC minimizer BUT adjust pos_in_kmer
to reflect the position in the forward k-mer:
If RC minimizer is chosen:
pos_in_kmer = (k - m) - original_rc_posThis elegantly encodes orientation implicitly without needing a separate flag. The minimizer position is always relative to the forward k-mer representation.
Fields§
§minimizer: u64The minimizer value (m-mer)
pos_in_seq: u64Position of the minimizer in the sequence (in bases from string start)
pos_in_kmer: u8Position of the minimizer within the k-mer (0 to k-m)
In canonical mode, this is ALWAYS relative to the forward k-mer, even when the RC minimizer is chosen (adjusted accordingly).
num_kmers_in_super_kmer: u8Number of consecutive k-mers that share this minimizer (super-k-mer size)
Implementations§
Trait Implementations§
Source§impl Clone for MinimizerTuple
impl Clone for MinimizerTuple
Source§fn clone(&self) -> MinimizerTuple
fn clone(&self) -> MinimizerTuple
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MinimizerTuple
impl Debug for MinimizerTuple
Source§impl Ord for MinimizerTuple
impl Ord for MinimizerTuple
Source§impl PartialEq for MinimizerTuple
impl PartialEq for MinimizerTuple
Source§impl PartialOrd for MinimizerTuple
impl PartialOrd for MinimizerTuple
impl Copy for MinimizerTuple
impl Eq for MinimizerTuple
impl StructuralPartialEq for MinimizerTuple
Auto Trait Implementations§
impl Freeze for MinimizerTuple
impl RefUnwindSafe for MinimizerTuple
impl Send for MinimizerTuple
impl Sync for MinimizerTuple
impl Unpin for MinimizerTuple
impl UnsafeUnpin for MinimizerTuple
impl UnwindSafe for MinimizerTuple
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
Source§impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
impl<T, U> CastableInto<U> for Twhere
U: CastableFrom<T>,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
Source§impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
impl<T, U> DowncastableInto<U> for Twhere
U: DowncastableFrom<T>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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 more