pub struct QcReport {
pub train_keep: Vec<bool>,
pub near_empty: Vec<bool>,
pub feature_keep: Vec<bool>,
pub n_genes: Vec<f32>,
pub total_counts: Vec<f32>,
pub mito_frac: Option<Vec<f32>>,
pub ribo_frac: Option<Vec<f32>>,
pub n_cells_dropped: usize,
pub n_features_dropped: usize,
}Expand description
Per-cell / per-feature QC outcome.
Fields§
§train_keep: Vec<bool>Cells to retain in training (len = num_columns). false only for
non-near-empty MAD outliers — drives SparseIoVec::mask_columns.
near_empty: Vec<bool>Near-empty cells (len = num_columns): kept in training, masked at
output via QcReport::output_keep_idx.
feature_keep: Vec<bool>Features to retain (len = num_rows). All true unless
feature_min_cells > 0.
n_genes: Vec<f32>§total_counts: Vec<f32>§mito_frac: Option<Vec<f32>>§ribo_frac: Option<Vec<f32>>§n_cells_dropped: usize§n_features_dropped: usizeImplementations§
Source§impl QcReport
impl QcReport
Sourcepub fn output_keep_idx(&self) -> Vec<usize>
pub fn output_keep_idx(&self) -> Vec<usize>
Indices, in post-mask_columns column order, of the cells to emit
at output: surviving (training-kept) cells that are not near-empty.
Apply with Mat::select_rows on per-cell output matrices and filter
the barcode slice by the same indices.
Sourcepub fn emit_idx_unmasked(&self) -> Vec<usize>
pub fn emit_idx_unmasked(&self) -> Vec<usize>
Emit-keep indices in the original (unmasked) column order: cells
that are neither MAD-dropped nor near-empty. For paths that keep every
cell in training and instead select_rows the per-cell outputs
directly (e.g. bge’s UnifiedData, which has no mask_columns).
Auto Trait Implementations§
impl Freeze for QcReport
impl RefUnwindSafe for QcReport
impl Send for QcReport
impl Sync for QcReport
impl Unpin for QcReport
impl UnsafeUnpin for QcReport
impl UnwindSafe for QcReport
Blanket Implementations§
impl<T> Allocation for T
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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.