SeqAn3  3.2.0-rc.1
The Modern C++ library for sequence analysis.
seqan3::phred_base< derived_type, size > Class Template Reference

A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets. More...

#include <seqan3/alphabet/quality/phred_base.hpp>

+ Inheritance diagram for seqan3::phred_base< derived_type, size >:

Public Types

Member types
using phred_type = int8_t
 The integer representation of the quality score. More...
 

Write functions

Return the alphabet's value in Phred score representation.

\see quality

\htmlonly<dl class="stable-api">This entity is stable. Since version 3.1.</dl>\endhtmlonly
static constexpr std::array< phred_type, alphabet_sizerank_to_phred
 Assign from the numeric Phred score value. More...
 
static constexpr rank_type char_to_rank (char_type const chr)
 
static constexpr char_type rank_to_char (rank_type const rank)
 

Additional Inherited Members

- Public Member Functions inherited from seqan3::alphabet_base< derived_type, size, char >
constexpr alphabet_base () noexcept=default
 Defaulted.
 
constexpr alphabet_base (alphabet_base const &) noexcept=default
 Defaulted.
 
constexpr alphabet_base (alphabet_base &&) noexcept=default
 Defaulted.
 
constexpr alphabet_baseoperator= (alphabet_base const &) noexcept=default
 Defaulted.
 
constexpr alphabet_baseoperator= (alphabet_base &&) noexcept=default
 Defaulted.
 
 ~alphabet_base () noexcept=default
 Defaulted.
 
constexpr char_type to_char () const noexcept requires(!std
 Return the letter as a character of char_type. More...
 
constexpr rank_type to_rank () const noexcept
 Return the letter's numeric value (rank in the alphabet). More...
 
constexpr derived_type & assign_char (char_type const chr) noexcept requires(!std
 Assign from a character, implicitly converts invalid characters. More...
 
constexpr derived_type & assign_rank (rank_type const c) noexcept
 Assign from a numeric value. More...
 
- Static Public Attributes inherited from seqan3::alphabet_base< derived_type, size, char >
static constexpr detail::min_viable_uint_t< size > alphabet_size
 The size of the alphabet, i.e. the number of different values it can take. More...
 
- Protected Types inherited from seqan3::alphabet_base< derived_type, size, char >
using char_type = std::conditional_t< std::same_as< char, void >, char, char >
 The char representation; conditional needed to make semi alphabet definitions legal. More...
 
using rank_type = detail::min_viable_uint_t< size - 1 >
 The type of the alphabet when represented as a number (e.g. via to_rank()). More...
 

Detailed Description

template<typename derived_type, size_t size>
class seqan3::phred_base< derived_type, size >

A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets.

Template Parameters
derived_typeThe CRTP parameter type.
sizeThe size of the alphabet.

This entity is stable. Since version 3.1.

Member Typedef Documentation

◆ phred_type

template<typename derived_type , size_t size>
using seqan3::phred_base< derived_type, size >::phred_type = int8_t

The integer representation of the quality score.

This entity is stable. Since version 3.1.

Member Function Documentation

◆ char_to_rank()

template<typename derived_type , size_t size>
static constexpr rank_type seqan3::phred_base< derived_type, size >::char_to_rank ( char_type const  chr)
inlinestaticconstexpr

◆ rank_to_char()

template<typename derived_type , size_t size>
static constexpr char_type seqan3::phred_base< derived_type, size >::rank_to_char ( rank_type const  rank)
inlinestaticconstexpr

Member Data Documentation

◆ rank_to_phred

template<typename derived_type , size_t size>
constexpr std::array<phred_type, alphabet_size> seqan3::phred_base< derived_type, size >::rank_to_phred
staticconstexpr
Initial value:
{
for (size_t i = 0; i < alphabet_size; ++i)
ret[i] = i + derived_type::offset_phred;
return ret;
}
()
}
static constexpr detail::min_viable_uint_t< size > alphabet_size
The size of the alphabet, i.e. the number of different values it can take.
Definition: alphabet_base.hpp:199

Assign from the numeric Phred score value.

\details

Satisfies the seqan3::writable_quality_alphabet requirement via the seqan3::assign_rank_to()
wrapper.

\see quality

### Complexity

Constant.

\htmlonly<dl class="stable-api">This entity is stable. Since version 3.1.</dl>\endhtmlonly

Rank to phred conversion table.


The documentation for this class was generated from the following file: