pub struct QcArgs {Show 14 fields
pub no_qc: bool,
pub qc_mads: f32,
pub qc_min_cell_nnz: usize,
pub qc_min_counts: f32,
pub qc_mito_pattern: Option<String>,
pub qc_mito_max_frac: Option<f32>,
pub qc_ribo_pattern: Option<String>,
pub qc_ribo_max_frac: Option<f32>,
pub qc_feature_min_cells: usize,
pub qc_report: Option<Box<str>>,
pub qc_histogram: bool,
pub qc_mad_on_genes: bool,
pub qc_mad_on_counts: bool,
pub qc_auto_cutoff: bool,
}Expand description
Clap surface for cell QC, shared by senna and pinto subcommands.
Cell QC is ON by default and CAN DROP CELLS (columns). Low-quality
cells are removed: near-empty cells are omitted from the per-cell outputs,
and robust (MAD) outlier cells are excluded from training entirely. As a
result, the per-cell output files (*.latent.parquet, *.cell_proj.parquet,
*.cell_to_pb.parquet, *.cell_embedding.parquet, pinto propensity, etc.)
may contain fewer rows (cells) than the input — do not assume a 1:1,
positional correspondence with the input barcodes; always join by the cell
name/barcode column. Pass --no-qc to disable and keep every cell, or
--qc-report <path> to dump the per-cell keep/drop flags. (Feature/row QC
is OFF unless --qc-feature-min-cells is set.)
Fields§
§no_qc: boolDisable cell QC entirely (keep every input cell).
qc_mads: f32MAD multiplier for the robust outlier band; smaller = drops more cells.
qc_min_cell_nnz: usize§qc_min_counts: f32§qc_mito_pattern: Option<String>§qc_mito_max_frac: Option<f32>Hard max mitochondrial fraction (0..1).
qc_ribo_pattern: Option<String>Regex over feature names selecting ribosomal genes.
qc_ribo_max_frac: Option<f32>Hard max ribosomal fraction (0..1).
qc_feature_min_cells: usize§qc_report: Option<Box<str>>§qc_histogram: bool§qc_mad_on_genes: bool§qc_mad_on_counts: bool§qc_auto_cutoff: boolImplementations§
Trait Implementations§
Source§impl Args for QcArgs
impl Args for QcArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl<'de> Deserialize<'de> for QcArgs
impl<'de> Deserialize<'de> for QcArgs
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl FromArgMatches for QcArgs
impl FromArgMatches for QcArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for QcArgs
impl RefUnwindSafe for QcArgs
impl Send for QcArgs
impl Sync for QcArgs
impl Unpin for QcArgs
impl UnsafeUnpin for QcArgs
impl UnwindSafe for QcArgs
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.