NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
nvbio::MEMFilterHost< fm_index_type > Struct Template Reference

Detailed description

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_typethe type of the fm-index

Definition at line 473 of file mem.h.

#include <mem.h>

Inheritance diagram for nvbio::MEMFilterHost< fm_index_type >:
nvbio::MEMFilter< host_tag, fm_index_type >

Additional Inherited Members

- Public Types inherited from nvbio::MEMFilter< host_tag, fm_index_type >
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_typerank_type
 rank coordinates are either uint32_4 or uint64_4 More...
 
typedef MEMHit< coord_typemem_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...
 
- Public Methods inherited from nvbio::MEMFilter< host_tag, fm_index_type >
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
 
- Public Members inherited from nvbio::MEMFilter< host_tag, fm_index_type >
uint32 m_n_queries
 
index_type m_f_index
 
index_type m_r_index
 
uint64 m_n_occurrences
 
HostVectorArray< rank_typem_mem_ranges
 
thrust::host_vector< uint64m_slots
 
- Static Public Members inherited from nvbio::MEMFilter< host_tag, fm_index_type >
static const uint32 coord_dim = vector_traits<coord_type>::DIM
 

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