NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Functions
nvbio::bowtie2::cuda::detail Namespace Reference

Classes

struct  Backtracker
 
struct  AlignmentStrings
 
struct  AlignmentStreamContext
 
struct  AlignmentStreamContext< SCORE_STREAM >
 
struct  AlignmentStreamContext< OPPOSITE_SCORE_STREAM >
 
struct  AlignmentStreamContext< TRACEBACK_STREAM >
 
struct  AlignmentStreamBase
 
struct  seed_mapper
 abstract seed-mapper interface More...
 
struct  seed_mapper< EXACT_MAPPING >
 
struct  seed_mapper< APPROX_MAPPING >
 
struct  seed_mapper< CASE_PRUNING_MAPPING >
 
struct  AllScoreStream
 
struct  BestScoreStream
 
struct  BestOppositeScoreStream
 
struct  BestAnchorScoreStream
 
struct  BestTracebackStream
 
struct  AllTracebackStream
 

Enumerations

enum  AlignmentStreamType { SCORE_STREAM = 0, OPPOSITE_SCORE_STREAM = 1, TRACEBACK_STREAM = 2 }
 
enum  { CHECK_EXACT =1u, IGNORE_EXACT =0u }
 
enum  MappingAlgorithm { EXACT_MAPPING = 0u, APPROX_MAPPING = 1u, CASE_PRUNING_MAPPING = 2u }
 

Functions

NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
frame_opposite_mate (const int policy, const uint32 anchor, const bool anchor_fw, bool &left, bool &fw)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
compute_target_score (const io::BestPairedAlignments &best, const int32 a_worst_score, const int32 o_worst_score)
 
template<typename FMType , typename rFMType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
locate (const FMType &fmi, const rFMType &rfmi, const uint32 dir, const uint32 r)
 
template<typename FMType , typename rFMType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint2 
locate_init (const FMType &fmi, const rFMType &rfmi, const uint32 dir, const uint32 r)
 
template<typename FMType , typename rFMType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
locate_lookup (const FMType &fmi, const rFMType &rfmi, const uint32 dir, const uint2 it)
 
template<typename BatchType , typename FMType , typename rFMType >
__global__ void locate_kernel (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 in_count, const uint32 *idx_queue, HitQueuesDeviceView hits, const ParamsPOD params)
 
template<typename BatchType , typename FMType , typename rFMType >
__global__ void locate_init_kernel (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 in_count, const uint32 *idx_queue, HitQueuesDeviceView hits, const ParamsPOD params)
 
template<typename BatchType , typename FMType , typename rFMType >
__global__ void locate_lookup_kernel (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 in_count, const uint32 *idx_queue, HitQueuesDeviceView hits, const ParamsPOD params)
 
template<typename index_iterator , typename flags_iterator >
__global__ void mark_straddling_kernel (const uint32 in_count, const uint32 *idx_queue, const uint32 reference_count, const index_iterator reference_index, HitQueuesDeviceView hits, flags_iterator flags, const ParamsPOD params)
 
template<typename ReadStream >
NVBIO_DEVICE NVBIO_FORCEINLINE bool check_N (const ReadStream &seed, const uint32 exact_len, const uint32 seed_len)
 
template<typename FMType , typename StreamType >
NVBIO_DEVICE NVBIO_FORCEINLINE
uint2 
match_range (uint2 range, const FMType index, StreamType query, uint32 begin, uint32 end)
 
NVBIO_DEVICE NVBIO_FORCEINLINE void store_deque (SeedHitDequeArrayDeviceView hit_deques, const uint32 read_id, const uint32 n_hits, const SeedHit *hitstorage)
 
template<bool find_exact, typename Stream , typename FMType , typename HitType >
NVBIO_DEVICE NVBIO_FORCEINLINE void map (const Stream query, uint32 len1, const uint32 len2, const FMType index, const SeedHit::Flags hit_flags, HitType &hitheap, uint32 max_hits, uint32 &range_sum, uint32 &range_count)
 
template<typename BatchType , typename FMType , typename rFMType >
__global__ void map_whole_read_kernel (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<MappingAlgorithm ALGO, typename BatchType , typename FMType , typename rFMType >
__global__ void map_queues_kernel (const BatchType read_batch, const FMType fmi, const rFMType rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<MappingAlgorithm ALGO, typename BatchType , typename FMType , typename rFMType >
__global__ void map_kernel (const BatchType read_batch, const FMType fmi, const rFMType rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename ScoringScheme , typename PipelineType , typename ReduceContext >
__global__ void score_reduce_kernel (const ReduceContext context, PipelineType pipeline, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
update_best (const uint32 read_id, io::BestPairedAlignments &best_pairs, const io::PairedAlignments &pair, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
replace_best (const uint32 read_id, io::BestPairedAlignments &best_pairs, const io::PairedAlignments &pair, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
update_second (const uint32 read_id, io::BestPairedAlignments &best_pairs, const io::PairedAlignments &pair, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
try_update (const uint32 read_id, io::BestPairedAlignments &best_pairs, const io::PairedAlignments &pair, const uint32 min_distance, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
update_best (const uint32 read_id, io::Alignment &a1, io::Alignment &a2, const io::Alignment &a, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
replace_best (const uint32 read_id, io::Alignment &a1, io::Alignment &a2, const io::Alignment &a, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
update_second (const uint32 read_id, io::Alignment &a1, io::Alignment &a2, const io::Alignment &a, ReduceContext &context, const ParamsPOD params)
 
template<typename ReduceContext >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
try_update (const uint32 read_id, io::Alignment &a1, io::Alignment &a2, const io::Alignment &a, const uint32 min_distance, ReduceContext &context, const ParamsPOD params)
 
template<typename ScoringScheme , typename PipelineType , typename ReduceContext >
__global__ void score_reduce_paired_kernel (const ReduceContext context, PipelineType pipeline, const ParamsPOD params)
 
template<typename aligner_type , typename pipeline_type >
void banded_score_all (const uint32 band_len, const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params, const uint32 buffer_offset, const uint32 buffer_size, uint32 *counter)
 
template<typename aligner_type , typename pipeline_type >
void banded_score_best (const uint32 band_len, const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params)
 
template<typename aligner_type , typename pipeline_type >
void opposite_score_best (const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params)
 
template<typename aligner_type , typename pipeline_type >
void banded_anchor_score_best (const uint32 band_len, const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params)
 
template<uint32 ALN_IDX, typename aligner_type , typename pipeline_type >
void banded_traceback_best (const MateType mate_type, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params)
 
template<uint32 ALN_IDX, typename aligner_type , typename pipeline_type >
void traceback_best (const MateType mate_type, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params)
 
template<typename aligner_type , typename pipeline_type >
void banded_traceback_all (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const pipeline_type &pipeline, const aligner_type aligner, const ParamsPOD params)
 
template<typename stream_type , typename scheme_type , typename pipeline_type >
__global__ void finish_alignment_kernel (stream_type stream, pipeline_type pipeline, const scheme_type scoring_scheme, const ParamsPOD params)
 
template<uint32 ALN_IDX, typename scheme_type , typename pipeline_type >
void finish_alignment_best (const MateType mate_type, const uint32 count, const uint32 *idx, io::Alignment *best_data, const uint32 best_stride, const uint32 band_len, const pipeline_type &pipeline, const scheme_type scoring_scheme, const ParamsPOD params)
 
template<typename scheme_type , typename pipeline_type >
void finish_alignment_all (const uint32 count, const uint32 *idx, const uint32 buffer_offset, const uint32 buffer_size, io::Alignment *alignments, const uint32 band_len, const pipeline_type &pipeline, const scheme_type scoring_scheme, const ParamsPOD params)