SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets. More...
#include <seqan3/alphabet/quality/phred_base.hpp>
Public Types | |
Member types | |
using | phred_type = int8_t |
The integer representation of the quality score. | |
Public Member Functions | |
Read functions | |
constexpr phred_type | to_phred () const noexcept |
Return the alphabet's value in Phred score representation. | |
Write functions | |
constexpr derived_type & | assign_phred (phred_type const p) noexcept |
Assign from the numeric Phred score value. | |
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_base & | operator= (alphabet_base const &) noexcept=default |
Defaulted. | |
constexpr alphabet_base & | operator= (alphabet_base &&) noexcept=default |
Defaulted. | |
~alphabet_base () noexcept=default | |
Defaulted. | |
constexpr char_type | to_char () const noexcept |
Return the letter as a character of char_type. | |
constexpr rank_type | to_rank () const noexcept |
Return the letter's numeric value (rank in the alphabet). | |
constexpr derived_type & | assign_char (char_type const chr) noexcept |
Assign from a character, implicitly converts invalid characters. | |
constexpr derived_type & | assign_rank (rank_type const c) noexcept |
Assign from a numeric value. | |
Private Types | |
using | base_t = alphabet_base< derived_type, size, char > |
The base type. | |
Static Private Member Functions | |
static constexpr rank_type | char_to_rank (char_type const chr) |
Returns the rank representation of character. | |
static constexpr char_type | rank_to_char (rank_type const rank) |
Returns the character representation of rank. | |
Private Attributes | |
friend | base_t |
Befriend the base type so it can access seqan3::alphabet_base::char_to_rank and seqan3::alphabet_base::rank_to_char. | |
Static Private Attributes | |
static constexpr std::array< rank_type, 256 > | phred_to_rank |
Phred to rank conversion table. | |
static constexpr std::array< phred_type, alphabet_size > | rank_to_phred |
Rank to phred conversion table. | |
Constructors, destructor and assignment | |
friend | derived_type |
Befriend the derived_type so it can instantiate. | |
constexpr | phred_base () noexcept=default |
Defaulted. | |
constexpr | phred_base (phred_base const &) noexcept=default |
Defaulted. | |
constexpr | phred_base (phred_base &&) noexcept=default |
Defaulted. | |
constexpr phred_base & | operator= (phred_base const &) noexcept=default |
Defaulted. | |
constexpr phred_base & | operator= (phred_base &&) noexcept=default |
Defaulted. | |
~phred_base () noexcept=default | |
Defaulted. | |
template<typename other_qual_type > requires (!std::same_as<phred_base, other_qual_type>) && (!std::same_as<derived_type, other_qual_type>) && quality_alphabet<other_qual_type> | |
constexpr | phred_base (other_qual_type const &other) noexcept |
Allow explicit construction from any other quality type by means of the Phred score representation. | |
Additional Inherited Members | |
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. | |
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. | |
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()). | |
A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets.
derived_type | The CRTP parameter type. |
size | The size of the alphabet. |
using seqan3::phred_base< derived_type, size >::phred_type = int8_t |
The integer representation of the quality score.
|
inlineexplicitconstexprnoexcept |
Allow explicit construction from any other quality type by means of the Phred score representation.
|
inlineconstexprnoexcept |
Assign from the numeric Phred score value.
Satisfies the seqan3::writable_quality_alphabet requirement via the seqan3::assign_rank_to() wrapper.
Constant.
|
inlinestaticconstexprprivate |
Returns the rank representation of character.
This function is required by seqan3::alphabet_base.
|
inlinestaticconstexprprivate |
Returns the character representation of rank.
This function is required by seqan3::alphabet_base.
|
inlineconstexprnoexcept |
Return the alphabet's value in Phred score representation.
|
staticconstexprprivate |
Phred to rank conversion table.
|
staticconstexprprivate |
Rank to phred conversion table.