NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Methods | Public Members | List of all members
nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type > Struct Template Reference

Detailed description

template< uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
struct nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >

A helper checkpointed-scoring context class for hamming_alignment_score_dispatch which allows to perform scoring in multiple passes, saving & restoring a checkpoint each time.

Definition at line 131 of file hamming_inl.h.

#include <hamming_inl.h>

Public Methods

NVBIO_FORCEINLINE NVBIO_HOST_DEVICE HammingCheckpointedScoringContext (checkpoint_type checkpoint)
 
template<typename column_type , typename scoring_type , typename score_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
init (const uint32 j, const uint32 N, column_type &column, const scoring_type &scoring, const score_type zero)
 
template<typename column_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
previous_column (const uint32 j, const uint32 N, const column_type column)
 
template<typename column_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
last_column (const uint32 j, const uint32 M, const uint32 N, const column_type column)
 
template<typename score_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
new_cell (const uint32 i, const uint32 N, const uint32 j, const uint32 M, const score_type score, const DirectionVector dir)
 

Public Members

checkpoint_type m_checkpoint
 

Constructor & Destructor Documentation

template<uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >::HammingCheckpointedScoringContext ( checkpoint_type  checkpoint)
inline

Definition at line 137 of file hamming_inl.h.

Member Function Documentation

template<uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
template<typename column_type , typename scoring_type , typename score_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >::init ( const uint32  j,
const uint32  N,
column_type column,
const scoring_type &  scoring,
const score_type  zero 
)
inline

initialize the j-th column of the DP matrix

Parameters
jcolumn index
Ncolumn size
columncolumn values
scoringscoring scheme
zerozero value

Definition at line 149 of file hamming_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
template<typename column_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >::last_column ( const uint32  j,
const uint32  M,
const uint32  N,
const column_type  column 
)
inline

do something with the last column

Parameters
jcolumn index
Ncolumn size
columncolumn values

Definition at line 187 of file hamming_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
template<typename score_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >::new_cell ( const uint32  i,
const uint32  N,
const uint32  j,
const uint32  M,
const score_type  score,
const DirectionVector  dir 
)
inline

do something with the newly computed cell

Parameters
irow index
Nnumber of rows (column size)
jcolumn index
Mnumber of columns (row size)
scorecomputed score
dirdirection flow

Definition at line 210 of file hamming_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
template<typename column_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >::previous_column ( const uint32  j,
const uint32  N,
const column_type  column 
)
inline

do something with the previous column

Parameters
jcolumn index
Ncolumn size
columncolumn values

Definition at line 175 of file hamming_inl.h.

Member Data Documentation

template<uint32 BAND_LEN, AlignmentType TYPE, typename algorithm_tag, typename checkpoint_type = PatternBlockingTag>
checkpoint_type nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >::m_checkpoint

Definition at line 218 of file hamming_inl.h.


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