#[non_exhaustive]pub struct FromSequencesOptions {
pub max_grid_cells: usize,
/* private fields */
}Expand description
Cost knobs for from_sequences.
Nothing here changes which forms the function is willing to emit — that is
fixed by the rules, not by the caller (README.md rule 6). max_grid_cells
is a memory bound. direction is not a caller-facing knob: it mirrors
NormalizeConfig’s internal test instrument, is #[doc(hidden)] for the
same reason, and is always ThreePrime on every shipped path.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.max_grid_cells: usizeLargest alignment grid, in cells, the partitioner will build.
A cell costs roughly 18 bytes on this arm, so the default —
(4096 + 1)^2, about 16.8 M cells — admits roughly 310 MB at the
limit. Lower it when reads are short and the budget matters; raise it for
a long-read haplotype, having read that figure. Exceeding it refuses:
this is a cost bound, and refusing rather than silently answering with a
weaker rule is the policy.
Implementations§
Source§impl FromSequencesOptions
The two setters exist because the struct is #[non_exhaustive], which
forbids a struct expression outside this crate — so without them a
downstream caller can reach Default::default() and nothing else, and the
knobs are documented but unreachable. The bug was found by moving one test
into tests/it, which is a separate crate and so sees the same surface a
user does.
impl FromSequencesOptions
The two setters exist because the struct is #[non_exhaustive], which
forbids a struct expression outside this crate — so without them a
downstream caller can reach Default::default() and nothing else, and the
knobs are documented but unreachable. The bug was found by moving one test
into tests/it, which is a separate crate and so sees the same surface a
user does.
Named after crate::NormalizeConfig::with_direction, which is the same
pattern for the same reason.
Sourcepub fn with_max_grid_cells(self, max_grid_cells: usize) -> Self
pub fn with_max_grid_cells(self, max_grid_cells: usize) -> Self
Set the alignment-grid budget, in cells. See
FromSequencesOptions::max_grid_cells for what a cell costs.
Trait Implementations§
Source§impl Clone for FromSequencesOptions
impl Clone for FromSequencesOptions
Source§fn clone(&self) -> FromSequencesOptions
fn clone(&self) -> FromSequencesOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for FromSequencesOptions
Source§impl Debug for FromSequencesOptions
impl Debug for FromSequencesOptions
Auto Trait Implementations§
impl Freeze for FromSequencesOptions
impl RefUnwindSafe for FromSequencesOptions
impl Send for FromSequencesOptions
impl Sync for FromSequencesOptions
impl Unpin for FromSequencesOptions
impl UnsafeUnpin for FromSequencesOptions
impl UnwindSafe for FromSequencesOptions
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.