Joins an arbitrary alphabet with a quality alphabet. More...
#include <seqan3/alphabet/quality/qualified.hpp>
Public Types | |
using | char_type = alphabet_char_t< sequence_alphabet_type > |
Equals the char_type of sequence_alphabet_type. More... | |
using | phred_type = alphabet_phred_t< quality_alphabet_type > |
Equals the phred_type of the quality_alphabet_type. More... | |
using | quality_alphabet_type = quality_alphabet_t |
Second template parameter as member type. More... | |
using | sequence_alphabet_type = sequence_alphabet_t |
First template parameter as member type. More... | |
Public Member Functions | |
Constructors, destructor and assignment | |
constexpr | qualified () noexcept=default |
Defaulted. | |
constexpr | qualified (qualified const &) noexcept=default |
Defaulted. | |
constexpr | qualified (qualified &&) noexcept=default |
Defaulted. | |
constexpr qualified & | operator= (qualified const &) noexcept=default |
Defaulted. | |
constexpr qualified & | operator= (qualified &&) noexcept=default |
Defaulted. | |
~qualified () noexcept=default | |
Defaulted. | |
constexpr | qualified (component_type const alph) noexcept |
constexpr | qualified (indirect_component_type const alph) noexcept |
constexpr qualified & | operator= (component_type const alph) noexcept |
constexpr qualified & | operator= (indirect_component_type const alph) noexcept |
Write functions | |
constexpr qualified & | assign_char (char_type const c) noexcept |
Assign from a character. This modifies the internal sequence letter. More... | |
constexpr qualified & | assign_phred (phred_type const c) noexcept |
Assign from a Phred score value. This modifies the internal quality letter. More... | |
Read functions | |
constexpr phred_type | to_phred () const noexcept |
Return the Phred score value. This reads the internal quality letter. More... | |
constexpr char_type | to_char () const noexcept |
Return a character. This reads the internal sequence letter. More... | |
constexpr qualified | complement () const noexcept requires nucleotide_alphabet< sequence_alphabet_t > |
Return a qualified where the quality is preserved, but the sequence letter is complemented. More... | |
Static Public Member Functions | |
static constexpr bool | char_is_valid (char_type const c) noexcept |
Validate whether a character is valid in the sequence alphabet. More... | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename sequence_alphabet_type , typename quality_alphabet_type > | |
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. | |
Joins an arbitrary alphabet with a quality alphabet.
sequence_alphabet_t | Type of the alphabet; must satisfy seqan3::writable_alphabet. |
quality_alphabet_t | Type of the quality; must satisfy seqan3::writable_quality_alphabet. |
This composite pairs an arbitrary alphabet with a quality alphabet, where each alphabet character is stored together with its quality score in a single value. That way, you can can conveniently access the character and score information at each position of the qualified-sequence. The use case that this was designed for is a nucleotide sequence with corresponding quality scores, e.g. obtained when reading in a FASTQ file of Illumina reads. The composite also allows to store quality scores for different or extended alphabets like a qualified<char, phred42>
or a qualified<gapped<dna4>, phred42>
sequence. The rank values correspond to numeric values in the size of the composite, while the character values are taken from the sequence alphabet and the Phred score values are taken from the quality alphabet.
As with all seqan3::alphabet_tuple_base
s you may access the individual alphabet letters in regular c++ tuple notation, i.e. get<0>(t)
and objects can be brace-initialised with the individual members.
This seqan3::alphabet_tuple_base itself fulfils both seqan3::writable_alphabet and seqan3::writable_quality_alphabet.
using seqan3::qualified< sequence_alphabet_t, quality_alphabet_t >::char_type = alphabet_char_t<sequence_alphabet_type> |
Equals the char_type of sequence_alphabet_type.
using seqan3::qualified< sequence_alphabet_t, quality_alphabet_t >::phred_type = alphabet_phred_t<quality_alphabet_type> |
Equals the phred_type of the quality_alphabet_type.
using seqan3::qualified< sequence_alphabet_t, quality_alphabet_t >::quality_alphabet_type = quality_alphabet_t |
Second template parameter as member type.
using seqan3::qualified< sequence_alphabet_t, quality_alphabet_t >::sequence_alphabet_type = sequence_alphabet_t |
First template parameter as member type.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Assign from a character. This modifies the internal sequence letter.
|
inlineconstexprnoexcept |
Assign from a Phred score value. This modifies the internal quality letter.
|
inlinestaticconstexprnoexcept |
Validate whether a character is valid in the sequence alphabet.
|
inlineconstexprnoexcept |
Return a qualified where the quality is preserved, but the sequence letter is complemented.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Return a character. This reads the internal sequence letter.
|
inlineconstexprnoexcept |
Return the Phred score value. This reads the internal quality letter.