NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Static Public Methods | List of all members
nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, HammingDistanceAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type > Struct Template Reference

Detailed description

template< uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type, typename pattern_string, typename qual_string, typename text_string, typename column_type>
struct nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, HammingDistanceAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type >

Calculate the alignment score between a pattern and a text, using the HammingDistance algorithm.

Template Parameters
CHECKPOINTSnumber of columns between each checkpoint
TYPEthe alignment type
pattern_stringpattern string
quals_stringpattern qualities
text_stringtext string
column_typetemporary column storage

Definition at line 1450 of file hamming_inl.h.

#include <hamming_inl.h>

Public Types

typedef HammingDistanceAligner
< TYPE, scoring_type > 
aligner_type
 

Static Public Methods

template<typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE static
NVBIO_HOST_DEVICE void 
dispatch_checkpoints (const aligner_type aligner, const pattern_string pattern, const qual_string quals, const text_string text, const int32 min_score, sink_type &sink, checkpoint_type checkpoints, column_type column)
 
template<typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE static
NVBIO_HOST_DEVICE uint32 
dispatch_submatrix (const aligner_type aligner, const pattern_string pattern, const qual_string quals, const text_string text, const int32 min_score, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, column_type column)
 

Member Typedef Documentation

template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename column_type >
typedef HammingDistanceAligner<TYPE,scoring_type> nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, HammingDistanceAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type >::aligner_type

Definition at line 1458 of file hamming_inl.h.

Member Function Documentation

template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename column_type >
template<typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE static NVBIO_HOST_DEVICE void nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, HammingDistanceAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type >::dispatch_checkpoints ( const aligner_type  aligner,
const pattern_string  pattern,
const qual_string  quals,
const text_string  text,
const int32  min_score,
sink_type &  sink,
checkpoint_type  checkpoints,
column_type  column 
)
inlinestatic

Calculate a set of checkpoints of the DP matrix for the alignment between a pattern and a text, using the Smith-Waterman algorithm.

Template Parameters
checkpoint_typea class to represent the collection of checkpoints, represented as a linear array storing each checkpointed band contiguously. The class has to provide the const indexing operator[].
Parameters
alignerscoring scheme
patternpattern string (horizontal
qualspattern qualities
texttext string (vertical)
min_scoreminimum score
sinkoutput alignment sink
checkpointsoutput checkpoints
Returns
true iff the minimum score was reached

Definition at line 1484 of file hamming_inl.h.

template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename column_type >
template<typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE static NVBIO_HOST_DEVICE uint32 nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, HammingDistanceAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type >::dispatch_submatrix ( const aligner_type  aligner,
const pattern_string  pattern,
const qual_string  quals,
const text_string  text,
const int32  min_score,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
column_type  column 
)
inlinestatic

Compute the banded Dynamic Programming submatrix between two given checkpoints, storing its flow at each cell. The function returns the submatrix width.

Template Parameters
BAND_LENsize of the DP band
checkpoint_typea class to represent the collection of checkpoints, represented as a linear array storing each checkpointed band contiguously. The class has to provide the const indexing operator[].
submatrix_typea class to store the flow submatrix, represented as a linear array of size (BAND_LEN*CHECKPOINTS). The class has to provide the non-const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
Parameters
checkpointsthe set of checkpointed rows
checkpoint_idthe starting checkpoint used as the beginning of the submatrix
submatrixthe output submatrix
Returns
the submatrix width

Definition at line 1532 of file hamming_inl.h.


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