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::SmithWatermanScoringScheme< MMCost, NCost > Struct Template Reference

Detailed description

template< typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
struct nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >

This class implements a scoring scheme for short read alignment, taking into account matches, mismatches, insertions, deletions, ambiguous bases and base qualities. In practice, it reproduces exactly bowtie2's original scoring scheme employing a Gotoh aligner.

Definition at line 206 of file scoring.h.

#include <scoring.h>

Public Types

typedef
SmithWatermanScoringScheme
< MMCost, NCost > 
scheme_type
 
typedef aln::GotohTag aligner_tag
 
typedef aln::GotohAligner
< aln::LOCAL, scheme_type
local_aligner_type
 
typedef aln::GotohAligner
< aln::SEMI_GLOBAL,
scheme_type
end_to_end_aligner_type
 
typedef
aln::HammingDistanceAligner
< aln::LOCAL, scheme_type
ungapped_local_aligner_type
 
typedef
aln::HammingDistanceAligner
< aln::SEMI_GLOBAL,
scheme_type
ungapped_end_to_end_aligner_type
 
typedef ConstantCost< int > MatchCost
 
typedef MMCost MismatchCost
 
typedef MatchCost match_cost_function
 
typedef MismatchCost mismatch_cost_function
 
typedef NCost N_cost_function
 
typedef SimpleFunc threshold_score_type
 

Public Methods

local_aligner_type local_aligner () const
 
end_to_end_aligner_type end_to_end_aligner () const
 
ungapped_local_aligner_type ungapped_local_aligner () const
 
ungapped_end_to_end_aligner_type ungapped_end_to_end_aligner () const
 
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE SmithWatermanScoringScheme ()
 
 SmithWatermanScoringScheme (const std::map< std::string, std::string > &options, const AlignmentType type=LocalAlignment)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
min_score (const uint32 len) const
 
SimpleFunc threshold_score () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
perfect_score (const uint32 read_len) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
match (const uint8 q=0) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
mismatch (const uint8 q=0) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
mismatch (const uint8 r, const uint8 q, const uint8 qq=0) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
substitution (const uint32 r_i, const uint32 q_j, const uint8 r, const uint8 q, const uint8 qq=0) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
pattern_gap_open () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
pattern_gap_extension () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
text_gap_open () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int32 
text_gap_extension () const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int 
score (const uint8 read, const uint8 ref_mask, int q) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int 
n (int q) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int 
cumulative_insertion (const uint32 i) const
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int 
cumulative_deletion (const uint32 i) const
 

Static Public Methods

static SmithWatermanScoringScheme base1 ()
 
static SmithWatermanScoringScheme local ()
 

Public Members

SimpleFunc m_score_min
 
float m_n_ceil_const
 
float m_n_ceil_coeff
 
int m_read_gap_const
 
int m_read_gap_coeff
 
int m_ref_gap_const
 
int m_ref_gap_coeff
 
int m_gap_free
 
MatchCost m_match
 
MMCost m_mmp
 
NCost m_np
 
bool m_monotone
 
bool m_local
 

Static Public Members

static const int32 inf_score = -(1 << 16)
 
static const int32 worst_score = inf_score
 

Member Typedef Documentation

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef aln::GotohTag nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::aligner_tag

Definition at line 209 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef aln::GotohAligner<aln::SEMI_GLOBAL,scheme_type> nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::end_to_end_aligner_type

Definition at line 212 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef aln::GotohAligner<aln::LOCAL,scheme_type> nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::local_aligner_type

Definition at line 211 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef MatchCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::match_cost_function

Definition at line 220 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef ConstantCost<int> nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::MatchCost

Definition at line 217 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef MismatchCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::mismatch_cost_function

Definition at line 221 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef MMCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::MismatchCost

Definition at line 218 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef NCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::N_cost_function

Definition at line 222 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef SmithWatermanScoringScheme<MMCost,NCost> nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::scheme_type

Definition at line 208 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef SimpleFunc nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::threshold_score_type

Definition at line 224 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef aln::HammingDistanceAligner<aln::SEMI_GLOBAL,scheme_type> nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::ungapped_end_to_end_aligner_type

Definition at line 215 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
typedef aln::HammingDistanceAligner<aln::LOCAL,scheme_type> nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::ungapped_local_aligner_type

Definition at line 214 of file scoring.h.

Constructor & Destructor Documentation

default constructor

Definition at line 108 of file scoring_inl.h.

template<typename MMCost , typename NCost >
nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::SmithWatermanScoringScheme ( const std::map< std::string, std::string > &  options,
const AlignmentType  type = LocalAlignment 
)

constructor

Parameters
optionskey/value string options

Definition at line 130 of file scoring_inl.h.

Member Function Documentation

template<typename MMCost , typename NCost >
SmithWatermanScoringScheme< MMCost, NCost > nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::base1 ( )
static

return a preconfigured scoring scheme

Definition at line 58 of file scoring_inl.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::cumulative_deletion ( const uint32  i) const
inline

cumulative penalty of a gap of length 'i' in the reference

Definition at line 329 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::cumulative_insertion ( const uint32  i) const
inline

cumulative penalty of a gap of length 'i' in the read

Definition at line 321 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
end_to_end_aligner_type nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::end_to_end_aligner ( ) const
inline

return the end_to_end aligner

Definition at line 235 of file scoring.h.

template<typename MMCost , typename NCost >
SmithWatermanScoringScheme< MMCost, NCost > nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::local ( )
static

return preconfigured scoring scheme for local mapping

Definition at line 81 of file scoring_inl.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
local_aligner_type nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::local_aligner ( ) const
inline

return the local aligner

Definition at line 231 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::match ( const uint8  q = 0) const
inline

Definition at line 286 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::min_score ( const uint32  len) const
inline

min score

Definition at line 272 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::mismatch ( const uint8  q = 0) const
inline

Definition at line 287 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::mismatch ( const uint8  r,
const uint8  q,
const uint8  qq = 0 
) const
inline

Definition at line 288 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::n ( int  q) const
inline

marginal penalty for an N with given quality

Definition at line 316 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::pattern_gap_extension ( ) const
inline

Definition at line 291 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::pattern_gap_open ( ) const
inline

Definition at line 290 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::perfect_score ( const uint32  read_len) const
inline

best achievable score for a read of given length

Definition at line 281 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::score ( const uint8  read,
const uint8  ref_mask,
int  q 
) const
inline

score of a given alignment

Definition at line 304 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::substitution ( const uint32  r_i,
const uint32  q_j,
const uint8  r,
const uint8  q,
const uint8  qq = 0 
) const
inline

Definition at line 289 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::text_gap_extension ( ) const
inline

Definition at line 293 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NVBIO_FORCEINLINE NVBIO_HOST_DEVICE int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::text_gap_open ( ) const
inline

Definition at line 292 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
SimpleFunc nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::threshold_score ( ) const
inline

min score function

Definition at line 276 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
ungapped_end_to_end_aligner_type nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::ungapped_end_to_end_aligner ( ) const
inline

return the end_to_end aligner

Definition at line 243 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
ungapped_local_aligner_type nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::ungapped_local_aligner ( ) const
inline

return the local aligner

Definition at line 239 of file scoring.h.

Member Data Documentation

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
const int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::inf_score = -(1 << 16)
static

Definition at line 226 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_gap_free

Definition at line 343 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
bool nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_local

Definition at line 348 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
MatchCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_match

Definition at line 344 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
MMCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_mmp

Definition at line 345 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
bool nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_monotone

Definition at line 347 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
float nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_n_ceil_coeff

Definition at line 338 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
float nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_n_ceil_const

Definition at line 337 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
NCost nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_np

Definition at line 346 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_read_gap_coeff

Definition at line 340 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_read_gap_const

Definition at line 339 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_ref_gap_coeff

Definition at line 342 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
int nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_ref_gap_const

Definition at line 341 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
SimpleFunc nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::m_score_min

Definition at line 336 of file scoring.h.

template<typename MMCost = QualCost<int>, typename NCost = ConstantCost<int>>
const int32 nvbio::bowtie2::cuda::SmithWatermanScoringScheme< MMCost, NCost >::worst_score = inf_score
static

Definition at line 227 of file scoring.h.


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