#include <bloom_filter.hpp>
Bloom filter data structure stores k-mers.
◆ KmerBloomFilter() [1/3]
btllib::KmerBloomFilter::KmerBloomFilter |
( |
| ) |
|
|
inline |
Construct a dummy Kmer Bloom filter (e.g. as a default argument).
◆ KmerBloomFilter() [2/3]
btllib::KmerBloomFilter::KmerBloomFilter |
( |
size_t | bytes, |
|
|
unsigned | hash_num, |
|
|
unsigned | k ) |
Construct an empty Kmer Bloom filter of given size.
- Parameters
-
bytes | Filter size in bytes. |
hash_num | Number of hash values per element. |
k | K-mer size. |
◆ KmerBloomFilter() [3/3]
btllib::KmerBloomFilter::KmerBloomFilter |
( |
const std::string & | path | ) |
|
|
explicit |
Load a Kmer Bloom filter from a file.
- Parameters
-
path | Filepath to load from. |
◆ contains() [1/4]
unsigned btllib::KmerBloomFilter::contains |
( |
const char * | seq, |
|
|
size_t | seq_len ) const |
Query the presence of k-mers of a sequence.
- Parameters
-
seq | Sequence to k-merize. |
seq_len | Length of seq. |
- Returns
- The number of seq's k-mers found in the filter.
◆ contains() [2/4]
unsigned btllib::KmerBloomFilter::contains |
( |
const std::string & | seq | ) |
const |
|
inline |
Query the presence of k-mers of a sequence.
- Parameters
-
- Returns
- The number of seq's k-mers found in the filter.
◆ contains() [3/4]
bool btllib::KmerBloomFilter::contains |
( |
const std::vector< uint64_t > & | hashes | ) |
const |
|
inline |
Check for the presence of an element's hash values.
- Parameters
-
hashes | Integer vector of hash values. |
◆ contains() [4/4]
bool btllib::KmerBloomFilter::contains |
( |
const uint64_t * | hashes | ) |
const |
|
inline |
Check for the presence of an element's hash values.
- Parameters
-
hashes | Integer array of hash values. Array size should equal the hash_num argument used when the Bloom filter was constructed. |
◆ contains_insert() [1/4]
unsigned btllib::KmerBloomFilter::contains_insert |
( |
const char * | seq, |
|
|
size_t | seq_len ) |
Query the presence of k-mers of a sequence and insert if missing.
- Parameters
-
seq | Sequence to k-merize. |
seq_len | Length of seq. |
- Returns
- The number of seq's k-mers found in the filter before insertion.
◆ contains_insert() [2/4]
unsigned btllib::KmerBloomFilter::contains_insert |
( |
const std::string & | seq | ) |
|
|
inline |
Query the presence of k-mers of a sequence and insert if missing.
- Parameters
-
- Returns
- The number of seq's k-mers found in the filter before insertion.
◆ contains_insert() [3/4]
bool btllib::KmerBloomFilter::contains_insert |
( |
const std::vector< uint64_t > & | hashes | ) |
|
|
inline |
Check for the presence of an element's hash values and insert if missing.
- Parameters
-
hashes | Integer vector of hash values. |
- Returns
- True if present before insertion, false otherwise.
◆ contains_insert() [4/4]
bool btllib::KmerBloomFilter::contains_insert |
( |
const uint64_t * | hashes | ) |
|
|
inline |
Check for the presence of an element's hash values and insert if missing.
- Parameters
-
hashes | Integer array of hash values. Array size should equal the hash_num argument used when the Bloom filter was constructed. |
- Returns
- True if present before insertion, false otherwise.
◆ get_bloom_filter()
BloomFilter & btllib::KmerBloomFilter::get_bloom_filter |
( |
| ) |
|
|
inline |
Get a reference to the underlying vanilla Bloom filter.
◆ get_bytes()
size_t btllib::KmerBloomFilter::get_bytes |
( |
| ) |
const |
|
inline |
Get filter size in bytes.
◆ get_fpr()
double btllib::KmerBloomFilter::get_fpr |
( |
| ) |
const |
|
inline |
Get the query false positive rate.
◆ get_hash_fn()
const std::string & btllib::KmerBloomFilter::get_hash_fn |
( |
| ) |
const |
|
inline |
Get the name of the hash function used.
◆ get_hash_num()
unsigned btllib::KmerBloomFilter::get_hash_num |
( |
| ) |
const |
|
inline |
Get the number of hash values per element.
◆ get_k()
unsigned btllib::KmerBloomFilter::get_k |
( |
| ) |
const |
|
inline |
◆ get_occupancy()
double btllib::KmerBloomFilter::get_occupancy |
( |
| ) |
const |
|
inline |
Get the fraction of the filter occupied by 1 bits.
◆ get_pop_cnt()
uint64_t btllib::KmerBloomFilter::get_pop_cnt |
( |
| ) |
const |
|
inline |
Get population count, i.e. the number of 1 bits in the filter.
◆ insert() [1/4]
void btllib::KmerBloomFilter::insert |
( |
const char * | seq, |
|
|
size_t | seq_len ) |
Insert a sequence's k-mers into the filter.
- Parameters
-
seq | Sequence to k-merize. |
seq_len | Length of seq. |
◆ insert() [2/4]
void btllib::KmerBloomFilter::insert |
( |
const std::string & | seq | ) |
|
|
inline |
Insert a sequence's k-mers into the filter.
- Parameters
-
◆ insert() [3/4]
void btllib::KmerBloomFilter::insert |
( |
const std::vector< uint64_t > & | hashes | ) |
|
|
inline |
Insert an element's hash values.
- Parameters
-
hashes | Integer vector of hash values. |
◆ insert() [4/4]
void btllib::KmerBloomFilter::insert |
( |
const uint64_t * | hashes | ) |
|
|
inline |
Insert an element's hash values.
- Parameters
-
hashes | Integer array of hash values. Array size should equal the hash_num argument used when the Bloom filter was constructed. |
◆ is_bloom_file()
static bool btllib::KmerBloomFilter::is_bloom_file |
( |
const std::string & | path | ) |
|
|
inlinestatic |
Check whether the file at the given path is a saved Kmer Bloom filter.
- Parameters
-
◆ save()
void btllib::KmerBloomFilter::save |
( |
const std::string & | path | ) |
|
Save the Bloom filter to a file that can be loaded in the future.
- Parameters
-
path | Filepath to store filter at. |
The documentation for this class was generated from the following file: