a string class embedding a string in a compact bit representation
especially useful to compactly represent genomic DNA
(or any other string of small alphabet size)
Definition at line 28 of file BitString.h.
Public Member Functions | |
CBitString (void) | |
CBitString (EAlphabet alpha, int32_t width=1) | |
~CBitString () | |
void | cleanup () |
void | obtain_from_char (char *str, uint64_t len) |
void | load_fasta_file (const char *fname, bool ignore_invalid=false) |
void | set_string (uint64_t *str, uint64_t len) |
void | create (uint64_t len) |
uint64_t | operator[] (uint64_t index) const |
void | set_binary_word (uint16_t word, uint64_t index) |
uint64_t | get_length () const |
virtual const char * | get_name () const |
CBitString | ( | void | ) |
default constructor
Definition at line 32 of file BitString.h.
CBitString | ( | EAlphabet | alpha, | |
int32_t | width = 1 | |||
) |
default constructor
creates an empty Bitstring
alpha | Alphabet | |
width | return this many bits upon str[idx] access operations |
Definition at line 50 of file BitString.h.
~CBitString | ( | ) |
destructor
Definition at line 67 of file BitString.h.
void cleanup | ( | ) |
free up memory
Definition at line 74 of file BitString.h.
void create | ( | uint64_t | len | ) |
creates string of all zeros of len bits
len | length of string in bits |
Definition at line 221 of file BitString.h.
uint64_t get_length | ( | ) | const |
Definition at line 329 of file BitString.h.
virtual const char* get_name | ( | void | ) | const [virtual] |
void load_fasta_file | ( | const char * | fname, | |
bool | ignore_invalid = false | |||
) |
load fasta file as bit string
fname | filename to load from | |
ignore_invalid | if set to true, characters other than A,C,G,T are converted to A |
Definition at line 123 of file BitString.h.
void obtain_from_char | ( | char * | str, | |
uint64_t | len | |||
) |
convert string of length len into bit sequence
str | string | |
len | length of string in bits |
Definition at line 86 of file BitString.h.
uint64_t operator[] | ( | uint64_t | index | ) | const |
access array by [] operator
index | index into array |
Definition at line 263 of file BitString.h.
void set_binary_word | ( | uint16_t | word, | |
uint64_t | index | |||
) |
set a binary word
word | 16 bit word to be set | |
index | word based index |
Definition at line 289 of file BitString.h.
void set_string | ( | uint64_t * | str, | |
uint64_t | len | |||
) |
set string of length len embedded in a uint64_t sequence
str | string | |
len | length of string in bits |
Definition at line 210 of file BitString.h.