#include <nthash_kmer.hpp>
|
| NtHash (const char *seq, size_t seq_len, hashing_internals::NUM_HASHES_TYPE num_hashes, hashing_internals::K_TYPE k, size_t pos=0) |
|
| NtHash (const std::string &seq, hashing_internals::NUM_HASHES_TYPE num_hashes, hashing_internals::K_TYPE k, size_t pos=0) |
|
| NtHash (const NtHash &obj) |
|
| NtHash (NtHash &&)=default |
|
bool | roll () |
|
bool | roll_back () |
|
bool | peek () |
|
bool | peek_back () |
|
bool | peek (char char_in) |
|
bool | peek_back (char char_in) |
|
void | sub (const std::vector< unsigned > &positions, const std::vector< unsigned char > &new_bases) |
|
const uint64_t * | hashes () const |
|
size_t | get_pos () const |
|
hashing_internals::NUM_HASHES_TYPE | get_hash_num () const |
|
hashing_internals::K_TYPE | get_k () const |
|
uint64_t | get_forward_hash () const |
|
uint64_t | get_reverse_hash () const |
|
◆ NtHash() [1/2]
btllib::NtHash::NtHash |
( |
const char * | seq, |
|
|
size_t | seq_len, |
|
|
hashing_internals::NUM_HASHES_TYPE | num_hashes, |
|
|
hashing_internals::K_TYPE | k, |
|
|
size_t | pos = 0 ) |
|
inline |
Construct an ntHash object for k-mers.
- Parameters
-
seq | C-string containing sequence data |
seq_len | Length of the sequence |
num_hashes | Number of hashes to generate per k-mer |
k | K-mer size |
pos | Position in the sequence to start hashing from |
◆ NtHash() [2/2]
btllib::NtHash::NtHash |
( |
const std::string & | seq, |
|
|
hashing_internals::NUM_HASHES_TYPE | num_hashes, |
|
|
hashing_internals::K_TYPE | k, |
|
|
size_t | pos = 0 ) |
|
inline |
Construct an ntHash object for k-mers.
- Parameters
-
seq | Sequence string |
num_hashes | Number of hashes to produce per k-mer |
k | K-mer size |
pos | Position in sequence to start hashing from |
◆ get_forward_hash()
uint64_t btllib::NtHash::get_forward_hash |
( |
| ) |
const |
|
inline |
Get the hash value of the forward strand.
- Returns
- Forward hash value
◆ get_hash_num()
hashing_internals::NUM_HASHES_TYPE btllib::NtHash::get_hash_num |
( |
| ) |
const |
|
inline |
Get the number of hashes generated per k-mer.
- Returns
- Number of hashes per k-mer
◆ get_k()
hashing_internals::K_TYPE btllib::NtHash::get_k |
( |
| ) |
const |
|
inline |
Get the length of the k-mers.
- Returns
k
◆ get_pos()
size_t btllib::NtHash::get_pos |
( |
| ) |
const |
|
inline |
Get the position of last hashed k-mer or the k-mer to be hashed if roll() has never been called on this NtHash object.
- Returns
- Position of the most recently hashed k-mer's first base-pair
◆ get_reverse_hash()
uint64_t btllib::NtHash::get_reverse_hash |
( |
| ) |
const |
|
inline |
Get the hash value of the reverse strand.
- Returns
- Reverse-complement hash value
◆ hashes()
const uint64_t * btllib::NtHash::hashes |
( |
| ) |
const |
|
inline |
Get the array of current canonical hash values (length = get_hash_num()
)
- Returns
- Pointer to the hash array
◆ peek() [1/2]
bool btllib::NtHash::peek |
( |
| ) |
|
|
inline |
Peeks the hash values as if roll() was called (without advancing the NtHash object. The peeked hash values can be obtained through the hashes() method.
- Returns
true
on success and false
otherwise
◆ peek() [2/2]
bool btllib::NtHash::peek |
( |
char | char_in | ) |
|
|
inline |
Peeks the hash values as if roll() was called for char_in (without advancing the NtHash object. The peeked hash values can be obtained through the hashes() method.
- Returns
true
on success and false
otherwise
◆ peek_back() [1/2]
bool btllib::NtHash::peek_back |
( |
| ) |
|
|
inline |
Like peek(), but as if roll_back() was called.
- Returns
true
on success and false
otherwise
◆ peek_back() [2/2]
bool btllib::NtHash::peek_back |
( |
char | char_in | ) |
|
|
inline |
Like peek(), but as if roll_back on char_in was called.
- Returns
true
on success and false
otherwise
◆ roll()
bool btllib::NtHash::roll |
( |
| ) |
|
|
inline |
Calculate the hash values of current k-mer and advance to the next k-mer. NtHash advances one nucleotide at a time until it finds a k-mer with valid characters (ACGTU) and skips over those with invalid characters (non-ACGTU, including N). This method must be called before hashes() is accessed, for the first and every subsequent hashed kmer. get_pos() may be called at any time to obtain the position of last hashed k-mer or the k-mer to be hashed if roll() has never been called on this NtHash object. It is important to note that the number of roll() calls is NOT necessarily equal to get_pos(), if there are N's or invalid characters in the hashed sequence.
- Returns
true
on success and false
otherwise
◆ roll_back()
bool btllib::NtHash::roll_back |
( |
| ) |
|
|
inline |
Like the roll() function, but advance backwards.
- Returns
true
on success and false
otherwise
The documentation for this class was generated from the following file: