pub struct SBModel { /* private fields */ }Expand description
The sequence-specific bias Markov model.
Implementations§
Source§impl SBModel
impl SBModel
pub fn new() -> Self
Sourcepub fn dump(&self) -> &[f64]
pub fn dump(&self) -> &[f64]
The flattened transition table (probs[pos * ROWS + idx]), for dumping to
the aux bias files. Linear counts before normalize,
conditional log-probabilities after.
Sourcepub fn add_context(&mut self, context: &[u8], rev_comp: bool, weight: f64)
pub fn add_context(&mut self, context: &[u8], rev_comp: bool, weight: f64)
Accumulate one observed context with the given weight.
Sourcepub fn normalize(&mut self)
pub fn normalize(&mut self)
Convert accumulated counts into conditional log-probabilities. Idempotent guard: a model can only be normalized once.
Two steps: divide each group of four counts (the four possible bases given
one preceding context) by their total, turning counts into conditional
probabilities; then take logs so evaluate_log can add instead of
multiply.
Sourcepub fn evaluate_log(&self, context: &[u8], rev_comp: bool) -> f64
pub fn evaluate_log(&self, context: &[u8], rev_comp: bool) -> f64
Log-probability the (normalized) model assigns to a context.
A sum of nine per-position log-probabilities, which is the product of the nine conditional probabilities — the chain rule for a Markov model.
pub fn is_trained(&self) -> bool
Sourcepub fn combine_counts(&mut self, other: &SBModel)
pub fn combine_counts(&mut self, other: &SBModel)
Add another (un-normalized) model’s counts into this one. Both must be pre-normalization; used to merge per-thread observed models.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SBModel
impl RefUnwindSafe for SBModel
impl Send for SBModel
impl Sync for SBModel
impl Unpin for SBModel
impl UnsafeUnpin for SBModel
impl UnwindSafe for SBModel
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.