54template <writable_alphabet sequence_alphabet_t, writable_quality_alphabet quality_alphabet_t>
56 public alphabet_tuple_base<qualified<sequence_alphabet_t, quality_alphabet_t>,
62 using base_type = alphabet_tuple_base<qualified<sequence_alphabet_t, quality_alphabet_t>,
101 using base_type::base_type;
103 using base_type::operator=;
106 SEQAN3_DOXYGEN_ONLY((constexpr
qualified(component_type const alph) noexcept {}))
108 SEQAN3_DOXYGEN_ONLY((
constexpr qualified(indirect_component_type
const alph)
noexcept {}))
110 SEQAN3_DOXYGEN_ONLY((
constexpr qualified &
operator=(component_type
const alph)
noexcept {}))
112 SEQAN3_DOXYGEN_ONLY((
constexpr qualified &
operator=(indirect_component_type
const alph)
noexcept {}))
125 * base_type::cummulative_alph_sizes[0])
126 + (base_type::template to_component_rank<1>() * base_type::cummulative_alph_sizes[1]));
154 return rank_to_phred[
to_rank()];
163 return rank_to_char(
to_rank());
192 return rank_to_char_table[rank];
203 size_t const seq_rank =
213 static constexpr std::array<char_type, alphabet_size> rank_to_phred{
216 std::array<char_type, alphabet_size> ret{};
233template <
typename sequence_alphabet_type,
typename quality_alphabet_type>
Provides seqan3::nucleotide_alphabet.
Quality alphabet concept.
Provides seqan3::alphabet_tuple_base.
detail::min_viable_uint_t< size - 1 > rank_type
The type of the alphabet when represented as a number (e.g. via to_rank()).
Definition alphabet_base.hpp:77
friend constexpr auto get(alphabet_tuple_base &l) noexcept
Definition alphabet_tuple_base.hpp:345
constexpr qualified< sequence_alphabet_t, quality_alphabet_t > & assign_rank(rank_type const c) noexcept
static constexpr bool char_is_valid(char_type const c) noexcept
Validate whether a character is valid in the sequence alphabet.
Definition qualified.hpp:183
constexpr char_type to_char() const noexcept
Return a character. This reads the internal sequence letter.
Definition qualified.hpp:161
constexpr phred_type to_phred() const noexcept
Return the Phred score value. This reads the internal quality letter.
Definition qualified.hpp:152
alphabet_char_t< sequence_alphabet_type > char_type
Definition qualified.hpp:82
constexpr qualified(indirect_component_type const alph) noexcept
Construction via a value of a subtype that is assignable to one of the components.
Definition qualified.hpp:108
constexpr qualified complement() const noexcept
Return a qualified where the quality is preserved, but the sequence letter is complemented.
Definition qualified.hpp:172
constexpr rank_type to_rank() const noexcept
constexpr qualified & assign_phred(phred_type const c) noexcept
Assign from a Phred score value. This modifies the internal quality letter.
Definition qualified.hpp:138
static constexpr detail::min_viable_uint_t< size > alphabet_size
constexpr qualified() noexcept=default
Defaulted.
qualified(sequence_alphabet_type &&, quality_alphabet_type &&) -> qualified< std::decay_t< sequence_alphabet_type >, std::decay_t< quality_alphabet_type > >
Type deduction guide enables usage of qualified without specifying template args.
quality_alphabet_t quality_alphabet_type
Definition qualified.hpp:76
constexpr qualified & assign_char(char_type const c) noexcept
Assign from a character. This modifies the internal sequence letter.
Definition qualified.hpp:122
alphabet_phred_t< quality_alphabet_type > phred_type
Definition qualified.hpp:87
sequence_alphabet_t sequence_alphabet_type
Definition qualified.hpp:71
constexpr auto complement
Return the complement of a nucleotide object.
Definition alphabet/nucleotide/concept.hpp:102
constexpr auto assign_char_to
Assign a character to an alphabet object.
Definition alphabet/concept.hpp:517
constexpr auto to_char
Return the char representation of an alphabet object.
Definition alphabet/concept.hpp:381
constexpr auto alphabet_size
A type trait that holds the size of a (semi-)alphabet.
Definition alphabet/concept.hpp:834
decltype(seqan3::to_char(std::declval< alphabet_type const >())) alphabet_char_t
The char_type of the alphabet; defined as the return type of seqan3::to_char.
Definition alphabet/concept.hpp:393
constexpr auto assign_rank_to
Assign a rank to an alphabet object.
Definition alphabet/concept.hpp:288
constexpr auto char_is_valid_for
Returns whether a character is in the valid set of a seqan3::alphabet (usually implies a bijective ma...
Definition alphabet/concept.hpp:661
constexpr auto to_rank
Return the rank representation of a (semi-)alphabet object.
Definition alphabet/concept.hpp:152
A concept that indicates whether an alphabet represents nucleotides.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr auto to_phred
The public getter function for the Phred representation of a quality score.
Definition alphabet/quality/concept.hpp:97
constexpr auto assign_phred_to
Assign a Phred score to a quality alphabet object.
Definition alphabet/quality/concept.hpp:225
decltype(seqan3::to_phred(std::declval< alphabet_type >())) alphabet_phred_t
The phred_type of the alphabet; defined as the return type of seqan3::to_phred.
Definition alphabet/quality/concept.hpp:109