57 typename algorithm_tag,
58 typename pattern_string,
82 template <
typename sink_type>
86 const pattern_string pattern,
87 const qual_string quals,
88 const text_string
text,
89 const int32 min_score,
93 typedef typename pattern_string::value_type symbol_type;
99 const uint32 length = equal<algorithm_tag,PatternBlockingTag>() ? pattern.length() : text.length();
101 return sw_alignment_score_dispatch<BAND_LEN,TYPE,algorithm_tag,symbol_type>::run(
EditDistanceSWScheme(), context, pattern, quals, text, min_score, sink, 0, length, column );
121 typename checkpoint_type>
125 const pattern_string pattern,
126 const qual_string quals,
127 const text_string
text,
128 const int32 min_score,
129 const uint32 window_begin,
132 checkpoint_type checkpoint,
135 typedef typename pattern_string::value_type symbol_type;
141 return sw_alignment_score_dispatch<BAND_LEN,TYPE,algorithm_tag,symbol_type>::run(
EditDistanceSWScheme(), context, pattern, quals, text, min_score, sink, window_begin, window_end, column );
156 template <
typename sink_type>
160 const pattern_string pattern,
161 const qual_string quals,
162 const text_string
text,
163 const int32 min_score,
164 const uint32 window_begin,
169 typedef typename pattern_string::value_type symbol_type;
175 return sw_alignment_score_dispatch<BAND_LEN,TYPE,algorithm_tag,symbol_type>::run(
EditDistanceSWScheme(), context, pattern, quals, text, min_score, sink, window_begin, window_end, column );
191 typename pattern_string,
192 typename qual_string,
193 typename text_string,
226 typename checkpoint_type>
231 const pattern_string pattern,
232 const qual_string quals,
233 const text_string
text,
234 const int32 min_score,
239 typedef typename pattern_string::value_type symbol_type;
245 sw_alignment_score_dispatch<BAND_LEN,TYPE,PatternBlockingTag,symbol_type>::run(
EditDistanceSWScheme(), context, pattern, quals, text, min_score, sink, 0, pattern.length(),
column );
273 typename checkpoint_type,
274 typename submatrix_type>
279 const pattern_string pattern,
280 const qual_string quals,
281 const text_string
text,
282 const int32 min_score,
284 const uint32 checkpoint_id,
285 submatrix_type submatrix,
288 typedef typename pattern_string::value_type symbol_type;
293 context( checkpoints, checkpoint_id, submatrix );
295 const uint32 window_begin = checkpoint_id * CHECKPOINTS;
299 sw_alignment_score_dispatch<BAND_LEN,TYPE,PatternBlockingTag,symbol_type>::run(
EditDistanceSWScheme(), context, pattern, quals, text, min_score, null_sink, window_begin, window_end, column );
301 return window_end - window_begin;
343 typename checkpoint_type,
344 typename submatrix_type,
345 typename backtracer_type>
350 const uint32 checkpoint_id,
351 submatrix_type submatrix,
352 const uint32 submatrix_width,
353 const uint32 submatrix_height,
356 backtracer_type& backtracer)
358 return alignment_traceback<CHECKPOINTS>(