pub struct ExtenderConfig {
pub kmer_size: usize,
pub num_edge_kmers: usize,
pub min_coverage: usize,
pub branching_threshold: f64,
pub max_n_ratio: f64,
pub extension_step: usize,
pub max_consecutive_failures: usize,
pub max_extension_per_side: usize,
}Expand description
Configuration parameters for contig extension.
§Strict vs Relaxed Mode
Strict mode (default) prioritises accuracy over length. Relaxed mode allows more aggressive extension for difficult cases.
| Parameter | Strict | Relaxed | Description |
|---|---|---|---|
| min_coverage | 3 | 2 | Minimum read support |
| branching_threshold | 0.1 | 0.2 | Minor allele frequency for N |
| max_n_ratio | 0.02 | 0.05 | Maximum allowed N proportion |
Fields§
§kmer_size: usizeK-mer size for extension (default: 21).
num_edge_kmers: usizeNumber of edge k-mers to use from each end (default: 5).
min_coverage: usizeMinimum read coverage for consensus building (default: 2).
branching_threshold: f64Branching threshold: if minor allele frequency >= this, mark as N (default: 0.2). Lower values = stricter, fewer Ns allowed.
max_n_ratio: f64Maximum N ratio allowed in extension (default: 0.05). Extensions exceeding this are rejected.
extension_step: usizeExtension length per iteration in base pairs (default: 200).
max_consecutive_failures: usizeMaximum consecutive failures before stopping (default: 2).
max_extension_per_side: usizeCap on total bp added to EACH contig end (default: 2000). Genus/species classification only uses ~max_flanking (1000 bp) of flanking, so extending a runaway (repetitive/high-coverage) contig for many more rounds is wasted work — and re-scanning all reads each round is the dominant runtime. Capping each side stops runaways early without affecting classification.
Trait Implementations§
Source§impl Clone for ExtenderConfig
impl Clone for ExtenderConfig
Source§fn clone(&self) -> ExtenderConfig
fn clone(&self) -> ExtenderConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ExtenderConfig
impl RefUnwindSafe for ExtenderConfig
impl Send for ExtenderConfig
impl Sync for ExtenderConfig
impl Unpin for ExtenderConfig
impl UnsafeUnpin for ExtenderConfig
impl UnwindSafe for ExtenderConfig
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> 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>
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