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)
 
uint32 * sort_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< uint8 > dp_buffer_dvec
 
uint8 * dp_buffer_dptr
 
SeedHitDequeArray hit_deques
 
nvbio::cuda::PingPongQueues
< uint32 > 
seed_queues
 
ScoringQueues scoring_queues
 
thrust::device_vector< uint32 > idx_queue_dvec
 
uint32 * idx_queue_dptr
 
thrust::device_vector< uint16 > sorting_queue_dvec
 
thrust::device_vector< uint8 > reseed_dvec
 
uint8 * reseed_dptr
 
thrust::device_vector< uint32 > trys_dvec
 
uint32 * trys_dptr
 
thrust::device_vector< uint32 > rseeds_dvec
 
uint32 * rseeds_dptr
 
thrust::device_vector< uint8 > flags_dvec
 
uint8 * flags_dptr
 
nvbio::vector< device_tag, uint8 > temp_dvec
 
thrust::device_vector
< io::Alignment > 
best_data_dvec
 
thrust::device_vector
< io::Alignment > 
best_data_dvec_o
 
io::Alignment * best_data_dptr
 
io::Alignment * best_data_dptr_o
 
thrust::device_vector< uint8 > mapq_dvec
 
uint8 * mapq_dptr
 
thrust::device_vector< uint32 > opposite_queue_dvec
 
uint32 * opposite_queue_dptr
 
thrust::device_vector
< io::Alignment > 
buffer_alignments_dvec
 
io::Alignment * buffer_alignments_dptr
 
thrust::device_vector< uint32 > buffer_read_info_dvec
 
uint32 * buffer_read_info_dptr
 
thrust::device_vector
< io::Alignment > 
output_alignments_dvec
 
io::Alignment * output_alignments_dptr
 
thrust::device_vector< uint32 > output_read_info_dvec
 
uint32 * output_read_info_dptr
 
thrust::device_vector< uint32 > hits_count_scan_dvec
 
uint32 * hits_count_scan_dptr
 
thrust::device_vector< uint64 > hits_range_scan_dvec
 
uint64 * hits_range_scan_dptr
 
nvbio::DeviceVectorArray< uint8 > mds
 
nvbio::DeviceVectorArray
< io::Cigar > 
cigar
 
thrust::device_vector< uint2 > cigar_coords_dvec
 
uint2 * cigar_coords_dptr
 
thrust::device_vector< uint64 > hits_stats_dvec
 
thrust::host_vector< uint64 > hits_stats_hvec
 
uint64 * hits_stats_dptr
 
uint32 batch_number
 
nvbio::cuda::SortEnactor sort_enactor
 
io::OutputFile * output_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: