btllib
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btllib::NtHash Class Reference

#include <nthash.hpp>

Inheritance diagram for btllib::NtHash:
btllib::SeedNtHash

Public Member Functions

 NtHash (const char *seq, size_t seq_len, unsigned k, unsigned hash_num)
 
 NtHash (const std::string &seq, unsigned k, unsigned hash_num)
 
bool roll ()
 
const uint64_t * hashes () const
 
size_t get_pos () const
 
unsigned get_k () const
 
unsigned get_hash_num () const
 

Protected Member Functions

bool init ()
 

Protected Attributes

const char * seq
 
const size_t seq_len
 
const unsigned k
 
const unsigned hash_num
 
size_t pos = 0
 
std::vector< uint64_t > hashes_vector
 
uint64_t forward_hash = 0
 
uint64_t reverse_hash = 0
 

Detailed Description

Iterate over hash values for k-mers in a given DNA sequence.

This implementation uses ntHash function to efficiently calculate hash values for successive k-mers.

Constructor & Destructor Documentation

◆ NtHash() [1/2]

btllib::NtHash::NtHash ( const char *  seq,
size_t  seq_len,
unsigned  k,
unsigned  hash_num 
)
inline

Constructor.

Parameters
seqDNA sequence to be hashed
seq_lenlength of seq
kk-mer size
hash_numnumber of hashes

◆ NtHash() [2/2]

btllib::NtHash::NtHash ( const std::string &  seq,
unsigned  k,
unsigned  hash_num 
)
inline

Constructor.

Parameters
seqDNA sequence to be hashed
kk-mer size
hash_numnumber of hashes

Member Function Documentation

◆ init()

bool btllib::NtHash::init ( )
protected

Initialize internal state of iterator

◆ roll()

bool btllib::NtHash::roll ( )

Calculate the next hash value

Returns
true on success and false otherwise

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