template<
typename fm_index_type>
struct nvbio::MEMFilterHost< fm_index_type >
- This class implements an FM-index filter which can be used to find and filter MEMs between an arbitrary string-set and an FM-index.
- The filter is designed to:
- first find and rank the suffix array ranges containing occurrences of all MEMs, expressed as a series of lists of (SA-begin, SA-end,string-begin,string-end) tuples: there is one such list for each string in the set, and the entries are stored contiguously in a single vector;
- and then enumerate each individual occurrence of a MEM within the lists, as a set of (index-pos,string-id,string-begin,string-end) tuples.
- Template Parameters
-
fm_index_type | the type of the fm-index |
Definition at line 473 of file mem.h.
|
typedef host_tag | system_tag |
| the backend system More...
|
|
typedef fm_index_type | index_type |
| the index type More...
|
|
typedef index_type::index_type | coord_type |
| the coordinate type of the fm-index, uint32|uint64 More...
|
|
typedef MEMRange< coord_type > | rank_type |
| rank coordinates are either uint32_4 or uint64_4 More...
|
|
typedef MEMHit< coord_type > | mem_type |
| MEM coordinates are either uint32_4 or uint64_4. More...
|
|
typedef mem_type | hit_type |
| MEM coordinates are either uint32_4 or uint64_4. More...
|
|
template<typename string_set_type > |
uint64 | rank (const fm_index_type &f_index, const fm_index_type &r_index, const string_set_type &string_set, const uint32 min_intv=1u, const uint32 max_intv=uint32(-1), const uint32 min_span=1u, const uint32 split_len=uint32(-1), const uint32 split_width=uint32(-1)) |
|
uint32 | first_hit (const uint32 string_id) const |
|
template<typename mems_iterator > |
void | locate (const uint64 begin, const uint64 end, mems_iterator mems) |
|
uint64 | n_hits () const |
|
uint64 | n_mems () const |
|
uint64 | n_ranges () const |
|
uint32 | m_n_queries |
|
index_type | m_f_index |
|
index_type | m_r_index |
|
uint64 | m_n_occurrences |
|
HostVectorArray< rank_type > | m_mem_ranges |
|
thrust::host_vector< uint64 > | m_slots |
|
static const uint32 | coord_dim = vector_traits<coord_type>::DIM |
|