pub struct ObservedCombinations { /* private fields */ }Expand description
Container for ObservedCombination objects
The core is a HashMap of the ObservedRegions seen so far and a HashMap of ObservedCombination objects that link to the contained regions. An additional HashMap plus the library is added when library comparison is run. It also carries the region ids to be considered in order.
Implementations§
Source§impl ObservedCombinations
impl ObservedCombinations
pub fn new(region_ids: Vec<String>, filter_config: FilterConfig) -> Self
Sourcepub fn merge(
&mut self,
new_counts: ObservedCombinations,
) -> Result<(), ReadCountError>
pub fn merge( &mut self, new_counts: ObservedCombinations, ) -> Result<(), ReadCountError>
Merge counts from another ObservedCombinations object into this one
New counts and regions are added to this container with an empty return on successful operation and an error returned if the two ObservedCombinations objects are incompatible.
Reasons for incompatibility:
- Library comparison has occured
- Region ids are not the same
Sourcepub fn total_filtered(&self) -> u64
pub fn total_filtered(&self) -> u64
Total number of filtered reads
Sourcepub fn add_or_increment_combination(
&mut self,
comb_key: &CombinationKey,
group: ReadGroup,
) -> Result<(), Error>
pub fn add_or_increment_combination( &mut self, comb_key: &CombinationKey, group: ReadGroup, ) -> Result<(), Error>
Increment a combination count or add a new combination if it hasn’t been seen yet
Sourcepub fn update_filter_count(&mut self, read: &ReadPair, reason: FilterReason)
pub fn update_filter_count(&mut self, read: &ReadPair, reason: FilterReason)
Update filter counts without checking the read
Passes through to self.filtered_reads.update_count, useful when using cached FilterReasons to prevent needing to re-align.
Sourcepub fn filter_readpair(
&mut self,
record: &ReadPair,
increment: bool,
) -> Option<FilterReason>
pub fn filter_readpair( &mut self, record: &ReadPair, increment: bool, ) -> Option<FilterReason>
Determine if a read should be filtered
Pass through to self.filtered_reads.filter_read, which Checks whether the read should be filtered, adding it to the appropriate count if increment is true, and returns a the filter reason.
Sourcepub fn filter_alignment(
&mut self,
record: &ReadPair,
f_alignment: &Alignment,
r_alignment: Option<&Alignment>,
increment: bool,
) -> Option<FilterReason>
pub fn filter_alignment( &mut self, record: &ReadPair, f_alignment: &Alignment, r_alignment: Option<&Alignment>, increment: bool, ) -> Option<FilterReason>
Determine if an alignment should be filtered
Passes through to self.filtered_reads.filter_alignment, which checks if an alignment should be filtered, adding it to the appropriate count if increment is true, and returns a the filter reason.
Sourcepub fn check_cache(
&mut self,
record: &ReadPair,
increment: bool,
) -> Result<Option<CacheHit>, Error>
pub fn check_cache( &mut self, record: &ReadPair, increment: bool, ) -> Result<Option<CacheHit>, Error>
Check if a read is cached and optionally increment it
Sourcepub fn compare_to_library(
&mut self,
library: Library,
progress_style: Option<&ProgressStyle>,
distance_metric: DistanceMetric,
max_matches: usize,
threads: usize,
) -> Result<(), LibraryError>
pub fn compare_to_library( &mut self, library: Library, progress_style: Option<&ProgressStyle>, distance_metric: DistanceMetric, max_matches: usize, threads: usize, ) -> Result<(), LibraryError>
Compare observed combinations to those expected in a Library
Sourcepub fn is_compared_to_library(&self) -> bool
pub fn is_compared_to_library(&self) -> bool
Check if library comparison has occured
Sourcepub fn summarise(&self) -> ReadSummary
pub fn summarise(&self) -> ReadSummary
Summarise the observed read count categories
Counts the occurance of each CombinationMatch, so makes little sense if library comparison hasn’t occured first as it will just sum the total reads
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ObservedCombinations
impl RefUnwindSafe for ObservedCombinations
impl Send for ObservedCombinations
impl Sync for ObservedCombinations
impl Unpin for ObservedCombinations
impl UnwindSafe for ObservedCombinations
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> 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
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.