53 template <
typename AlignerType,
typename PipelineType>
72 const PipelineType _pipeline,
73 const AlignerType _aligner,
107 const uint32 read_rc = hit.seed.rc;
108 const uint32 read_id = hit.read_id;
116 const uint32 o_read_len = o_read_range.y - o_read_range.x;
121 const uint32 a_read_len = a_read_range.y - a_read_range.x;
127 a_optimal_score + o_optimal_score );
129 int32 target_mate_score = target_pair_score - o_optimal_score;
138 target_mate_score =
nvbio::max( target_mate_score, a_worst_score );
143 context->read_rc = read_rc;
144 context->read_id = read_id;
145 context->read_range = a_read_range;
148 const uint32 g_pos = hit.loc;
159 (context->min_score > a_optimal_score);
178 hit.
score = (sink.
score >= context->min_score) ? sink.
score : scheme_type::worst_score;
179 hit.
sink = context->genome_begin + sink.
sink.x;
182 NVBIO_CUDA_DEBUG_PRINT_IF(
base_type::m_params.debug.show_score( context->read_id, (sink.
score >= context->min_score) ),
"score anchor: %d (min[%d], mate[%u], rc[%u], pos[%u], [qid %u])\n", sink.
score, context->min_score,
base_type::m_pipeline.anchor, context->read_rc, context->genome_begin, i );
191 template <
typename aligner_type,
typename pipeline_type>
194 const pipeline_type& pipeline,
195 const aligner_type aligner,
198 const uint32 static_band_len =
199 (band_len < 4) ? 3u :
200 (band_len < 8) ? 7u :
201 (band_len < 16) ? 15u :
219 batch.
enact( stream, pipeline.dp_buffer_size, pipeline.dp_buffer );
221 else if (band_len < 8)
225 batch.
enact( stream, pipeline.dp_buffer_size, pipeline.dp_buffer );
227 else if (band_len < 16)
231 batch.
enact( stream, pipeline.dp_buffer_size, pipeline.dp_buffer );
237 batch.
enact( stream, pipeline.dp_buffer_size, pipeline.dp_buffer );
250 template <
typename scheme_type>