SeqAn3 3.4.0-rc.4
The Modern C++ library for sequence analysis.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
phred94.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
13
14namespace seqan3
15{
16
40class phred94 : public phred_base<phred94, 94>
41{
42private:
45
47 friend base_t;
50 friend base_t::base_t;
52
53public:
57 constexpr phred94() noexcept = default;
63
64 // Inherit converting constructor
67
76
81 static constexpr char_type offset_char{'!'};
83};
84
85inline namespace literals
86{
87
101constexpr phred94 operator""_phred94(char const c) noexcept
102{
103 return phred94{}.assign_char(c);
104}
105
118{
120 r.resize(n);
121
122 for (size_t i = 0; i < n; ++i)
123 r[i].assign_char(s[i]);
124
125 return r;
126}
128
129} // namespace literals
130
131} // namespace seqan3
constexpr derived_type & assign_char(char_type const chr) noexcept
Assign from a character, implicitly converts invalid characters.
Definition alphabet_base.hpp:160
A "pretty printer" for most SeqAn data structures and related types.
Definition debug_stream_type.hpp:79
Quality type for PacBio Phred scores of HiFi reads.
Definition phred94.hpp:41
static constexpr char_type offset_char
The projection offset between char and rank score representation.
Definition phred94.hpp:81
static constexpr phred_type offset_phred
The projection offset between Phred and rank score representation.
Definition phred94.hpp:75
constexpr phred94() noexcept=default
Defaulted.
A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets.
Definition phred_base.hpp:30
int8_t phred_type
The integer representation of the quality score.
Definition phred_base.hpp:39
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Provides seqan3::phred42 quality scores.
#define SEQAN3_WORKAROUND_LITERAL
Our char literals returning std::vector should be constexpr if constexpr std::vector is supported.
Definition platform.hpp:310
Hide me