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

Detailed description

template< uint32 BAND_LEN, AlignmentType TYPE>
struct nvbio::aln::priv::banded::sw_alignment_score_dispatch< BAND_LEN, TYPE >

The template struct to dispatch calls to banded_alignment_score.

Definition at line 290 of file sw_banded_inl.h.

#include <sw_banded_inl.h>

Static Public Methods

template<typename pattern_type , typename qual_type , typename text_type , typename scoring_type , typename context_type , typename sink_type >
NVBIO_FORCEINLINE static
NVBIO_HOST_DEVICE bool 
run (const scoring_type &scoring, pattern_type pattern, qual_type quals, text_type text, const uint32 window_begin, const uint32 window_end, const uint32 pos, const int32 min_score, context_type &context, sink_type &sink)
 

Member Function Documentation

template<uint32 BAND_LEN, AlignmentType TYPE>
template<typename pattern_type , typename qual_type , typename text_type , typename scoring_type , typename context_type , typename sink_type >
NVBIO_FORCEINLINE static NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded::sw_alignment_score_dispatch< BAND_LEN, TYPE >::run ( const scoring_type &  scoring,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const uint32  window_begin,
const uint32  window_end,
const uint32  pos,
const int32  min_score,
context_type &  context,
sink_type &  sink 
)
inlinestatic

Calculate the banded alignment score between a string and a reference, using the Smith-Waterman algorithm.

Template Parameters
context_typea context class used to configure the behaviour of the algorithm, initializing and capturing the output DP matrix; it must implement the following interface:
struct context_type
{
// initialize the first DP band
template <typename scoring_type>
void init(
const uint32 i,
int32* band,
const scoring_type& scoring,
const int32 infimum);
// do anything with the i-th band
void previous_row(
const uint32 i,
const int32* band);
// do anything with the last computed band, at row i
void last_row(
const uint32 i,
const int32* band);
// do anything with the cell (i,j)
void new_cell(
const uint32 i,
const uint32 j,
const int32 score,
const DirectionVector dir);
};
Parameters
scoringscoring scheme
patternshorter string (horizontal)
textlonger string (vertical)
posoffset in the reference string
contextthe context class
sinkoutput alignment sink
Returns
false if the alignment didn't reach the minimum score, true otherwise

Definition at line 349 of file sw_banded_inl.h.


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