NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Modules | Functions
Mapping

Detailed Description

The functions in this module implement the very first pipeline stage: seed mapping. In this stage each read is broken up into many short, possibly overlapping seeds which get mapped against the reference genome using an FM-index. The output is a vector of variable-lenth "priority deques", one for each read, containing the set of Suffix Array ranges (SeedHits) where the seeds align, prioritized by the inverse of the range size (see SeedHitDequeArray).

The module implements many mapping algorithms:

Modules

 MappingDetail
 

Functions

void nvbio::bowtie2::cuda::gather_ranges (const uint32 count, const uint32 n_reads, SeedHitDequeArrayDeviceView hits, const uint32 *hit_counts_scan, uint64 *out_ranges)
 
void nvbio::bowtie2::cuda::map_whole_read (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
void nvbio::bowtie2::cuda::map_exact (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
void nvbio::bowtie2::cuda::map_exact (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
void nvbio::bowtie2::cuda::map_approx (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
void nvbio::bowtie2::cuda::map_approx (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, SeedHitDequeArrayDeviceView hits, const uint2 seed_range, const ParamsPOD params, const bool fw, const bool rc)
 
void nvbio::bowtie2::cuda::map (const ReadsDef::type &read_batch, const FMIndexDef::type fmi, const FMIndexDef::type rfmi, const uint32 retry, const nvbio::cuda::PingPongQueuesView< uint32 > queues, uint8 *reseed, SeedHitDequeArrayDeviceView hits, const ParamsPOD params, const bool fw, const bool rc)
 
template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_whole_read_t (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<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_exact_t (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<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_exact_t (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 BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_case_pruning_t (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<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_approx_t (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<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_approx_t (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 BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_t (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)
 

Function Documentation

void nvbio::bowtie2::cuda::gather_ranges ( const uint32  count,
const uint32  n_reads,
SeedHitDequeArrayDeviceView  hits,
const uint32 *  hit_counts_scan,
uint64 *  out_ranges 
)

For all the seed hit ranges, output the range size in out_ranges.

void nvbio::bowtie2::cuda::map ( const ReadsDef::type &  read_batch,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const uint32  retry,
const nvbio::cuda::PingPongQueuesView< uint32 >  queues,
uint8 *  reseed,
SeedHitDequeArrayDeviceView  hits,
const ParamsPOD  params,
const bool  fw,
const bool  rc 
)

perform one run of seed mapping

void nvbio::bowtie2::cuda::map_approx ( const ReadsDef::type &  read_batch,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const uint32  retry,
const nvbio::cuda::PingPongQueuesView< uint32 >  queues,
uint8 *  reseed,
SeedHitDequeArrayDeviceView  hits,
const ParamsPOD  params,
const bool  fw,
const bool  rc 
)

perform one run of approximate seed mapping for all the reads in the input queue, writing reads that need another run in the output queue

void nvbio::bowtie2::cuda::map_approx ( const ReadsDef::type &  read_batch,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
SeedHitDequeArrayDeviceView  hits,
const uint2  seed_range,
const ParamsPOD  params,
const bool  fw,
const bool  rc 
)

perform multiple runs of approximate seed mapping in one go and keep the best

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_approx_t ( 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 
)

perform one run of approximate seed mapping for all the reads in the input queue, writing reads that need another run in the output queue

Definition at line 721 of file mapping_inl.h.

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_approx_t ( 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 
)

perform multiple runs of approximate seed mapping in one go and keep the best

Definition at line 740 of file mapping_inl.h.

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_case_pruning_t ( 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 
)

perform one run of approximate seed mapping using case pruning for all the reads in the input queue, writing reads that need another run in the output queue

Definition at line 702 of file mapping_inl.h.

void nvbio::bowtie2::cuda::map_exact ( const ReadsDef::type &  read_batch,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const uint32  retry,
const nvbio::cuda::PingPongQueuesView< uint32 >  queues,
uint8 *  reseed,
SeedHitDequeArrayDeviceView  hits,
const ParamsPOD  params,
const bool  fw,
const bool  rc 
)

perform one run of exact seed mapping for all the reads in the input queue, writing reads that need another run in the output queue

void nvbio::bowtie2::cuda::map_exact ( const ReadsDef::type &  read_batch,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
SeedHitDequeArrayDeviceView  hits,
const uint2  seed_range,
const ParamsPOD  params,
const bool  fw,
const bool  rc 
)

perform multiple runs of exact seed mapping in one go and keep the best

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_exact_t ( 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 
)

perform one run of exact seed mapping for all the reads in the input queue, writing reads that need another run in the output queue

Definition at line 775 of file mapping_inl.h.

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_exact_t ( 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 
)

perform multiple runs of exact seed mapping in one go and keep the best

Definition at line 794 of file mapping_inl.h.

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_t ( 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 
)

perform one run of seed mapping

Definition at line 811 of file mapping_inl.h.

void nvbio::bowtie2::cuda::map_whole_read ( const ReadsDef::type &  read_batch,
const FMIndexDef::type  fmi,
const FMIndexDef::type  rfmi,
const nvbio::cuda::PingPongQueuesView< uint32 >  queues,
uint8 *  reseed,
SeedHitDequeArrayDeviceView  hits,
const ParamsPOD  params,
const bool  fw,
const bool  rc 
)

perform exact read mapping

template<typename BatchType , typename FMType , typename rFMType >
void nvbio::bowtie2::cuda::map_whole_read_t ( 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 
)

perform exact read mapping

Definition at line 757 of file mapping_inl.h.