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

Detailed description

template< typename system_tag>
struct nvbio::io::SequenceDataStorage< system_tag >

A concrete SequenceData storage implementation in host/device memory

Definition at line 436 of file sequence.h.

#include <sequence.h>

Inheritance diagram for nvbio::io::SequenceDataStorage< system_tag >:
nvbio::io::SequenceData nvbio::io::SequenceDataInfo

Public Types

typedef SequenceData SequenceDataBase
 
typedef SequenceDataView plain_view_type
 
typedef ConstSequenceDataView const_plain_view_type
 
typedef nvbio::vector
< system_tag, uint32 >
::iterator 
index_iterator
 
typedef nvbio::vector
< system_tag, uint32 >
::iterator 
sequence_storage_iterator
 
typedef nvbio::vector
< system_tag, char >::iterator 
qual_storage_iterator
 
typedef nvbio::vector
< system_tag, char >::iterator 
name_storage_iterator
 
typedef nvbio::vector
< system_tag, uint32 >
::const_iterator 
const_index_iterator
 
typedef nvbio::vector
< system_tag, uint32 >
::const_iterator 
const_sequence_storage_iterator
 
typedef nvbio::vector
< system_tag, char >
::const_iterator 
const_qual_storage_iterator
 
typedef nvbio::vector
< system_tag, char >
::const_iterator 
const_name_storage_iterator
 
- Public Types inherited from nvbio::io::SequenceData
typedef SequenceDataView plain_view_type
 
typedef ConstSequenceDataView const_plain_view_type
 

Public Methods

 SequenceDataStorage ()
 
template<typename other_tag >
 SequenceDataStorage (const SequenceDataStorage< other_tag > &other)
 
template<typename IndexIterator , typename SequenceStorageIterator , typename QualStorageIterator , typename NameStorageIterator >
 SequenceDataStorage (const SequenceDataViewCore< IndexIterator, SequenceStorageIterator, QualStorageIterator, NameStorageIterator > &other)
 
 SequenceDataStorage (const SequenceData &other)
 
template<typename other_tag >
SequenceDataStorageoperator= (const SequenceDataStorage< other_tag > &other)
 
template<typename IndexIterator , typename SequenceStorageIterator , typename QualStorageIterator , typename NameStorageIterator >
SequenceDataStorageoperator= (const SequenceDataViewCore< IndexIterator, SequenceStorageIterator, QualStorageIterator, NameStorageIterator > &other)
 
 operator plain_view_type ()
 
 operator const_plain_view_type () const
 
void reserve (const uint32 n_seqs, const uint32 n_bps)
 
NVBIO_FORCEINLINE index_iterator name_index ()
 
NVBIO_FORCEINLINE index_iterator sequence_index ()
 
NVBIO_FORCEINLINE
name_storage_iterator 
name_stream ()
 
NVBIO_FORCEINLINE
sequence_storage_iterator 
sequence_storage ()
 
NVBIO_FORCEINLINE
qual_storage_iterator 
qual_stream ()
 
NVBIO_FORCEINLINE
const_index_iterator 
name_index () const
 
NVBIO_FORCEINLINE
const_index_iterator 
sequence_index () const
 
NVBIO_FORCEINLINE
const_name_storage_iterator 
name_stream () const
 
NVBIO_FORCEINLINE
const_sequence_storage_iterator 
sequence_storage () const
 
NVBIO_FORCEINLINE
const_qual_storage_iterator 
qual_stream () const
 
- Public Methods inherited from nvbio::io::SequenceData
virtual ~SequenceData ()
 
- Public Methods inherited from nvbio::io::SequenceDataInfo
NVBIO_HOST_DEVICE NVBIO_FORCEINLINE SequenceDataInfo ()
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE Alphabet 
alphabet () const
 
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 
qs () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE uint32 
name_stream_len () const
 
NVBIO_HOST_DEVICE
NVBIO_FORCEINLINE bool 
has_qualities () 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
 

Public Members

nvbio::vector< system_tag, uint32m_sequence_vec
 
nvbio::vector< system_tag, uint32m_sequence_index_vec
 
nvbio::vector< system_tag, char > m_qual_vec
 
nvbio::vector< system_tag, char > m_name_vec
 
nvbio::vector< system_tag, uint32m_name_index_vec
 

Member Typedef Documentation

template<typename system_tag>
typedef nvbio::vector<system_tag,uint32>::const_iterator nvbio::io::SequenceDataStorage< system_tag >::const_index_iterator

Definition at line 448 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,char>::const_iterator nvbio::io::SequenceDataStorage< system_tag >::const_name_storage_iterator

Definition at line 451 of file sequence.h.

template<typename system_tag>
typedef ConstSequenceDataView nvbio::io::SequenceDataStorage< system_tag >::const_plain_view_type

Definition at line 441 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,char>::const_iterator nvbio::io::SequenceDataStorage< system_tag >::const_qual_storage_iterator

Definition at line 450 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,uint32>::const_iterator nvbio::io::SequenceDataStorage< system_tag >::const_sequence_storage_iterator

Definition at line 449 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,uint32>::iterator nvbio::io::SequenceDataStorage< system_tag >::index_iterator

Definition at line 443 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,char>::iterator nvbio::io::SequenceDataStorage< system_tag >::name_storage_iterator

Definition at line 446 of file sequence.h.

template<typename system_tag>
typedef SequenceDataView nvbio::io::SequenceDataStorage< system_tag >::plain_view_type

Definition at line 440 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,char>::iterator nvbio::io::SequenceDataStorage< system_tag >::qual_storage_iterator

Definition at line 445 of file sequence.h.

template<typename system_tag>
typedef nvbio::vector<system_tag,uint32>::iterator nvbio::io::SequenceDataStorage< system_tag >::sequence_storage_iterator

Definition at line 444 of file sequence.h.

template<typename system_tag>
typedef SequenceData nvbio::io::SequenceDataStorage< system_tag >::SequenceDataBase

Definition at line 438 of file sequence.h.

Constructor & Destructor Documentation

template<typename system_tag>
nvbio::io::SequenceDataStorage< system_tag >::SequenceDataStorage ( )
inline

constructor

Definition at line 455 of file sequence.h.

template<typename system_tag>
template<typename other_tag >
nvbio::io::SequenceDataStorage< system_tag >::SequenceDataStorage ( const SequenceDataStorage< other_tag > &  other)
inline

copy constructor

Definition at line 460 of file sequence.h.

template<typename system_tag>
template<typename IndexIterator , typename SequenceStorageIterator , typename QualStorageIterator , typename NameStorageIterator >
nvbio::io::SequenceDataStorage< system_tag >::SequenceDataStorage ( const SequenceDataViewCore< IndexIterator, SequenceStorageIterator, QualStorageIterator, NameStorageIterator > &  other)
inline

copy constructor

Definition at line 473 of file sequence.h.

template<typename system_tag >
nvbio::io::SequenceDataStorage< system_tag >::SequenceDataStorage ( const SequenceData other)

copy constructor

Definition at line 760 of file sequence.h.

Member Function Documentation

template<typename system_tag>
NVBIO_FORCEINLINE index_iterator nvbio::io::SequenceDataStorage< system_tag >::name_index ( )
inline

Definition at line 573 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE const_index_iterator nvbio::io::SequenceDataStorage< system_tag >::name_index ( ) const
inline

Definition at line 579 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE name_storage_iterator nvbio::io::SequenceDataStorage< system_tag >::name_stream ( )
inline

Definition at line 575 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE const_name_storage_iterator nvbio::io::SequenceDataStorage< system_tag >::name_stream ( ) const
inline

Definition at line 581 of file sequence.h.

template<typename system_tag>
nvbio::io::SequenceDataStorage< system_tag >::operator const_plain_view_type ( ) const
inlinevirtual

convert to a const plain_view

Reimplemented from nvbio::io::SequenceData.

Definition at line 546 of file sequence.h.

template<typename system_tag>
nvbio::io::SequenceDataStorage< system_tag >::operator plain_view_type ( )
inlinevirtual

convert to a plain_view

Reimplemented from nvbio::io::SequenceData.

Definition at line 534 of file sequence.h.

template<typename system_tag>
template<typename other_tag >
SequenceDataStorage& nvbio::io::SequenceDataStorage< system_tag >::operator= ( const SequenceDataStorage< other_tag > &  other)
inline

assignment operator

Definition at line 486 of file sequence.h.

template<typename system_tag>
template<typename IndexIterator , typename SequenceStorageIterator , typename QualStorageIterator , typename NameStorageIterator >
SequenceDataStorage& nvbio::io::SequenceDataStorage< system_tag >::operator= ( const SequenceDataViewCore< IndexIterator, SequenceStorageIterator, QualStorageIterator, NameStorageIterator > &  other)
inline

assignment operator, from a view object NOTE: if the view contains raw pointers, this method works if only if the pointers refer to host data. If the view refers to device data instead, it must provide proper device iterators.

Definition at line 509 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE qual_storage_iterator nvbio::io::SequenceDataStorage< system_tag >::qual_stream ( )
inline

Definition at line 577 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE const_qual_storage_iterator nvbio::io::SequenceDataStorage< system_tag >::qual_stream ( ) const
inline

Definition at line 583 of file sequence.h.

template<typename system_tag>
void nvbio::io::SequenceDataStorage< system_tag >::reserve ( const uint32  n_seqs,
const uint32  n_bps 
)
inline

Definition at line 559 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE index_iterator nvbio::io::SequenceDataStorage< system_tag >::sequence_index ( )
inline

Definition at line 574 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE const_index_iterator nvbio::io::SequenceDataStorage< system_tag >::sequence_index ( ) const
inline

Definition at line 580 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE sequence_storage_iterator nvbio::io::SequenceDataStorage< system_tag >::sequence_storage ( )
inline

Definition at line 576 of file sequence.h.

template<typename system_tag>
NVBIO_FORCEINLINE const_sequence_storage_iterator nvbio::io::SequenceDataStorage< system_tag >::sequence_storage ( ) const
inline

Definition at line 582 of file sequence.h.

Member Data Documentation

template<typename system_tag>
nvbio::vector<system_tag,uint32> nvbio::io::SequenceDataStorage< system_tag >::m_name_index_vec

Definition at line 589 of file sequence.h.

template<typename system_tag>
nvbio::vector<system_tag,char> nvbio::io::SequenceDataStorage< system_tag >::m_name_vec

Definition at line 588 of file sequence.h.

template<typename system_tag>
nvbio::vector<system_tag,char> nvbio::io::SequenceDataStorage< system_tag >::m_qual_vec

Definition at line 587 of file sequence.h.

template<typename system_tag>
nvbio::vector<system_tag,uint32> nvbio::io::SequenceDataStorage< system_tag >::m_sequence_index_vec

Definition at line 586 of file sequence.h.

template<typename system_tag>
nvbio::vector<system_tag,uint32> nvbio::io::SequenceDataStorage< system_tag >::m_sequence_vec

Definition at line 585 of file sequence.h.


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