BitMagic-C++
|
Utility for keeping all DNA finger print vectors and search using various techniques. More...
Public Types | |
enum | { eA = 0, eC, eG, eT, eN, eEnd } |
enum | { eA = 0, eC, eG, eT, eN, eEnd } |
Public Member Functions | |
DNA_FingerprintScanner () | |
void | Build (const vector< char > &sequence) |
Build fingerprint bit-vectors from the original sequence. More... | |
const bm::bvector & | GetVector (char letter) const |
Return fingerprint bit-vector. More... | |
void | Find (const string &word, vector< unsigned > &res) |
Find word strings using shift + and on fingerprint vectors (horizontal, non-fused basic method) More... | |
void | FindAggFused (const string &word, vector< unsigned > &res) |
This method uses cache blocked aggregator with fused SHIFT+AND kernel. More... | |
void | FindCollection (const vector< tuple< string, int > > &words, vector< vector< unsigned >> &hits) |
Find a set of words in one pass using pipeline of aggregators (this is very experimental) More... | |
DNA_FingerprintScanner () | |
void | Build (const vector< char > &sequence) |
Build fingerprint bit-vectors from the original sequence. More... | |
void | BuildBulk (const vector< char > &sequence) |
Build index using bulk insert iterator. More... | |
void | BuildParallel (const vector< char > &sequence, unsigned threads) |
Build fingerprint bit-vectors using bulk insert iterator and parallel processing. More... | |
void | MergeVector (char letter, bm::bvector<> &bv) |
Thread sync bit-vector merge. More... | |
const bm::bvector & | GetVector (char letter) const |
Return fingerprint bit-vector. More... | |
Protected Member Functions | |
void | TranslateResults (const bm::bvector<> &bv, unsigned left_shift, vector< unsigned > &res) |
Translate search results vector using (word size) left shift. More... | |
Utility for keeping all DNA finger print vectors and search using various techniques.
Definition at line 180 of file xsample04.cpp.
anonymous enum |
Enumerator | |
---|---|
eA | |
eC | |
eG | |
eT | |
eN | |
eEnd |
Definition at line 183 of file xsample04.cpp.
anonymous enum |
Enumerator | |
---|---|
eA | |
eC | |
eG | |
eT | |
eN | |
eEnd |
Definition at line 154 of file xsample04a.cpp.
|
inline |
Definition at line 185 of file xsample04.cpp.
|
inline |
Definition at line 156 of file xsample04a.cpp.
|
inline |
Build fingerprint bit-vectors from the original sequence.
Definition at line 160 of file xsample04a.cpp.
|
inline |
Build fingerprint bit-vectors from the original sequence.
Definition at line 189 of file xsample04.cpp.
References bm::BM_SORTED.
Referenced by main().
|
inline |
Build index using bulk insert iterator.
Definition at line 196 of file xsample04a.cpp.
References bm::BM_SORTED.
|
inline |
Build fingerprint bit-vectors using bulk insert iterator and parallel processing.
Definition at line 234 of file xsample04a.cpp.
References bm::BM_SORTED, bm::bvector< Alloc >::bulk_insert_iterator::flush(), and MergeVector().
Referenced by main().
|
inline |
Find word strings using shift + and on fingerprint vectors (horizontal, non-fused basic method)
Definition at line 250 of file xsample04.cpp.
References bm::bvector< Alloc >::any(), and bm::bvector< Alloc >::shift_right().
Referenced by main().
|
inline |
This method uses cache blocked aggregator with fused SHIFT+AND kernel.
Definition at line 277 of file xsample04.cpp.
Referenced by main().
|
inline |
Find a set of words in one pass using pipeline of aggregators (this is very experimental)
Definition at line 302 of file xsample04.cpp.
References bm::aggregator_pipeline_execute(), bm::aggregator< bm::bvector<> >::BM_SHIFT_R_AND, and bm::aggregator< BV >::get_target().
Referenced by main().
|
inline |
Return fingerprint bit-vector.
Definition at line 226 of file xsample04.cpp.
Referenced by fingerprint_compare().
|
inline |
Return fingerprint bit-vector.
Definition at line 371 of file xsample04a.cpp.
|
inline |
Thread sync bit-vector merge.
Definition at line 324 of file xsample04a.cpp.
Referenced by BuildParallel().
|
inlineprotected |
Translate search results vector using (word size) left shift.
Definition at line 344 of file xsample04.cpp.
References bm::bvector< Alloc >::first(), and bm::bvector< Alloc >::iterator_base::valid().