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::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT > Struct Template Reference

Detailed description

template< Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT>
struct nvbio::io::SequenceDataEdit< 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

Definition at line 224 of file sequence_access.h.

#include <sequence_access.h>

Public Types

typedef
SequenceDataT::index_iterator 
index_iterator
 the index iterator More...
 
typedef
SequenceDataT::sequence_storage_iterator 
sequence_storage_iterator
 the read storage iterator More...
 
typedef
SequenceDataT::qual_storage_iterator 
qual_storage_iterator
 the qualities iterator More...
 
typedef
SequenceDataT::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 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
index_iterator 
name_index ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
index_iterator 
sequence_index ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
name_storage_iterator 
name_stream ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_storage_iterator 
sequence_storage ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
qual_storage_iterator 
qual_stream ()
 
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE SequenceDataEdit (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_stream_type 
sequence_stream ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_string_set_type 
sequence_string_set () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_string_set_type 
sequence_string_set ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
sequence_string 
get_read (const uint32 i) const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
qual_string_set_type 
qual_string_set () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
qual_string_set_type 
qual_string_set ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
name_string_set_type 
name_string_set () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE
name_string_set_type 
name_string_set ()
 

Public Members

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 >
typedef SequenceDataT::index_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::index_iterator

the index iterator

Definition at line 231 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
typedef SequenceDataT::name_storage_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::name_storage_iterator

the names string iterator

Definition at line 234 of file sequence_access.h.

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

name string-set type

Definition at line 257 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
typedef SequenceDataT::qual_storage_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_storage_iterator

the qualities iterator

Definition at line 233 of file sequence_access.h.

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

quality string-set type

Definition at line 253 of file sequence_access.h.

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

the sequence reference

Definition at line 240 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
typedef SequenceDataT::sequence_storage_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_storage_iterator

the read storage iterator

Definition at line 232 of file sequence_access.h.

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

the packed read-stream type

Definition at line 243 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
typedef vector_view<sequence_stream_type> nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_string

the read string type

Definition at line 245 of file sequence_access.h.

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

string-set type

Definition at line 249 of file sequence_access.h.

Constructor & Destructor Documentation

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::SequenceDataEdit ( SequenceDataT &  data)
inline

constructor

Definition at line 281 of file sequence_access.h.

Member Function Documentation

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

Definition at line 265 of file sequence_access.h.

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

Definition at line 260 of file sequence_access.h.

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

get the range of a read in the sequence stream

Definition at line 290 of file sequence_access.h.

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

return the i-th read as a string

Definition at line 322 of file sequence_access.h.

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

Definition at line 263 of file sequence_access.h.

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

Definition at line 264 of file sequence_access.h.

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

Definition at line 267 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE index_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::name_index ( )
inline

Definition at line 273 of file sequence_access.h.

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

Definition at line 269 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE name_storage_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::name_stream ( )
inline

Definition at line 275 of file sequence_access.h.

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

Definition at line 262 of file sequence_access.h.

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

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

Definition at line 350 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE name_string_set_type nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::name_string_set ( )
inline

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

Definition at line 360 of file sequence_access.h.

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

Definition at line 271 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE qual_storage_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_stream ( )
inline

Definition at line 277 of file sequence_access.h.

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

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

Definition at line 330 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE qual_string_set_type nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::qual_string_set ( )
inline

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

Definition at line 340 of file sequence_access.h.

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

Definition at line 268 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE index_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_index ( )
inline

Definition at line 274 of file sequence_access.h.

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

Definition at line 270 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_storage_iterator nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_storage ( )
inline

Definition at line 276 of file sequence_access.h.

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

return a sequence stream object

Definition at line 294 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_stream_type nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_stream ( )
inline

return a sequence stream object

Definition at line 298 of file sequence_access.h.

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

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

Definition at line 302 of file sequence_access.h.

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE sequence_string_set_type nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::sequence_string_set ( )
inline

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

Definition at line 312 of file sequence_access.h.

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

Definition at line 259 of file sequence_access.h.

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

Definition at line 261 of file sequence_access.h.

Member Data Documentation

template<Alphabet SEQUENCE_ALPHABET_T, typename SequenceDataT >
sequence_reference nvbio::io::SequenceDataEdit< SEQUENCE_ALPHABET_T, SequenceDataT >::m_data
mutable

Definition at line 368 of file sequence_access.h.

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

alphabet type

Definition at line 226 of file sequence_access.h.

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

endianness

Definition at line 228 of file sequence_access.h.

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

symbol size

Definition at line 227 of file sequence_access.h.

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

number of symbols per word

Definition at line 229 of file sequence_access.h.


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