NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs | Functions | Variables

Detailed Description

Classes

struct  nvbio::aln::ScoreStream< stream_type >
 
struct  nvbio::aln::StagedAlignmentUnitBase< stream_type, derived_type >
 
struct  nvbio::aln::StagedScoreUnit< stream_type >
 
struct  nvbio::aln::BandedScoreUnit< BAND_LEN, stream_type >
 
struct  nvbio::aln::priv::alignment_score_dispatch< EditDistanceAligner< TYPE, algorithm_tag >, pattern_string, qual_string, text_string, column_type >
 
struct  nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, EditDistanceAligner< TYPE >, pattern_string, qual_string, text_string, column_type >
 
struct  nvbio::aln::priv::EditDistanceSWScheme
 
struct  nvbio::aln::priv::banded::GotohScoringContext< BAND_LEN, TYPE >
 
struct  nvbio::aln::priv::banded::GotohCheckpointedScoringContext< BAND_LEN, TYPE, checkpoint_type >
 
struct  nvbio::aln::priv::banded::GotohCheckpointContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type >
 
struct  nvbio::aln::priv::banded::GotohSubmatrixContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type, submatrix_type >
 
struct  nvbio::aln::priv::banded::gotoh_alignment_score_dispatch< BAND_LEN, TYPE >
 
struct  nvbio::aln::priv::HammingScoringContext< BAND_LEN, TYPE, algorithm_tag >
 
struct  nvbio::aln::priv::HammingCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >
 
struct  nvbio::aln::priv::HammingCheckpointContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type >
 
struct  nvbio::aln::priv::HammingSubmatrixContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type, submatrix_type >
 
struct  nvbio::aln::priv::hamming_alignment_score_dispatch< BAND_LEN, TYPE, algorithm_tag, symbol_type >
 
struct  nvbio::aln::priv::hamming_alignment_score_dispatch< BAND_LEN, TYPE, PatternBlockingTag, symbol_type >
 
struct  nvbio::aln::priv::hamming_alignment_score_dispatch< BAND_LEN, TYPE, TextBlockingTag, symbol_type >
 
struct  nvbio::aln::priv::hamming_bandlen_selector< TYPE, DIM, symbol_type >
 
struct  nvbio::aln::priv::hamming_bandlen_selector< TYPE, DIM, simd4u8 >
 
struct  nvbio::aln::priv::alignment_score_dispatch< HammingDistanceAligner< TYPE, scoring_type, algorithm_tag >, pattern_string, qual_string, text_string, column_type >
 
struct  nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, HammingDistanceAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type >
 
struct  nvbio::aln::priv::MyersBitVectors< ALPHABET_SIZE >
 
struct  nvbio::aln::priv::MyersBitVectors< 2 >
 
struct  nvbio::aln::priv::MyersBitVectors< 4 >
 
struct  nvbio::aln::priv::MyersBitVectors< 5 >
 
struct  nvbio::aln::priv::banded::SmithWatermanScoringContext< BAND_LEN, TYPE >
 
struct  nvbio::aln::priv::banded::SmithWatermanCheckpointedScoringContext< BAND_LEN, TYPE, checkpoint_type >
 
struct  nvbio::aln::priv::banded::SmithWatermanCheckpointContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type >
 
struct  nvbio::aln::priv::banded::SmithWatermanSubmatrixContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type, submatrix_type >
 
struct  nvbio::aln::priv::banded::sw_alignment_score_dispatch< BAND_LEN, TYPE >
 
struct  nvbio::aln::priv::SWScoringContext< BAND_LEN, TYPE, algorithm_tag >
 
struct  nvbio::aln::priv::SWCheckpointedScoringContext< BAND_LEN, TYPE, algorithm_tag, checkpoint_type >
 
struct  nvbio::aln::priv::SWCheckpointContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type >
 
struct  nvbio::aln::priv::SWSubmatrixContext< BAND_LEN, TYPE, CHECKPOINTS, checkpoint_type, submatrix_type >
 
struct  nvbio::aln::priv::sw_alignment_score_dispatch< BAND_LEN, TYPE, PatternBlockingTag, symbol_type >
 
struct  nvbio::aln::priv::sw_alignment_score_dispatch< BAND_LEN, TYPE, TextBlockingTag, symbol_type >
 
struct  nvbio::aln::priv::sw_bandlen_selector< TYPE, DIM, symbol_type >
 
struct  nvbio::aln::priv::sw_bandlen_selector< TYPE, DIM, simd4u8 >
 
struct  nvbio::aln::priv::alignment_score_dispatch< SmithWatermanAligner< TYPE, scoring_type, algorithm_tag >, pattern_string, qual_string, text_string, column_type >
 
struct  nvbio::aln::priv::alignment_checkpointed_dispatch< CHECKPOINTS, SmithWatermanAligner< TYPE, scoring_type >, pattern_string, qual_string, text_string, column_type >
 

Macros

#define SW_F_INITIALIZED_TO_INF
 

Typedefs

typedef strided_iterator
< cell_type * > 
nvbio::aln::column_type
 

Functions

template<uint32 BAND_LEN, typename stream_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::aln::batched_banded_alignment_score (const stream_type &stream, const uint32 work_id)
 
template<uint32 BLOCKDIM, uint32 MINBLOCKS, uint32 BAND_LEN, typename stream_type >
__global__ void nvbio::aln::__launch_bounds__ (BLOCKDIM, MINBLOCKS) batched_banded_alignment_score_kernel(const stream_type stream)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, typename stream_type , typename cell_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::aln::batched_banded_alignment_traceback (stream_type &stream, cell_type *checkpoints, uint32 *submatrices, const uint32 stride, const uint32 work_id, const uint32 thread_id)
 
template<uint32 BLOCKDIM, uint32 BAND_LEN, uint32 CHECKPOINTS, typename stream_type , typename cell_type >
__global__ void nvbio::aln::batched_banded_alignment_traceback_kernel (stream_type stream, cell_type *checkpoints, uint32 *submatrices, const uint32 stride)
 
template<uint32 BLOCKDIM, uint32 BAND_LEN, uint32 CHECKPOINTS, typename stream_type , typename cell_type >
__global__ void nvbio::aln::persistent_banded_batched_alignment_traceback_kernel (stream_type stream, cell_type *checkpoints, uint32 *submatrices, const uint32 stride)
 
template<typename stream_type , typename column_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::aln::batched_alignment_score (stream_type &stream, column_type column, const uint32 work_id, const uint32 thread_id)
 
template<uint32 BLOCKDIM, uint32 MINBLOCKS, uint32 COLUMN_SIZE, typename stream_type , typename cell_type >
__global__ void nvbio::aln::__launch_bounds__ (BLOCKDIM, MINBLOCKS) lmem_batched_alignment_score_kernel(stream_type stream
 
 nvbio::aln::if (tid >=stream.size()) return
 
 nvbio::aln::batched_alignment_score (stream, column, tid, tid)
 
 nvbio::aln::for (uint32 stream_begin=0;stream_begin< stream_end;stream_begin+=grid_threads)
 
template<uint32 BLOCKDIM, typename stream_type , typename cell_type >
NVBIO_FORCEINLINE NVBIO_DEVICE void nvbio::aln::warp_batched_alignment_score (stream_type &stream, cell_type *columns, const uint32 stride, const uint32 work_id, const uint32 warp_id)
 
template<uint32 BLOCKDIM, typename stream_type , typename cell_type >
__global__ void nvbio::aln::warp_batched_alignment_score_kernel (stream_type stream, cell_type *columns, const uint32 stride)
 
template<uint32 BLOCKDIM, typename stream_type , typename cell_type >
__global__ void nvbio::aln::warp_persistent_batched_alignment_score_kernel (stream_type stream, cell_type *columns, const uint32 stride)
 
template<uint32 CHECKPOINTS, typename stream_type , typename cell_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::aln::batched_alignment_traceback (stream_type &stream, cell_type *checkpoints, uint32 *submatrices, cell_type *columns, const uint32 stride, const uint32 work_id, const uint32 thread_id)
 
 nvbio::aln::batched_alignment_traceback< CHECKPOINTS > (stream, checkpoints, submatrices, columns, stride, tid, tid)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const EditDistanceAligner< TYPE > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const EditDistanceAligner< TYPE > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, const uint32 window_begin, const uint32 window_end, sink_type &sink, checkpoint_type checkpoint)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_checkpoints (const EditDistanceAligner< TYPE > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink, checkpoint_type checkpoints)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename pattern_string , typename qual_string , typename text_string , typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::aln::priv::banded_alignment_submatrix (const EditDistanceAligner< TYPE > &aligner, pattern_string pattern, qual_string quals, text_string text, const int32 min_score, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_traceback (const EditDistanceAligner< TYPE > &aligner, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, const uint32 submatrix_height, uint8 &state, uint2 &sink, backtracer_type &backtracer)
 
template<uint32 CHECKPOINTS, AlignmentType TYPE, typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::alignment_traceback (const EditDistanceAligner< TYPE > aligner, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, const uint32 submatrix_width, const uint32 submatrix_height, uint8 &state, uint2 &sink, backtracer_type &backtracer)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename H_band_type , typename F_band_type , typename scoring_type , typename score_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::aln::priv::banded::init_row_zero (H_band_type &H_band, F_band_type &F_band, const scoring_type &scoring, const score_type infimum)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const GotohAligner< TYPE, scoring_type > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const GotohAligner< TYPE, scoring_type > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, const uint32 window_begin, const uint32 window_end, sink_type &sink, checkpoint_type checkpoint)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_checkpoints (const GotohAligner< TYPE, scoring_type > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink, checkpoint_type checkpoints)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::aln::priv::banded_alignment_submatrix (const GotohAligner< TYPE, scoring_type > &aligner, pattern_string pattern, qual_string quals, text_string text, const int32 min_score, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_traceback (const GotohAligner< TYPE, scoring_type > &aligner, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, const uint32 submatrix_height, uint8 &state, uint2 &sink, backtracer_type &backtracer)
 
template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename output_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::alignment_traceback (const HammingDistanceAligner< TYPE, scoring_type > aligner, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, const uint32 submatrix_width, const uint32 submatrix_height, uint8 &state, uint2 &sink, output_type &output)
 
template<uint32 BAND_WIDTH>
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int 
nvbio::aln::priv::diagonal_column (const uint32 B_c_ref, uint32 &VP, uint32 &VN)
 
template<uint32 BAND_WIDTH>
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int 
nvbio::aln::priv::horizontal_column (const uint32 B_c_ref, uint32 &VP, uint32 &VN, const int s)
 
template<uint32 BAND_WIDTH, uint32 C, AlignmentType TYPE, uint32 ALPHABET_SIZE, typename pattern_string , typename text_string , typename sink_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_myers (const pattern_string pattern, const text_string text, const int16 min_score, sink_type &sink)
 
template<uint32 BAND_LEN, AlignmentType TYPE, uint32 ALPHABET_SIZE, typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const EditDistanceAligner< TYPE, MyersTag< ALPHABET_SIZE > > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink)
 
template<uint32 BAND_LEN, AlignmentType TYPE, uint32 ALPHABET_SIZE, typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const EditDistanceAligner< TYPE, MyersTag< ALPHABET_SIZE > > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, const uint32 window_begin, const uint32 window_end, sink_type &sink, checkpoint_type checkpoint)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename band_type , typename scoring_type , typename score_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::aln::priv::banded::init_row_zero (band_type &band, const scoring_type &scoring, const score_type infimum)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const SmithWatermanAligner< TYPE, scoring_type > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink)
 
template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_score (const SmithWatermanAligner< TYPE, scoring_type > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, const uint32 window_begin, const uint32 window_end, sink_type &sink, checkpoint_type checkpoint)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_checkpoints (const SmithWatermanAligner< TYPE, scoring_type > &aligner, pattern_type pattern, qual_type quals, text_type text, const int32 min_score, sink_type &sink, checkpoint_type checkpoints)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::aln::priv::banded_alignment_submatrix (const SmithWatermanAligner< TYPE, scoring_type > &aligner, pattern_string pattern, qual_string quals, text_string text, const int32 min_score, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix)
 
template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::banded_alignment_traceback (const SmithWatermanAligner< TYPE, scoring_type > &aligner, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, const uint32 submatrix_height, uint8 &state, uint2 &sink, backtracer_type &backtracer)
 
template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename output_type >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::aln::priv::alignment_traceback (const SmithWatermanAligner< TYPE, scoring_type > aligner, checkpoint_type checkpoints, const uint32 checkpoint_id, submatrix_type submatrix, const uint32 submatrix_width, const uint32 submatrix_height, uint8 &state, uint2 &sink, output_type &output)
 

Variables

__global__ void cell_type * nvbio::aln::columns
 
__global__ void cell_type
const uint32 
nvbio::aln::stride
 
cell_type nvbio::aln::column [COLUMN_SIZE] = column_type( columns + tid, stride )
 
const uint32 nvbio::aln::thread_id = threadIdx.x + blockIdx.x*BLOCKDIM
 
const uint32 nvbio::aln::stream_end = stream.size()
 
__global__ void cell_type * nvbio::aln::checkpoints
 
__global__ void cell_type uint32 * nvbio::aln::submatrices
 

Macro Definition Documentation

#define SW_F_INITIALIZED_TO_INF

Definition at line 42 of file gotoh_banded_inl.h.

Typedef Documentation

typedef strided_iterator< cell_type * > nvbio::aln::column_type

Definition at line 115 of file batched_inl.h.

Function Documentation

template<uint32 BLOCKDIM, uint32 MINBLOCKS, uint32 BAND_LEN, typename stream_type >
__global__ void nvbio::aln::__launch_bounds__ ( BLOCKDIM  ,
MINBLOCKS   
) const

Definition at line 80 of file batched_banded_inl.h.

template<uint32 BLOCKDIM, uint32 MINBLOCKS, uint32 COLUMN_SIZE, typename stream_type , typename cell_type >
__global__ void nvbio::aln::__launch_bounds__ ( BLOCKDIM  ,
MINBLOCKS   
)
template<uint32 CHECKPOINTS, AlignmentType TYPE, typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::alignment_traceback ( const EditDistanceAligner< TYPE aligner,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
const uint32  submatrix_width,
const uint32  submatrix_height,
uint8 &  state,
uint2 &  sink,
backtracer_type &  backtracer 
)

Given the Dynamic Programming submatrix between two checkpoints, backtrace from a given destination cell, using edit distance. The function returns the resulting source cell.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
output_typea class to store the resulting list of backtracking operations. Needs to provide a single method: void push(uint8 op)
Parameters
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1.
submatrixprecalculated flow submatrix
submatrix_heightsubmatrix width
submatrix_heightsubmatrix height
sinkin/out sink of the DP solution
outputbacktracking output handler
Returns
true if the alignment source has been found, false otherwise

Definition at line 347 of file ed_inl.h.

template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename output_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::alignment_traceback ( const HammingDistanceAligner< TYPE, scoring_type >  aligner,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
const uint32  submatrix_width,
const uint32  submatrix_height,
uint8 &  state,
uint2 &  sink,
output_type &  output 
)

Given the Dynamic Programming submatrix between two checkpoints, backtrace from a given destination cell, using a Smith-Waterman scoring. The function returns the resulting source cell.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
output_typea class to store the resulting list of backtracking operations. Needs to provide a single method: void push(uint8 op)
Parameters
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1.
submatrixprecalculated flow submatrix
submatrix_heightsubmatrix width
submatrix_heightsubmatrix height
sinkin/out sink of the DP solution
outputbacktracking output handler
Returns
true if the alignment source has been found, false otherwise

Definition at line 1603 of file hamming_inl.h.

template<uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename output_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::alignment_traceback ( const SmithWatermanAligner< TYPE, scoring_type >  aligner,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
const uint32  submatrix_width,
const uint32  submatrix_height,
uint8 &  state,
uint2 &  sink,
output_type &  output 
)

Given the Dynamic Programming submatrix between two checkpoints, backtrace from a given destination cell, using a Smith-Waterman scoring. The function returns the resulting source cell.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
output_typea class to store the resulting list of backtracking operations. Needs to provide a single method: void push(uint8 op)
Parameters
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1.
submatrixprecalculated flow submatrix
submatrix_heightsubmatrix width
submatrix_heightsubmatrix height
sinkin/out sink of the DP solution
outputbacktracking output handler
Returns
true if the alignment source has been found, false otherwise

Definition at line 1653 of file sw_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_checkpoints ( const EditDistanceAligner< TYPE > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink,
checkpoint_type  checkpoints 
)

Calculate the banded edit distance between a pattern and a text string while saving "checkpoints" along the way, i.e. saving one band of the DP matrix every CHECKPOINTS rows.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 non-const indexing operator[].
Parameters
patternpattern to be aligned
qualsqualities string
texttext to align the pattern to
posoffset in the text where the pattern should start aligning
min_scoreminimum tolerated score
sinkoutput alignment sink
checkpointsoutput checkpoints

Definition at line 157 of file ed_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_checkpoints ( const SmithWatermanAligner< TYPE, scoring_type > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink,
checkpoint_type  checkpoints 
)

Calculate the banded Smith-Waterman between a pattern and a text string while saving "checkpoints" along the way, i.e. saving one band of the DP matrix every CHECKPOINTS rows.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 non-const indexing operator[].
Parameters
patternpattern to be aligned
qualsqualities string
texttext to align the pattern to
posoffset in the text where the pattern should start aligning
min_scoreminimum tolerated score
sinkoutput alignment sink
checkpointsoutput checkpoints

Definition at line 629 of file sw_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_checkpoints ( const GotohAligner< TYPE, scoring_type > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink,
checkpoint_type  checkpoints 
)

Calculate the banded Smith-Waterman between a pattern and a text string while saving "checkpoints" along the way, i.e. saving one band of the DP matrix every CHECKPOINTS rows.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 non-const indexing operator[].
Parameters
patternpattern to be aligned
qualsqualities string
texttext to align the pattern to
posoffset in the text where the pattern should start aligning
min_scoreminimum tolerated score
sinkoutput alignment sink
checkpointsoutput checkpoints

Definition at line 774 of file gotoh_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const EditDistanceAligner< TYPE > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink 
)

Calculate the banded alignment score between a pattern and a text string under the edit distance.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 63 of file ed_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const EditDistanceAligner< TYPE > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
const uint32  window_begin,
const uint32  window_end,
sink_type &  sink,
checkpoint_type  checkpoint 
)

Calculate a window of the banded edit distance Dynamic Programming alignment matrix between a pattern and a text strings. A checkpoint is used to pass the initial row and store the final one at the end of the window.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 102 of file ed_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, uint32 ALPHABET_SIZE, typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const EditDistanceAligner< TYPE, MyersTag< ALPHABET_SIZE > > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink 
)

Calculate the banded alignment score between a pattern and a text string under the edit distance.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 311 of file myers_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, uint32 ALPHABET_SIZE, typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const EditDistanceAligner< TYPE, MyersTag< ALPHABET_SIZE > > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
const uint32  window_begin,
const uint32  window_end,
sink_type &  sink,
checkpoint_type  checkpoint 
)

Calculate a window of the banded edit distance Dynamic Programming alignment matrix between a pattern and a text strings. A checkpoint is used to pass the initial row and store the final one at the end of the window.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 349 of file myers_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const SmithWatermanAligner< TYPE, scoring_type > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink 
)

Calculate the banded alignment score between a pattern and a text string using the Smith-Waterman algorithm.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 544 of file sw_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const SmithWatermanAligner< TYPE, scoring_type > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
const uint32  window_begin,
const uint32  window_end,
sink_type &  sink,
checkpoint_type  checkpoint 
)

Calculate a window of the banded alignment matrix between a pattern and a text strings, using the Smith-Waterman algorithm. A checkpoint is used to pass the initial row and store the final one at the end of the window.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 580 of file sw_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const GotohAligner< TYPE, scoring_type > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
sink_type &  sink 
)

Calculate the banded alignment score between a pattern and a text string using the Smith-Waterman algorithm.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 689 of file gotoh_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename scoring_type , typename pattern_type , typename qual_type , typename text_type , typename sink_type , typename checkpoint_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_score ( const GotohAligner< TYPE, scoring_type > &  aligner,
pattern_type  pattern,
qual_type  quals,
text_type  text,
const int32  min_score,
const uint32  window_begin,
const uint32  window_end,
sink_type &  sink,
checkpoint_type  checkpoint 
)

Calculate a window of the banded alignment matrix between a pattern and a text strings, using the Smith-Waterman algorithm. A checkpoint is used to pass the initial row and store the final one at the end of the window.

Parameters
patternshorter string (horizontal)
qualsqualities string
textlonger string (vertical)
posoffset in the reference string
sinkoutput alignment sink
Returns
false if the minimum score was not reached, true otherwise

Definition at line 725 of file gotoh_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename pattern_string , typename qual_string , typename text_string , typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::aln::priv::banded_alignment_submatrix ( const EditDistanceAligner< TYPE > &  aligner,
pattern_string  pattern,
qual_string  quals,
text_string  text,
const int32  min_score,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix 
)

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

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 H, E and F submatrix, represented as a linear array of size (BAND_LEN*CHECKPOINTS). The class has to provide the non-const indexing operator[]. Note that the H submatrix entries can assume only 3 values, while the E and F only 2 - hence the aggregate needs 4 bits per cell.
Parameters
patternpattern to be aligned
qualspattern quality scores
texttext to align the pattern to
posoffset in the text where the pattern should start aligning
min_scoreminimum tolerated score
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the submatrix location
submatrixoutput flow submatrix
Returns
submatrix height

Definition at line 218 of file ed_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::aln::priv::banded_alignment_submatrix ( const SmithWatermanAligner< TYPE, scoring_type > &  aligner,
pattern_string  pattern,
qual_string  quals,
text_string  text,
const int32  min_score,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix 
)

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

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 H, E and F submatrix, represented as a linear array of size (BAND_LEN*CHECKPOINTS). The class has to provide the non-const indexing operator[]. Note that the H submatrix entries can assume only 3 values, while the E and F only 2 - hence the aggregate needs 4 bits per cell.
Parameters
patternpattern to be aligned
qualspattern quality scores
texttext to align the pattern to
posoffset in the text where the pattern should start aligning
min_scoreminimum tolerated score
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the submatrix location
submatrixoutput flow submatrix
Returns
submatrix height

Definition at line 686 of file sw_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename pattern_string , typename qual_string , typename text_string , typename checkpoint_type , typename submatrix_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE uint32 nvbio::aln::priv::banded_alignment_submatrix ( const GotohAligner< TYPE, scoring_type > &  aligner,
pattern_string  pattern,
qual_string  quals,
text_string  text,
const int32  min_score,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix 
)

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

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 H, E and F submatrix, represented as a linear array of size (BAND_LEN*CHECKPOINTS). The class has to provide the non-const indexing operator[]. Note that the H submatrix entries can assume only 3 values, while the E and F only 2 - hence the aggregate needs 4 bits per cell.
Parameters
patternpattern to be aligned
qualspattern quality scores
texttext to align the pattern to
posoffset in the text where the pattern should start aligning
min_scoreminimum tolerated score
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the submatrix location
submatrixoutput flow submatrix
Returns
submatrix height

Definition at line 831 of file gotoh_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_traceback ( const EditDistanceAligner< TYPE > &  aligner,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
const uint32  submatrix_height,
uint8 &  state,
uint2 &  sink,
backtracer_type &  backtracer 
)

Given the banded edit distance Dynamic Programming submatrix between two checkpoints, backtrack from a given destination cell. The function returns the resulting source cell.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
backtracer_typea class to store the resulting list of backtracking operations. A model of Backtracer Model.
Parameters
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1.
submatrixprecalculated flow submatrix
submatrix_heightsubmatrix height
sinkin/out sink of the DP solution
backtracerbacktracking output handler
statematrix state, unused.
Returns
true if the alignment source has been found, false otherwise

Definition at line 281 of file ed_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_traceback ( const SmithWatermanAligner< TYPE, scoring_type > &  aligner,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
const uint32  submatrix_height,
uint8 &  state,
uint2 &  sink,
backtracer_type &  backtracer 
)

Given the Dynamic Programming submatrix between two checkpoints, backtrack from a given destination cell. The function returns the resulting source cell.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
backtracer_typea class to store the resulting list of backtracking operations. A model of Backtracer Model.
Parameters
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1.
submatrixprecalculated flow submatrix
submatrix_heightsubmatrix height
sinkin/out sink of the DP solution
backtracerbacktracking output handler
statematrix state, unused.
Returns
true if the alignment source has been found, false otherwise

Definition at line 749 of file sw_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, AlignmentType TYPE, typename scoring_type , typename checkpoint_type , typename submatrix_type , typename backtracer_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_alignment_traceback ( const GotohAligner< TYPE, scoring_type > &  aligner,
checkpoint_type  checkpoints,
const uint32  checkpoint_id,
submatrix_type  submatrix,
const uint32  submatrix_height,
uint8 &  state,
uint2 &  sink,
backtracer_type &  backtracer 
)

Given the Dynamic Programming submatrix between two checkpoints, backtrack from a given destination cell. The function returns the resulting source cell.

Template Parameters
BAND_LENsize of the DP band
CHECKPOINTSnumber of DP rows between each checkpoint
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 const indexing operator[]. Note that the submatrix entries can assume only 3 values, and could hence be packed in 2 bits.
backtracer_typea class to store the resulting list of backtracking operations. A model of Backtracer Model.
Parameters
checkpointsprecalculated checkpoints
checkpoint_idindex of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1.
submatrixprecalculated flow submatrix
submatrix_heightsubmatrix height
sinkin/out sink of the DP solution
backtracerbacktracking output handler
statewhich matrix (H/E/F) the backtracker is at, starting where it ended from the previous checkpoint/submatrix
Returns
true if the alignment source has been found, false otherwise

Definition at line 895 of file gotoh_banded_inl.h.

template<uint32 BAND_WIDTH, uint32 C, AlignmentType TYPE, uint32 ALPHABET_SIZE, typename pattern_string , typename text_string , typename sink_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE bool nvbio::aln::priv::banded_myers ( const pattern_string  pattern,
const text_string  text,
const int16  min_score,
sink_type &  sink 
)

Definition at line 235 of file myers_banded_inl.h.

template<typename stream_type , typename column_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::batched_alignment_score ( stream_type &  stream,
column_type  column,
const uint32  work_id,
const uint32  thread_id 
)

Definition at line 50 of file batched_inl.h.

nvbio::aln::batched_alignment_score ( stream  ,
column  ,
tid  ,
tid   
)
template<uint32 CHECKPOINTS, typename stream_type , typename cell_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::batched_alignment_traceback ( stream_type &  stream,
cell_type *  checkpoints,
uint32 *  submatrices,
cell_type *  columns,
const uint32  stride,
const uint32  work_id,
const uint32  thread_id 
)

Definition at line 614 of file batched_inl.h.

nvbio::aln::batched_alignment_traceback< CHECKPOINTS > ( stream  ,
checkpoints  ,
submatrices  ,
columns  ,
stride  ,
tid  ,
tid   
)
template<uint32 BAND_LEN, typename stream_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::batched_banded_alignment_score ( const stream_type &  stream,
const uint32  work_id 
)

Definition at line 45 of file batched_banded_inl.h.

template<uint32 BAND_LEN, uint32 CHECKPOINTS, typename stream_type , typename cell_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::batched_banded_alignment_traceback ( stream_type &  stream,
cell_type *  checkpoints,
uint32 *  submatrices,
const uint32  stride,
const uint32  work_id,
const uint32  thread_id 
)

Definition at line 250 of file batched_banded_inl.h.

template<uint32 BLOCKDIM, uint32 BAND_LEN, uint32 CHECKPOINTS, typename stream_type , typename cell_type >
__global__ void nvbio::aln::batched_banded_alignment_traceback_kernel ( stream_type  stream,
cell_type *  checkpoints,
uint32 *  submatrices,
const uint32  stride 
)

Definition at line 300 of file batched_banded_inl.h.

template<uint32 BAND_WIDTH>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int nvbio::aln::priv::diagonal_column ( const uint32  B_c_ref,
uint32 &  VP,
uint32 &  VN 
)

Definition at line 198 of file myers_banded_inl.h.

nvbio::aln::for ( )

Definition at line 136 of file batched_inl.h.

template<uint32 BAND_WIDTH>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int nvbio::aln::priv::horizontal_column ( const uint32  B_c_ref,
uint32 &  VP,
uint32 &  VN,
const int  s 
)

Definition at line 213 of file myers_banded_inl.h.

nvbio::aln::if ( tid >=stream.  size())
template<uint32 BAND_LEN, AlignmentType TYPE, typename band_type , typename scoring_type , typename score_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::priv::banded::init_row_zero ( band_type &  band,
const scoring_type &  scoring,
const score_type  infimum 
)

Definition at line 46 of file sw_banded_inl.h.

template<uint32 BAND_LEN, AlignmentType TYPE, typename H_band_type , typename F_band_type , typename scoring_type , typename score_type >
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE void nvbio::aln::priv::banded::init_row_zero ( H_band_type &  H_band,
F_band_type &  F_band,
const scoring_type &  scoring,
const score_type  infimum 
)

Definition at line 48 of file gotoh_banded_inl.h.

template<uint32 BLOCKDIM, uint32 BAND_LEN, uint32 CHECKPOINTS, typename stream_type , typename cell_type >
__global__ void nvbio::aln::persistent_banded_batched_alignment_traceback_kernel ( stream_type  stream,
cell_type *  checkpoints,
uint32 *  submatrices,
const uint32  stride 
)

Definition at line 311 of file batched_banded_inl.h.

template<uint32 BLOCKDIM, typename stream_type , typename cell_type >
NVBIO_FORCEINLINE NVBIO_DEVICE void nvbio::aln::warp_batched_alignment_score ( stream_type &  stream,
cell_type *  columns,
const uint32  stride,
const uint32  work_id,
const uint32  warp_id 
)

Definition at line 147 of file batched_inl.h.

template<uint32 BLOCKDIM, typename stream_type , typename cell_type >
__global__ void nvbio::aln::warp_batched_alignment_score_kernel ( stream_type  stream,
cell_type *  columns,
const uint32  stride 
)

Definition at line 199 of file batched_inl.h.

template<uint32 BLOCKDIM, typename stream_type , typename cell_type >
__global__ void nvbio::aln::warp_persistent_batched_alignment_score_kernel ( stream_type  stream,
cell_type *  columns,
const uint32  stride 
)

Definition at line 210 of file batched_inl.h.

Variable Documentation

__global__ void cell_type * nvbio::aln::checkpoints

Definition at line 669 of file batched_inl.h.

column_type nvbio::aln::column = column_type( columns + tid, stride )

Definition at line 99 of file batched_inl.h.

__global__ void cell_type uint32 cell_type * nvbio::aln::columns

Definition at line 91 of file batched_inl.h.

const uint32 nvbio::aln::stream_end = stream.size()

Definition at line 129 of file batched_inl.h.

__global__ void cell_type uint32 cell_type const uint32 nvbio::aln::stride
Initial value:
{
const uint32 tid = blockIdx.x * BLOCKDIM + threadIdx.x

Definition at line 92 of file batched_inl.h.

__global__ void cell_type uint32 * nvbio::aln::submatrices

Definition at line 669 of file batched_inl.h.

const uint32 nvbio::aln::thread_id = threadIdx.x + blockIdx.x*BLOCKDIM

Definition at line 127 of file batched_inl.h.