HIBF 1.0.0-rc.1
All Classes Namespaces Files Functions Variables Typedefs Friends Macros Modules Pages Concepts
seqan::hibf::layout::data_store Struct Reference

Contains information used for the layout. More...

#include <hibf/layout/data_store.hpp>

Classes

struct  previous_level
 Stores information of the previous level of a given IBF. More...
 

Public Member Functions

void validate () const
 

Public Attributes

References to global instances of the HIBF.
layouthibf_layout
 The layout that is built by layout::hierarchical_binning.
 
std::vector< size_t > const * kmer_counts {}
 The kmer counts associated with the above files used to layout user bin into technical bins.
 
std::vector< sketch::hyperloglog > const * sketches {}
 The hyperloglog sketches of all input files to estimate their size and similarities.
 
Local Storage one IBF in the HIBF.

These member variables change on each IBF of the HIBF s.t. the current IBF can be constructed from the current subset of data. The same data is also used for the top level IBF that holds all the data.

std::vector< size_t > positions
 The input is sorted and rearranged. To keep track without changing the input we store the positions.
 
std::vector< double > fpr_correction {}
 The false positive correction based on fp_rate, num_hash_functions and requested_max_tb.
 
double relaxed_fpr_correction {}
 The correction factor for merged bins which are allowed to have a relaxed FPR.
 
previous_level previous {}
 Information about previous levels of the IBF if the algorithm is called recursively.
 
std::vector< uint64_t > union_estimates {}
 Matrix of estimates of merged bin cardinalites.
 
bool user_bins_arranged {false}
 The input is sorted and rearranged. To keep track without changing the input we store the positions.
 
concurrent_timer union_estimation_timer {}
 Tracks the time the algorithm spends on estimating the union of user bins (merged bins).
 
concurrent_timer rearrangement_timer {}
 Tracks the time the algorithm spends on rearranging user bins (merged bins).
 

Detailed Description

Contains information used for the layout.

Member Data Documentation

◆ positions

std::vector<size_t> seqan::hibf::layout::data_store::positions
Initial value:
= [this]()
{
if (this->kmer_counts == nullptr)
return ps;
ps.resize(this->kmer_counts->size());
std::iota(ps.begin(), ps.end(), 0);
return ps;
}()
T begin(T... args)
T end(T... args)
T iota(T... args)
T resize(T... args)
T size(T... args)
std::vector< size_t > const * kmer_counts
The kmer counts associated with the above files used to layout user bin into technical bins.
Definition data_store.hpp:51

The input is sorted and rearranged. To keep track without changing the input we store the positions.


The documentation for this struct was generated from the following file: