pub enum UnparsedRowPolicy {
OwnGene,
Reject,
}Expand description
What intern_count_rows does with a row that is not
{gene}/count/{spliced|unspliced}.
The two consumers want opposite things, and neither is more correct: a gene-keyed model can carry a stray row harmlessly as its own single-track gene, while a consumer that POOLS the two tracks cannot — it would have to decide which track the stray row is, and every answer is wrong.
Variants§
OwnGene
Give the row its own single-track gene id, keyed on the whole row name, so every index still lines up with the matrix and the row can never be paired with a real gene. Ids stay assigned in row order across both kinds. The caller is expected to warn.
Reject
Leave the row off the gene axis: NO_GENE in row_to_gene, and its
index in CountRowMap::unparsed. The caller decides whether that is
fatal.
Trait Implementations§
Source§impl Clone for UnparsedRowPolicy
impl Clone for UnparsedRowPolicy
impl Copy for UnparsedRowPolicy
Source§impl Debug for UnparsedRowPolicy
impl Debug for UnparsedRowPolicy
impl Eq for UnparsedRowPolicy
Source§impl PartialEq for UnparsedRowPolicy
impl PartialEq for UnparsedRowPolicy
impl StructuralPartialEq for UnparsedRowPolicy
Auto Trait Implementations§
impl Freeze for UnparsedRowPolicy
impl RefUnwindSafe for UnparsedRowPolicy
impl Send for UnparsedRowPolicy
impl Sync for UnparsedRowPolicy
impl Unpin for UnparsedRowPolicy
impl UnsafeUnpin for UnparsedRowPolicy
impl UnwindSafe for UnparsedRowPolicy
Blanket Implementations§
impl<T> Allocation for T
impl<T> Boilerplate 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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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,
impl<T> Scalar for T
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.