pub struct CoverageTable {
    pub table: Array2<f64>,
    pub average_depths: Vec<f64>,
    pub contig_names: Vec<String>,
    pub contig_lengths: Vec<usize>,
    pub sample_names: Vec<String>,
    pub output_path: String,
}

Fields§

§table: Array2<f64>§average_depths: Vec<f64>§contig_names: Vec<String>§contig_lengths: Vec<usize>§sample_names: Vec<String>§output_path: String

Implementations§

source§

impl CoverageTable

source

pub fn new( table: Array2<f64>, average_depths: Vec<f64>, contig_names: Vec<String>, contig_lengths: Vec<usize>, sample_names: Vec<String>, output_path: String ) -> Self

source

pub fn filter_by_length( &mut self, min_contig_size: usize ) -> Result<HashSet<String>>

source

pub fn get_contig_names(&self, indices: &HashSet<usize>) -> HashSet<String>

source

pub fn filter_by_index( &mut self, indices_to_remove: &HashSet<usize> ) -> Result<HashSet<String>>

source

pub fn from_file<P: AsRef<Path>>( file_path: P, mode: MappingMode ) -> Result<Self>

read a coverage table from a file we specify the mode as a parameter as coverm has different output formats for different modes depending on short/long read inputs

source

pub fn merge(&mut self, other: Self) -> Result<()>

source

pub fn merge_many(coverage_tables: Vec<CoverageTable>) -> Result<Self>

merge multiple coverage tables into one Make sure that the tables have the same contig names in the same order. We also want to be aware of sample name order. We will also need to recalculate average depths

source

pub fn write<P: AsRef<Path>>(&mut self, output_path: P) -> Result<()>

Write the coverage table to a file The file will be a tab delimited file with the following columns: contig_name, contig_length, sample1_coverage, sample1_variance, sample2_coverage, sample2_variance, … The first row will be a header row with the sample names

source

pub fn set_output_path(&mut self, output_path: String)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V