NVBIO
|
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 |
#define SW_F_INITIALIZED_TO_INF |
Definition at line 42 of file gotoh_banded_inl.h.
typedef strided_iterator< cell_type * > nvbio::aln::column_type |
Definition at line 115 of file batched_inl.h.
__global__ void nvbio::aln::__launch_bounds__ | ( | BLOCKDIM | , |
MINBLOCKS | |||
) | const |
Definition at line 80 of file batched_banded_inl.h.
__global__ void nvbio::aln::__launch_bounds__ | ( | BLOCKDIM | , |
MINBLOCKS | |||
) |
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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_type | a class to store the resulting list of backtracking operations. Needs to provide a single method: void push(uint8 op) |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1. |
submatrix | precalculated flow submatrix |
submatrix_height | submatrix width |
submatrix_height | submatrix height |
sink | in/out sink of the DP solution |
output | backtracking output handler |
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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_type | a class to store the resulting list of backtracking operations. Needs to provide a single method: void push(uint8 op) |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1. |
submatrix | precalculated flow submatrix |
submatrix_height | submatrix width |
submatrix_height | submatrix height |
sink | in/out sink of the DP solution |
output | backtracking output handler |
Definition at line 1603 of file hamming_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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_type | a class to store the resulting list of backtracking operations. Needs to provide a single method: void push(uint8 op) |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1. |
submatrix | precalculated flow submatrix |
submatrix_height | submatrix width |
submatrix_height | submatrix height |
sink | in/out sink of the DP solution |
output | backtracking output handler |
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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[]. |
pattern | pattern to be aligned |
quals | qualities string |
text | text to align the pattern to |
pos | offset in the text where the pattern should start aligning |
min_score | minimum tolerated score |
sink | output alignment sink |
checkpoints | output checkpoints |
Definition at line 157 of file ed_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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[]. |
pattern | pattern to be aligned |
quals | qualities string |
text | text to align the pattern to |
pos | offset in the text where the pattern should start aligning |
min_score | minimum tolerated score |
sink | output alignment sink |
checkpoints | output checkpoints |
Definition at line 629 of file sw_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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[]. |
pattern | pattern to be aligned |
quals | qualities string |
text | text to align the pattern to |
pos | offset in the text where the pattern should start aligning |
min_score | minimum tolerated score |
sink | output alignment sink |
checkpoints | output checkpoints |
Definition at line 774 of file gotoh_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 63 of file ed_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 102 of file ed_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 311 of file myers_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 349 of file myers_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 544 of file sw_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 580 of file sw_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 689 of file gotoh_banded_inl.h.
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.
pattern | shorter string (horizontal) |
quals | qualities string |
text | longer string (vertical) |
pos | offset in the reference string |
sink | output alignment sink |
Definition at line 725 of file gotoh_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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. |
pattern | pattern to be aligned |
quals | pattern quality scores |
text | text to align the pattern to |
pos | offset in the text where the pattern should start aligning |
min_score | minimum tolerated score |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the submatrix location |
submatrix | output flow submatrix |
Definition at line 218 of file ed_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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. |
pattern | pattern to be aligned |
quals | pattern quality scores |
text | text to align the pattern to |
pos | offset in the text where the pattern should start aligning |
min_score | minimum tolerated score |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the submatrix location |
submatrix | output flow submatrix |
Definition at line 686 of file sw_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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. |
pattern | pattern to be aligned |
quals | pattern quality scores |
text | text to align the pattern to |
pos | offset in the text where the pattern should start aligning |
min_score | minimum tolerated score |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the submatrix location |
submatrix | output flow submatrix |
Definition at line 831 of file gotoh_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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_type | a class to store the resulting list of backtracking operations. A model of Backtracer Model. |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1. |
submatrix | precalculated flow submatrix |
submatrix_height | submatrix height |
sink | in/out sink of the DP solution |
backtracer | backtracking output handler |
state | matrix state, unused. |
Definition at line 281 of file ed_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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_type | a class to store the resulting list of backtracking operations. A model of Backtracer Model. |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1. |
submatrix | precalculated flow submatrix |
submatrix_height | submatrix height |
sink | in/out sink of the DP solution |
backtracer | backtracking output handler |
state | matrix state, unused. |
Definition at line 749 of file sw_banded_inl.h.
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.
BAND_LEN | size of the DP band |
CHECKPOINTS | number of DP rows between each checkpoint |
checkpoint_type | a 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_type | a 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_type | a class to store the resulting list of backtracking operations. A model of Backtracer Model. |
checkpoints | precalculated checkpoints |
checkpoint_id | index of the first checkpoint defining the DP submatrix, storing all bands between checkpoint_id and checkpoint_id+1. |
submatrix | precalculated flow submatrix |
submatrix_height | submatrix height |
sink | in/out sink of the DP solution |
backtracer | backtracking output handler |
state | which matrix (H/E/F) the backtracker is at, starting where it ended from the previous checkpoint/submatrix |
Definition at line 895 of file gotoh_banded_inl.h.
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.
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 | |||
) |
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 | |||
) |
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.
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.
__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.
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.
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()) |
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.
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.
__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.
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.
__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.
__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.
__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 |
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.