btllib
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
btllib::MIBloomFilter< T > Class Template Reference

Public Member Functions

 MIBloomFilter (unsigned hash_num, unsigned kmer_size, sdsl::bit_vector &bv, const std::vector< std::string > &seeds=std::vector< std::string >(0))
 
 MIBloomFilter (const std::string &filter_file_path)
 
void store (std::string const &filter_file_path) const
 
bool insert (const uint64_t *hashes, const bool *strand, T val, unsigned max)
 
bool insert (const uint64_t *hashes, T value, unsigned max)
 
void saturate (const uint64_t *hashes)
 
std::vector< T > at (const uint64_t *hashes, bool &saturated, unsigned max_miss=0)
 
unsigned at_rank (const uint64_t *hashes, std::vector< uint64_t > &rank_pos, std::vector< bool > &hits, unsigned max_miss) const
 
bool at_rank (const uint64_t *hashes, std::vector< uint64_t > &rank_pos) const
 
std::vector< uint64_t > get_rank_pos (const uint64_t *hashes) const
 
uint64_t get_rank_pos (const uint64_t hash) const
 
const std::vector< std::vector< unsigned > > & get_seed_values () const
 
unsigned get_kmer_size () const
 
unsigned get_hash_num () const
 
size_t get_id_counts (std::vector< size_t > &counts) const
 
size_t get_id_counts_strand (std::vector< size_t > &counts) const
 
size_t get_pop () const
 
size_t get_pop_non_zero () const
 
check_values (T max_val) const
 
size_t get_pop_saturated () const
 
size_t size () const
 
void set_data (uint64_t pos, T id)
 
void saturate_data (uint64_t pos)
 
void set_data_if_empty (uint64_t pos, T id)
 
std::vector< T > get_data (const std::vector< uint64_t > &rank_pos) const
 
get_data (uint64_t rank) const
 
double calc_frame_probs (std::vector< double > &frame_probs, unsigned allowed_miss)
 
double calc_frame_probs_strand (std::vector< double > &frame_probs, unsigned allowed_miss)
 

Static Public Member Functions

static double calc_prob_single_frame (double occupancy, unsigned hash_num, double freq, unsigned allowed_misses)
 
static double calc_prob_single (double occupancy, double freq)
 
static size_t calc_optimal_size (size_t entries, unsigned hash_num, double occupancy)
 
static unsigned insert (sdsl::bit_vector &bv, const uint64_t *hash_values, unsigned hash_num)
 

Static Public Attributes

static const T MASK = 1 << (sizeof(T) * 8 - 1)
 
static const T ANTI_MASK = (T)~MASK
 
static const T STRAND = 1 << (sizeof(T) * 8 - 2)
 
static const T ANTI_STRAND = (T)~STRAND
 
static const T ID_MASK = ANTI_STRAND & ANTI_MASK
 
static const unsigned BLOCKSIZE = 512
 

Member Function Documentation

◆ store()

template<typename T >
void btllib::MIBloomFilter< T >::store ( std::string const &  filter_file_path) const
inline

BLOCKSIZE) / 8


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