NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | Static Public Methods | Public Members | Static Public Members | List of all members
nvbio::bowtie2::cuda::Aligner Struct Reference

Detailed description

Definition at line 78 of file aligner.h.

#include <aligner.h>

Public Types

typedef FMIndexDef::type fmi_type
 
typedef FMIndexDef::type rfmi_type
 
typedef ReadsDef::read_storage_type read_storage_type
 
typedef ReadsDef::read_base_type read_base_type
 
typedef ReadsDef::read_qual_type read_qual_type
 
typedef ReadsDef::read_view_type read_view_type
 
typedef ReadsDef::type read_batch_type
 
typedef io::LdgSequenceDataView genome_view_type
 
typedef io::SequenceDataAccess
< DNA, genome_view_type
genome_access_type
 
typedef
genome_access_type::sequence_stream_type 
genome_iterator
 

Public Methods

 Aligner ()
 
bool init (const uint32 id, const uint32 batch_size, const Params &params, const EndType type)
 
void keep_stats (const uint32 count, Stats &stats)
 
template<typename scoring_tag >
void best_approx (const Params &params, const fmi_type fmi, const rfmi_type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, const io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, Stats &stats)
 
template<typename scoring_tag , typename scoring_scheme_type >
void best_approx_score (const Params &params, const fmi_type fmi, const rfmi_type rfmi, const scoring_scheme_type &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, const io::SequenceDataDevice &read_data, const uint32 seeding_pass, const uint32 seed_queue_size, const uint32 *seed_queue, Stats &stats)
 
template<typename scoring_tag >
void best_approx (const Params &params, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, const io::SequenceDataDevice &read_data1, const io::SequenceDataDevice &read_data2, io::HostOutputBatchPE &cpu_batch, Stats &stats)
 
template<typename scoring_tag , typename scoring_scheme_type >
void best_approx_score (const Params &params, const fmi_type fmi, const rfmi_type rfmi, const scoring_scheme_type &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, const uint32 anchor, const io::SequenceDataDevice &read_data1, const io::SequenceDataDevice &read_data2, const uint32 seeding_pass, const uint32 seed_queue_size, const uint32 *seed_queue, Stats &stats)
 
template<typename scoring_tag >
void all (const Params &params, const fmi_type fmi, const rfmi_type rfmi, const UberScoringScheme &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, const io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, Stats &stats)
 
template<typename scoring_scheme_type >
void score_all (const Params &params, const fmi_type fmi, const rfmi_type rfmi, const UberScoringScheme &input_scoring_scheme, const scoring_scheme_type &scoring_scheme, const io::SequenceDataDevice &reference_data, const io::FMIndexDataDevice &driver_data, const io::SequenceDataDevice &read_data, io::HostOutputBatchSE &cpu_batch, const uint32 seed_queue_size, const uint32 *seed_queue, Stats &stats, uint64 &total_alignments)
 
std::pair< uint32 *, uint64 * > sort_64_bits (const uint32 count)
 
uint32sort_hi_bits (const uint32 count, const uint32 *keys)
 
void sort_inplace (const uint32 count, uint32 *keys)
 
bool init_alloc (const uint32 BATCH_SIZE, const Params &params, const EndType type, bool do_alloc, std::pair< uint64, uint64 > *mem_stats=NULL)
 

Static Public Methods

static uint32 band_length (const uint32 max_dist)
 

Public Members

uint32 ID
 
uint32 BATCH_SIZE
 
thrust::device_vector< uint8dp_buffer_dvec
 
uint8dp_buffer_dptr
 
SeedHitDequeArray hit_deques
 
nvbio::cuda::PingPongQueues
< uint32
seed_queues
 
ScoringQueues scoring_queues
 
thrust::device_vector< uint32idx_queue_dvec
 
uint32idx_queue_dptr
 
thrust::device_vector< uint16sorting_queue_dvec
 
thrust::device_vector< uint8reseed_dvec
 
uint8reseed_dptr
 
thrust::device_vector< uint32trys_dvec
 
uint32trys_dptr
 
thrust::device_vector< uint32rseeds_dvec
 
uint32rseeds_dptr
 
thrust::device_vector< uint8flags_dvec
 
uint8flags_dptr
 
nvbio::vector< device_tag, uint8temp_dvec
 
thrust::device_vector
< io::Alignment
best_data_dvec
 
thrust::device_vector
< io::Alignment
best_data_dvec_o
 
io::Alignmentbest_data_dptr
 
io::Alignmentbest_data_dptr_o
 
thrust::device_vector< uint8mapq_dvec
 
uint8mapq_dptr
 
thrust::device_vector< uint32opposite_queue_dvec
 
uint32opposite_queue_dptr
 
thrust::device_vector
< io::Alignment
buffer_alignments_dvec
 
io::Alignmentbuffer_alignments_dptr
 
thrust::device_vector< uint32buffer_read_info_dvec
 
uint32buffer_read_info_dptr
 
thrust::device_vector
< io::Alignment
output_alignments_dvec
 
io::Alignmentoutput_alignments_dptr
 
thrust::device_vector< uint32output_read_info_dvec
 
uint32output_read_info_dptr
 
thrust::device_vector< uint32hits_count_scan_dvec
 
uint32hits_count_scan_dptr
 
thrust::device_vector< uint64hits_range_scan_dvec
 
uint64hits_range_scan_dptr
 
nvbio::DeviceVectorArray< uint8mds
 
nvbio::DeviceVectorArray
< io::Cigar
cigar
 
thrust::device_vector< uint2 > cigar_coords_dvec
 
uint2 * cigar_coords_dptr
 
thrust::device_vector< uint64hits_stats_dvec
 
thrust::host_vector< uint64hits_stats_hvec
 
uint64hits_stats_dptr
 
uint32 batch_number
 
nvbio::cuda::SortEnactor sort_enactor
 
io::OutputFileoutput_file
 

Static Public Members

static const uint32 MAX_READ_LEN = MAXIMUM_READ_LENGTH
 

Member Typedef Documentation

Definition at line 82 of file aligner.h.

Definition at line 92 of file aligner.h.

Definition at line 93 of file aligner.h.

Definition at line 91 of file aligner.h.

Definition at line 86 of file aligner.h.

Definition at line 89 of file aligner.h.

Definition at line 87 of file aligner.h.

Definition at line 85 of file aligner.h.

Definition at line 88 of file aligner.h.

Definition at line 83 of file aligner.h.

Constructor & Destructor Documentation

nvbio::bowtie2::cuda::Aligner::Aligner ( )
inline

Definition at line 176 of file aligner.h.

Member Function Documentation

template<typename scoring_tag >
void nvbio::bowtie2::cuda::Aligner::all ( const Params params,
const fmi_type  fmi,
const rfmi_type  rfmi,
const UberScoringScheme scoring_scheme,
const io::SequenceDataDevice reference_data,
const io::FMIndexDataDevice driver_data,
const io::SequenceDataDevice read_data,
io::HostOutputBatchSE cpu_batch,
Stats stats 
)

Definition at line 49 of file aligner_all.h.

static uint32 nvbio::bowtie2::cuda::Aligner::band_length ( const uint32  max_dist)
inlinestatic

Definition at line 165 of file aligner.h.

template<typename scoring_tag >
void nvbio::bowtie2::cuda::Aligner::best_approx ( const Params params,
const fmi_type  fmi,
const rfmi_type  rfmi,
const UberScoringScheme scoring_scheme,
const io::SequenceDataDevice reference_data,
const io::FMIndexDataDevice driver_data,
const io::SequenceDataDevice read_data,
io::HostOutputBatchSE cpu_batch,
Stats stats 
)

Definition at line 85 of file aligner_best_approx.h.

template<typename scoring_tag >
void nvbio::bowtie2::cuda::Aligner::best_approx ( const Params params,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const UberScoringScheme scoring_scheme,
const io::SequenceDataDevice reference_data,
const io::FMIndexDataDevice driver_data,
const io::SequenceDataDevice read_data1,
const io::SequenceDataDevice read_data2,
io::HostOutputBatchPE cpu_batch,
Stats stats 
)

Definition at line 100 of file aligner_best_approx_paired.h.

template<typename scoring_tag , typename scoring_scheme_type >
void nvbio::bowtie2::cuda::Aligner::best_approx_score ( const Params params,
const fmi_type  fmi,
const rfmi_type  rfmi,
const scoring_scheme_type &  scoring_scheme,
const io::SequenceDataDevice reference_data,
const io::FMIndexDataDevice driver_data,
const io::SequenceDataDevice read_data,
const uint32  seeding_pass,
const uint32  seed_queue_size,
const uint32 seed_queue,
Stats stats 
)

Definition at line 525 of file aligner_best_approx.h.

template<typename scoring_tag , typename scoring_scheme_type >
void nvbio::bowtie2::cuda::Aligner::best_approx_score ( const Params params,
const fmi_type  fmi,
const rfmi_type  rfmi,
const scoring_scheme_type &  scoring_scheme,
const io::SequenceDataDevice reference_data,
const io::FMIndexDataDevice driver_data,
const uint32  anchor,
const io::SequenceDataDevice read_data1,
const io::SequenceDataDevice read_data2,
const uint32  seeding_pass,
const uint32  seed_queue_size,
const uint32 seed_queue,
Stats stats 
)

Definition at line 821 of file aligner_best_approx_paired.h.

bool nvbio::bowtie2::cuda::Aligner::init ( const uint32  id,
const uint32  batch_size,
const Params params,
const EndType  type 
)
bool nvbio::bowtie2::cuda::Aligner::init_alloc ( const uint32  BATCH_SIZE,
const Params params,
const EndType  type,
bool  do_alloc,
std::pair< uint64, uint64 > *  mem_stats = NULL 
)
void nvbio::bowtie2::cuda::Aligner::keep_stats ( const uint32  count,
Stats stats 
)
template<typename scoring_scheme_type >
void nvbio::bowtie2::cuda::Aligner::score_all ( const Params params,
const fmi_type  fmi,
const rfmi_type  rfmi,
const UberScoringScheme input_scoring_scheme,
const scoring_scheme_type &  scoring_scheme,
const io::SequenceDataDevice reference_data,
const io::FMIndexDataDevice driver_data,
const io::SequenceDataDevice read_data,
io::HostOutputBatchSE cpu_batch,
const uint32  seed_queue_size,
const uint32 seed_queue,
Stats stats,
uint64 total_alignments 
)

Definition at line 278 of file aligner_all.h.

std::pair<uint32*,uint64*> nvbio::bowtie2::cuda::Aligner::sort_64_bits ( const uint32  count)
uint32* nvbio::bowtie2::cuda::Aligner::sort_hi_bits ( const uint32  count,
const uint32 keys 
)
void nvbio::bowtie2::cuda::Aligner::sort_inplace ( const uint32  count,
uint32 keys 
)

Member Data Documentation

uint32 nvbio::bowtie2::cuda::Aligner::batch_number

Definition at line 157 of file aligner.h.

uint32 nvbio::bowtie2::cuda::Aligner::BATCH_SIZE

Definition at line 97 of file aligner.h.

io::Alignment* nvbio::bowtie2::cuda::Aligner::best_data_dptr

Definition at line 123 of file aligner.h.

io::Alignment* nvbio::bowtie2::cuda::Aligner::best_data_dptr_o

Definition at line 124 of file aligner.h.

thrust::device_vector<io::Alignment> nvbio::bowtie2::cuda::Aligner::best_data_dvec

Definition at line 121 of file aligner.h.

thrust::device_vector<io::Alignment> nvbio::bowtie2::cuda::Aligner::best_data_dvec_o

Definition at line 122 of file aligner.h.

io::Alignment* nvbio::bowtie2::cuda::Aligner::buffer_alignments_dptr

Definition at line 134 of file aligner.h.

thrust::device_vector<io::Alignment> nvbio::bowtie2::cuda::Aligner::buffer_alignments_dvec

Definition at line 133 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::buffer_read_info_dptr

Definition at line 136 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::buffer_read_info_dvec

Definition at line 135 of file aligner.h.

nvbio::DeviceVectorArray<io::Cigar> nvbio::bowtie2::cuda::Aligner::cigar

Definition at line 149 of file aligner.h.

uint2* nvbio::bowtie2::cuda::Aligner::cigar_coords_dptr

Definition at line 151 of file aligner.h.

thrust::device_vector<uint2> nvbio::bowtie2::cuda::Aligner::cigar_coords_dvec

Definition at line 150 of file aligner.h.

uint8* nvbio::bowtie2::cuda::Aligner::dp_buffer_dptr

Definition at line 100 of file aligner.h.

thrust::device_vector<uint8> nvbio::bowtie2::cuda::Aligner::dp_buffer_dvec

Definition at line 99 of file aligner.h.

uint8* nvbio::bowtie2::cuda::Aligner::flags_dptr

Definition at line 118 of file aligner.h.

thrust::device_vector<uint8> nvbio::bowtie2::cuda::Aligner::flags_dvec

Definition at line 117 of file aligner.h.

SeedHitDequeArray nvbio::bowtie2::cuda::Aligner::hit_deques

Definition at line 102 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::hits_count_scan_dptr

Definition at line 143 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::hits_count_scan_dvec

Definition at line 142 of file aligner.h.

uint64* nvbio::bowtie2::cuda::Aligner::hits_range_scan_dptr

Definition at line 145 of file aligner.h.

thrust::device_vector<uint64> nvbio::bowtie2::cuda::Aligner::hits_range_scan_dvec

Definition at line 144 of file aligner.h.

uint64* nvbio::bowtie2::cuda::Aligner::hits_stats_dptr

Definition at line 155 of file aligner.h.

thrust::device_vector<uint64> nvbio::bowtie2::cuda::Aligner::hits_stats_dvec

Definition at line 153 of file aligner.h.

thrust::host_vector<uint64> nvbio::bowtie2::cuda::Aligner::hits_stats_hvec

Definition at line 154 of file aligner.h.

uint32 nvbio::bowtie2::cuda::Aligner::ID

Definition at line 96 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::idx_queue_dptr

Definition at line 108 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::idx_queue_dvec

Definition at line 107 of file aligner.h.

uint8* nvbio::bowtie2::cuda::Aligner::mapq_dptr

Definition at line 126 of file aligner.h.

thrust::device_vector<uint8> nvbio::bowtie2::cuda::Aligner::mapq_dvec

Definition at line 125 of file aligner.h.

const uint32 nvbio::bowtie2::cuda::Aligner::MAX_READ_LEN = MAXIMUM_READ_LENGTH
static

Definition at line 80 of file aligner.h.

nvbio::DeviceVectorArray<uint8> nvbio::bowtie2::cuda::Aligner::mds

Definition at line 148 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::opposite_queue_dptr

Definition at line 130 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::opposite_queue_dvec

Definition at line 129 of file aligner.h.

io::Alignment* nvbio::bowtie2::cuda::Aligner::output_alignments_dptr

Definition at line 138 of file aligner.h.

thrust::device_vector<io::Alignment> nvbio::bowtie2::cuda::Aligner::output_alignments_dvec

Definition at line 137 of file aligner.h.

io::OutputFile* nvbio::bowtie2::cuda::Aligner::output_file

Definition at line 163 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::output_read_info_dptr

Definition at line 140 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::output_read_info_dvec

Definition at line 139 of file aligner.h.

uint8* nvbio::bowtie2::cuda::Aligner::reseed_dptr

Definition at line 112 of file aligner.h.

thrust::device_vector<uint8> nvbio::bowtie2::cuda::Aligner::reseed_dvec

Definition at line 111 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::rseeds_dptr

Definition at line 116 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::rseeds_dvec

Definition at line 115 of file aligner.h.

ScoringQueues nvbio::bowtie2::cuda::Aligner::scoring_queues

Definition at line 105 of file aligner.h.

nvbio::cuda::PingPongQueues<uint32> nvbio::bowtie2::cuda::Aligner::seed_queues

Definition at line 104 of file aligner.h.

nvbio::cuda::SortEnactor nvbio::bowtie2::cuda::Aligner::sort_enactor

Definition at line 159 of file aligner.h.

thrust::device_vector<uint16> nvbio::bowtie2::cuda::Aligner::sorting_queue_dvec

Definition at line 109 of file aligner.h.

nvbio::vector<device_tag,uint8> nvbio::bowtie2::cuda::Aligner::temp_dvec

Definition at line 119 of file aligner.h.

uint32* nvbio::bowtie2::cuda::Aligner::trys_dptr

Definition at line 114 of file aligner.h.

thrust::device_vector<uint32> nvbio::bowtie2::cuda::Aligner::trys_dvec

Definition at line 113 of file aligner.h.


The documentation for this struct was generated from the following files: