NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Public Members | Static Public Members | List of all members
nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT > Struct Template Reference

Detailed description

template< Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
struct nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >

An interface class to access a referenced sequence data object.
This class is templated over the a SequenceDataT type which needs to provide the core iterators to access itself
Template Parameters
SEQUENCE_ALPHABET_Tthe alphabet used to access the data
SequenceDataTthe type of the underlying sequence data; must provide the following interface:
interface SequenceDataT : public SequenceDataInfo
{
typedef ... index_iterator; // the index iterator
typedef ... sequence_storage_iterator; // the read storage iterator
typedef ... qual_storage_iterator; // the qualities iterator
typedef ... name_storage_iterator; // the names string iterator
typedef ... const_index_iterator; // the index iterator
typedef ... const_sequence_storage_iterator; // the read storage iterator
typedef ... const_qual_storage_iterator; // the qualities iterator
typedef ... const_name_storage_iterator; // the names string iterator
NVBIO_HOST_DEVICE const_index_iterator name_index() const;
NVBIO_HOST_DEVICE const_index_iterator sequence_index() const;
NVBIO_HOST_DEVICE const_name_storage_iterator name_stream() const;
NVBIO_HOST_DEVICE const_sequence_storage_iterator sequence_storage() const;
NVBIO_HOST_DEVICE const_qual_storage_iterator qual_stream() const;
};

Definition at line 80 of file sequence_access.h.

#include <sequence_access.h>

Public Types

typedef
SequenceDataT::const_index_iterator 
index_iterator
 the index iterator More...
 
typedef
SequenceDataT::const_sequence_storage_iterator 
sequence_storage_iterator
 the read storage iterator More...
 
typedef
SequenceDataT::const_qual_storage_iterator 
qual_storage_iterator
 the qualities iterator More...
 
typedef
SequenceDataT::const_name_storage_iterator 
name_storage_iterator
 the names string iterator More...
 
typedef SequenceDataViewCore
< index_iterator,
sequence_storage_iterator,
qual_storage_iterator,
name_storage_iterator
sequence_reference
 the sequence reference More...
 
typedef PackedStream
< sequence_storage_iterator,
uint8, SEQUENCE_BITS,
SEQUENCE_BIG_ENDIAN
sequence_stream_type
 the packed read-stream type More...
 
typedef vector_view
< sequence_stream_type
sequence_string
 the read string type More...
 
typedef vector_view
< qual_storage_iterator
qual_string
 the quality string type More...
 
typedef vector_view
< name_storage_iterator
name_string
 the name string type More...
 
typedef ConcatenatedStringSet
< sequence_stream_type,
index_iterator
sequence_string_set_type
 string-set type More...
 
typedef ConcatenatedStringSet
< qual_storage_iterator,
index_iterator
qual_string_set_type
 quality string-set type More...
 
typedef ConcatenatedStringSet
< name_storage_iterator,
index_iterator
name_string_set_type
 name string-set type More...
 

Public Methods

NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
size () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
bps () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
words () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
name_stream_len () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
max_sequence_len () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
min_sequence_len () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
avg_sequence_len () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
index_iterator 
name_index () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
index_iterator 
sequence_index () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
name_storage_iterator 
name_stream () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_storage_iterator 
sequence_storage () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
qual_storage_iterator 
qual_stream () const
 
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE SequenceDataAccess (const SequenceDataT &data)
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint2 
get_range (const uint32 i) const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_stream_type 
sequence_stream () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_string_set_type 
sequence_string_set () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_string 
get_read (const uint32 i) const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE qual_string 
get_quals (const uint32 i) const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE name_string 
get_name (const uint32 i) const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
qual_string_set_type 
qual_string_set () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
name_string_set_type 
name_string_set () const
 

Public Members

const sequence_reference m_data
 

Static Public Members

static const Alphabet SEQUENCE_ALPHABET = SEQUENCE_ALPHABET_T
 alphabet type More...
 
static const uint32 SEQUENCE_BITS = SequenceDataTraits<SEQUENCE_ALPHABET>::SEQUENCE_BITS
 symbol size More...
 
static const bool SEQUENCE_BIG_ENDIAN = SequenceDataTraits<SEQUENCE_ALPHABET>::SEQUENCE_BIG_ENDIAN
 endianness More...
 
static const uint32 SEQUENCE_SYMBOLS_PER_WORD = SequenceDataTraits<SEQUENCE_ALPHABET>::SEQUENCE_SYMBOLS_PER_WORD
 number of symbols per word More...
 

Member Typedef Documentation

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef SequenceDataT::const_index_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::index_iterator

the index iterator

Definition at line 87 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef SequenceDataT::const_name_storage_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_storage_iterator

the names string iterator

Definition at line 90 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef vector_view<name_storage_iterator> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_string

the name string type

Definition at line 103 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef ConcatenatedStringSet< name_storage_iterator, index_iterator> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_string_set_type

name string-set type

Definition at line 115 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef SequenceDataT::const_qual_storage_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_storage_iterator

the qualities iterator

Definition at line 89 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef vector_view<qual_storage_iterator> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_string

the quality string type

Definition at line 102 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef ConcatenatedStringSet< qual_storage_iterator, index_iterator> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_string_set_type

quality string-set type

Definition at line 111 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef SequenceDataViewCore< index_iterator, sequence_storage_iterator, qual_storage_iterator, name_storage_iterator> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_reference

the sequence reference

Definition at line 96 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef SequenceDataT::const_sequence_storage_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_storage_iterator

the read storage iterator

Definition at line 88 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef PackedStream< sequence_storage_iterator,uint8,SEQUENCE_BITS,SEQUENCE_BIG_ENDIAN> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_stream_type

the packed read-stream type

Definition at line 99 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef vector_view<sequence_stream_type> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_string

the read string type

Definition at line 101 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
typedef ConcatenatedStringSet< sequence_stream_type, index_iterator> nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_string_set_type

string-set type

Definition at line 107 of file sequence_access.h.

Constructor & Destructor Documentation

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::SequenceDataAccess ( const SequenceDataT &  data)
inline

constructor

Definition at line 133 of file sequence_access.h.

Member Function Documentation

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::avg_sequence_len ( ) const
inline

Definition at line 123 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::bps ( ) const
inline

Definition at line 118 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE name_string nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::get_name ( const uint32  i) const
inline

return the i-th read name as a string

Definition at line 176 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE qual_string nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::get_quals ( const uint32  i) const
inline

return the i-th quality read as a string

Definition at line 168 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint2 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::get_range ( const uint32  i) const
inline

get the range of a read in the sequence stream

Definition at line 142 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_string nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::get_read ( const uint32  i) const
inline

return the i-th read as a string

Definition at line 160 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::max_sequence_len ( ) const
inline

Definition at line 121 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::min_sequence_len ( ) const
inline

Definition at line 122 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE index_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_index ( ) const
inline

Definition at line 125 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE name_storage_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_stream ( ) const
inline

Definition at line 127 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_stream_len ( ) const
inline

Definition at line 120 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE name_string_set_type nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::name_string_set ( ) const
inline

return the a string-set view of this set of reads

Definition at line 195 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE qual_storage_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_stream ( ) const
inline

Definition at line 129 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE qual_string_set_type nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_string_set ( ) const
inline

return the a string-set view of this set of reads

Definition at line 184 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE index_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_index ( ) const
inline

Definition at line 126 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_storage_iterator nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_storage ( ) const
inline

Definition at line 128 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_stream_type nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_stream ( ) const
inline

return a sequence stream object

Definition at line 146 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_string_set_type nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_string_set ( ) const
inline

return the a string-set view of this set of reads

Definition at line 150 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::size ( void  ) const
inline

Definition at line 117 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::words ( ) const
inline

Definition at line 119 of file sequence_access.h.

Member Data Documentation

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
const sequence_reference nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::m_data

Definition at line 203 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
const Alphabet nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::SEQUENCE_ALPHABET = SEQUENCE_ALPHABET_T
static

alphabet type

Definition at line 82 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
const bool nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::SEQUENCE_BIG_ENDIAN = SequenceDataTraits<SEQUENCE_ALPHABET>::SEQUENCE_BIG_ENDIAN
static

endianness

Definition at line 84 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
const uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::SEQUENCE_BITS = SequenceDataTraits<SEQUENCE_ALPHABET>::SEQUENCE_BITS
static

symbol size

Definition at line 83 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT = ConstSequenceDataView>
const uint32 nvbio::io::SequenceDataAccess< SEQUENCE_ALPHABET_T, SequenceDataT >::SEQUENCE_SYMBOLS_PER_WORD = SequenceDataTraits<SEQUENCE_ALPHABET>::SEQUENCE_SYMBOLS_PER_WORD
static

number of symbols per word

Definition at line 85 of file sequence_access.h.


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