NVBIO
|
The functions in this module implement a pipeline stage in which, for all the active reads in the ScoringQueues, a group of seed hits is selected for a new round of Scoring. In terms of inputs and outputs, this stage takes the set of input ScoringQueues::active_reads, and fills the ScoringQueues::hits with a new set of hits, writing the HitQueues::read_id, HitQueues::seed, and HitQueues::loc fields. The hits' location specified by the HitQueues::loc field is expressed in Suffix Array coordinates. Finally, this stage is also responsible for producing a new set of ScoringQueues::active_reads.
inputs:
outputs:
Modules | |
SelectDetail | |
Classes | |
struct | nvbio::bowtie2::cuda::SelectBestApproxContext |
Functions | |
void | nvbio::bowtie2::cuda::select_init (const uint32 count, const char *read_names, const uint32 *read_names_idx, const SeedHitDequeArrayDeviceView hits, uint32 *trys, uint32 *rseeds, const ParamsPOD params) |
void | nvbio::bowtie2::cuda::select_init (BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD ¶ms) |
void | nvbio::bowtie2::cuda::select_init (BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD ¶ms) |
__global__ void | nvbio::bowtie2::cuda::select_n_from_top_range_kernel (const uint32 begin, const uint32 count, const uint32 n_reads, const SeedHit *hit_data, const uint32 *hit_range_scan, uint32 *loc_queue, uint32 *seed_queue, uint32 *read_info) |
void | nvbio::bowtie2::cuda::select (const SelectBestApproxContext context, const BestApproxScoringPipelineState< EditDistanceScoringScheme > &pipeline, const ParamsPOD params) |
void | nvbio::bowtie2::cuda::select (const SelectBestApproxContext context, const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > &pipeline, const ParamsPOD params) |
void | nvbio::bowtie2::cuda::select_all (const uint64 begin, const uint32 count, const uint32 n_reads, const uint32 n_hit_ranges, const uint64 n_hits, const SeedHitDequeArrayDeviceView hits, const uint32 *hit_count_scan, const uint64 *hit_range_scan, HitQueuesDeviceView scoring_queues) |
template<typename ScoringScheme > | |
void | nvbio::bowtie2::cuda::select_init_t (BestApproxScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD ¶ms) |
template<typename BatchType , typename ContextType > | |
void | nvbio::bowtie2::cuda::select (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, const ContextType context, ScoringQueuesDeviceView scoring_queues, const ParamsPOD params) |
template<typename BatchType , typename ContextType > | |
void | nvbio::bowtie2::cuda::rand_select (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const ParamsPOD params) |
template<typename BatchType , typename ContextType > | |
void | nvbio::bowtie2::cuda::select_multi (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params) |
template<typename BatchType , typename ContextType > | |
void | nvbio::bowtie2::cuda::select (const BatchType read_batch, SeedHitDequeArrayDeviceView hits, uint32 *rseeds, const ContextType context, ScoringQueuesDeviceView scoring_queues, const uint32 n_multi, const ParamsPOD params) |
template<typename ScoringScheme , typename ContextType > | |
void | nvbio::bowtie2::cuda::select_t (const ContextType context, const BestApproxScoringPipelineState< ScoringScheme > &pipeline, const ParamsPOD params) |
void nvbio::bowtie2::cuda::rand_select | ( | const BatchType | read_batch, |
SeedHitDequeArrayDeviceView | hits, | ||
uint32 * | rseeds, | ||
const ContextType | context, | ||
ScoringQueuesDeviceView | scoring_queues, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting the next SA row from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
Definition at line 638 of file select_inl.h.
void nvbio::bowtie2::cuda::select | ( | const BatchType | read_batch, |
SeedHitDequeArrayDeviceView | hits, | ||
const ContextType | context, | ||
ScoringQueuesDeviceView | scoring_queues, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting the next SA row from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
// group nvBowtie
Definition at line 617 of file select_inl.h.
void nvbio::bowtie2::cuda::select | ( | const BatchType | read_batch, |
SeedHitDequeArrayDeviceView | hits, | ||
uint32 * | rseeds, | ||
const ContextType | context, | ||
ScoringQueuesDeviceView | scoring_queues, | ||
const uint32 | n_multi, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting the next SA row from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
Definition at line 726 of file select_inl.h.
void nvbio::bowtie2::cuda::select | ( | const SelectBestApproxContext | context, |
const BestApproxScoringPipelineState< EditDistanceScoringScheme > & | pipeline, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting the next SA row from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
void nvbio::bowtie2::cuda::select | ( | const SelectBestApproxContext | context, |
const BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > & | pipeline, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting the next SA row from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
void nvbio::bowtie2::cuda::select_all | ( | const uint64 | begin, |
const uint32 | count, | ||
const uint32 | n_reads, | ||
const uint32 | n_hit_ranges, | ||
const uint64 | n_hits, | ||
const SeedHitDequeArrayDeviceView | hits, | ||
const uint32 * | hit_count_scan, | ||
const uint64 * | hit_range_scan, | ||
HitQueuesDeviceView | scoring_queues | ||
) |
Select next hit extensions for all-mapping
void nvbio::bowtie2::cuda::select_init | ( | const uint32 | count, |
const char * | read_names, | ||
const uint32 * | read_names_idx, | ||
const SeedHitDequeArrayDeviceView | hits, | ||
uint32 * | trys, | ||
uint32 * | rseeds, | ||
const ParamsPOD | params | ||
) |
Initialize the hit-selection pipeline
void nvbio::bowtie2::cuda::select_init | ( | BestApproxScoringPipelineState< EditDistanceScoringScheme > & | pipeline, |
const ParamsPOD & | params | ||
) |
Initialize the hit-selection pipeline
void nvbio::bowtie2::cuda::select_init | ( | BestApproxScoringPipelineState< SmithWatermanScoringScheme<> > & | pipeline, |
const ParamsPOD & | params | ||
) |
Initialize the hit-selection pipeline
void nvbio::bowtie2::cuda::select_init_t | ( | BestApproxScoringPipelineState< ScoringScheme > & | pipeline, |
const ParamsPOD & | params | ||
) |
Initialize the hit-selection pipeline
Definition at line 50 of file select_inl.h.
void nvbio::bowtie2::cuda::select_multi | ( | const BatchType | read_batch, |
SeedHitDequeArrayDeviceView | hits, | ||
const ContextType | context, | ||
ScoringQueuesDeviceView | scoring_queues, | ||
const uint32 | n_multi, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting a set of up to 'n_multi' SA rows from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
For each read in the input queue, this kernel generates:
Definition at line 670 of file select_inl.h.
__global__ void nvbio::bowtie2::cuda::select_n_from_top_range_kernel | ( | const uint32 | begin, |
const uint32 | count, | ||
const uint32 | n_reads, | ||
const SeedHit * | hit_data, | ||
const uint32 * | hit_range_scan, | ||
uint32 * | loc_queue, | ||
uint32 * | seed_queue, | ||
uint32 * | read_info | ||
) |
select next hit extensions from the top seed ranges
void nvbio::bowtie2::cuda::select_t | ( | const ContextType | context, |
const BestApproxScoringPipelineState< ScoringScheme > & | pipeline, | ||
const ParamsPOD | params | ||
) |
Prepare for a round of seed extension by selecting the next SA row from each of the seed-hit deque arrays (SeedHitDequeArray) bound to the active-reads in the scoring queues (ScoringQueues::active_reads).
Definition at line 793 of file select_inl.h.