pub struct MatrixLayout {
pub data_field: Box<str>,
pub indices_field: Box<str>,
pub indptr_field: Box<str>,
pub pointer_type: IndexPointerType,
pub row_id_field: Box<str>,
pub row_name_field: Box<str>,
pub row_type_field: Box<str>,
pub select_row_type: Box<str>,
pub remove_row_type: Box<str>,
pub column_name_field: Box<str>,
}Expand description
Where a 10x file keeps its sparse matrix and the names of its rows and
columns, and which rows to keep: MatrixLayout::cell_ranger_h5 and
MatrixLayout::xenium_zarr.
Fields§
§data_field: Box<str>§indices_field: Box<str>§indptr_field: Box<str>§pointer_type: IndexPointerType§row_id_field: Box<str>§row_name_field: Box<str>§row_type_field: Box<str>§select_row_type: Box<str>Comma-separated, case-insensitive; a row whose type contains any is kept.
remove_row_type: Box<str>Comma-separated, case-insensitive; a row whose type contains any is dropped.
column_name_field: Box<str>Implementations§
Source§impl MatrixLayout
impl MatrixLayout
Sourcepub const H5_ROOT: &'static str = "matrix"
pub const H5_ROOT: &'static str = "matrix"
The group a Cell Ranger HDF5 file keeps its matrix under; the
H5_* fields are relative to it.
pub const H5_DATA: &'static str = "data"
pub const H5_INDICES: &'static str = "indices"
pub const H5_INDPTR: &'static str = "indptr"
pub const H5_ROW_IDS: &'static str = "features/id"
pub const H5_ROW_NAMES: &'static str = "features/name"
pub const H5_ROW_TYPES: &'static str = "features/feature_type"
pub const H5_COLUMN_NAMES: &'static str = "barcodes"
pub const XENIUM_DATA: &'static str = "/cell_features/data"
pub const XENIUM_INDICES: &'static str = "/cell_features/indices"
pub const XENIUM_INDPTR: &'static str = "/cell_features/indptr"
pub const XENIUM_ROW_IDS: &'static str = "/cell_features/feature_ids"
pub const XENIUM_ROW_NAMES: &'static str = "/cell_features/feature_keys"
pub const XENIUM_ROW_TYPES: &'static str = "/cell_features/feature_types"
pub const XENIUM_COLUMN_NAMES: &'static str = "/cell_features/cell_id"
Sourcepub const SELECT_ROW_TYPES: &'static str = "gene,peak"
pub const SELECT_ROW_TYPES: &'static str = "gene,peak"
Gene Expression (Xenium gene) and ATAC Peaks.
Sourcepub const REMOVE_ROW_TYPES: &'static str = "aggregate"
pub const REMOVE_ROW_TYPES: &'static str = "aggregate"
Xenium’s per-gene aggregates (aggregate_gene).
Sourcepub fn cell_ranger_h5() -> Self
pub fn cell_ranger_h5() -> Self
Cell Ranger / Space Ranger / Xenium *feature_bc_matrix.h5:
features × barcodes under Self::H5_ROOT, pointers over barcodes.
Sourcepub fn xenium_zarr() -> Self
pub fn xenium_zarr() -> Self
Xenium’s cell_feature_matrix.zarr: features × cells, pointers over
features, feature names as attributes of /cell_features.
Trait Implementations§
Source§impl Clone for MatrixLayout
impl Clone for MatrixLayout
Auto Trait Implementations§
impl Freeze for MatrixLayout
impl RefUnwindSafe for MatrixLayout
impl Send for MatrixLayout
impl Sync for MatrixLayout
impl Unpin for MatrixLayout
impl UnsafeUnpin for MatrixLayout
impl UnwindSafe for MatrixLayout
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
Mutably borrows from an owned value. Read more
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> 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> ⓘ
Converts
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> ⓘ
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.