pub struct MultipleAlignment {
pub sequences: Vec<Vec<u8>>,
pub names: Vec<String>,
pub score: f64,
pub step_trace: Vec<StepTrace>,
pub guide_tree: Option<Topology>,
pub first_pass_sequences: Option<Vec<Vec<u8>>>,
pub distance_matrix: Option<DistanceMatrix>,
}Fields§
§sequences: Vec<Vec<u8>>§names: Vec<String>§score: f64§step_trace: Vec<StepTrace>Per-merge-step trace: one entry per progressive merge. Each entry is
(clus1_size, clus2_size, width_after_merge, score) matching C’s
RDBG step clus1 clus2 width score debug line. Used for regression
tests that assert byte-level parity with C on a per-step basis;
harmless to ignore.
guide_tree: Option<Topology>Final progressive guide tree, kept around so callers can serialize
it for --treeout (mltaln9.c::loadtree and the various
fixed_musclesupg_*_treeout variants). Populated by the engine
when alignment completes; None for paths that don’t track it
(e.g. tests building an MultipleAlignment directly).
first_pass_sequences: Option<Vec<Vec<u8>>>Aligned MSA after the FIRST retree pass, BEFORE the final pass
rebuilds the guide tree and re-aligns. C MAFFT’s --parttree
runs splittbfast twice and feeds CALL 1’s output (pre_1) to
CALL 2 — both for --reorder and --treeout. We stash pre_1
here so the CLI can replay CALL 2’s tree generation on the right
input.
distance_matrix: Option<DistanceMatrix>Pairwise distance matrix used by the engine for guide-tree
construction. Populated when the engine knows callers will need
it — currently --distout (writes <input>.hat2) and
--scoreout (computes the unweighted SP score). None for
paths that skip it (PartTree, –treein with a user-supplied
tree, tests building a MultipleAlignment directly).
Implementations§
Trait Implementations§
Source§impl Clone for MultipleAlignment
impl Clone for MultipleAlignment
Source§fn clone(&self) -> MultipleAlignment
fn clone(&self) -> MultipleAlignment
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 MultipleAlignment
impl RefUnwindSafe for MultipleAlignment
impl Send for MultipleAlignment
impl Sync for MultipleAlignment
impl Unpin for MultipleAlignment
impl UnsafeUnpin for MultipleAlignment
impl UnwindSafe for MultipleAlignment
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