pub struct TwoBitLossyNCodec;Expand description
Lossy 2-bit sequence encoding that collapses all ambiguous bases to N.
Like TwoBitExactCodec, canonical bases are packed into 2 bits
via bitnuc. However, instead of preserving the exact IUPAC symbol
for each ambiguous position, all non-canonical bases are replaced
with N on decode. The sideband stores only positions, not original
symbols.
This is explicitly lossy: R, Y, S, W, etc. all become N.
On-disk layout per record:
[2-bit packed bases as le u64s]
[ambiguity_count: u32 le]
[positions: u32 le each]Trait Implementations§
Source§impl Clone for TwoBitLossyNCodec
impl Clone for TwoBitLossyNCodec
Source§fn clone(&self) -> TwoBitLossyNCodec
fn clone(&self) -> TwoBitLossyNCodec
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TwoBitLossyNCodec
impl Debug for TwoBitLossyNCodec
Source§impl Default for TwoBitLossyNCodec
impl Default for TwoBitLossyNCodec
Source§fn default() -> TwoBitLossyNCodec
fn default() -> TwoBitLossyNCodec
Returns the “default value” for a type. Read more
Source§impl SequenceCodec for TwoBitLossyNCodec
impl SequenceCodec for TwoBitLossyNCodec
Source§fn encode_into(sequence: &[u8], output: &mut Vec<u8>) -> Result<(), DryIceError>
fn encode_into(sequence: &[u8], output: &mut Vec<u8>) -> Result<(), DryIceError>
Encode a raw ASCII nucleotide sequence, appending the encoded
bytes directly into the provided output buffer. Read more
Source§fn decode_into(
encoded: &[u8],
original_len: usize,
output: &mut Vec<u8>,
) -> Result<(), DryIceError>
fn decode_into( encoded: &[u8], original_len: usize, output: &mut Vec<u8>, ) -> Result<(), DryIceError>
Decode an encoded buffer, appending the decoded ASCII bytes
directly into the provided output buffer. Read more
Source§const IS_IDENTITY: bool = false
const IS_IDENTITY: bool = false
Whether the encoded form is identical to the raw input bytes.
When true, the decoder can skip decoding and return slices
directly into the block’s payload buffer.
impl Copy for TwoBitLossyNCodec
Auto Trait Implementations§
impl Freeze for TwoBitLossyNCodec
impl RefUnwindSafe for TwoBitLossyNCodec
impl Send for TwoBitLossyNCodec
impl Sync for TwoBitLossyNCodec
impl Unpin for TwoBitLossyNCodec
impl UnsafeUnpin for TwoBitLossyNCodec
impl UnwindSafe for TwoBitLossyNCodec
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more