SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
phred68solexa.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
9
10
#pragma once
11
12
#include <
seqan3/alphabet/quality/phred_base.hpp
>
13
14
namespace
seqan3
15
{
16
36
class
phred68solexa
:
public
phred_base<phred68solexa, 68>
37
{
38
private
:
40
using
base_t = phred_base<phred68solexa, 68>;
41
43
friend
base_t;
46
friend
base_t::base_t;
48
49
public
:
53
constexpr
phred68solexa
() noexcept = default;
54
constexpr
phred68solexa
(
phred68solexa
const &) noexcept = default;
55
constexpr
phred68solexa
(
phred68solexa
&&) noexcept = default;
56
constexpr
phred68solexa
& operator=(
phred68solexa
const &) noexcept = default;
57
constexpr
phred68solexa
& operator=(
phred68solexa
&&) noexcept = default;
58
~
phred68solexa
() noexcept = default;
59
60
// Inherit converting constructor
61
using base_t::base_t;
63
71
static constexpr
phred_type
offset_phred
{-5};
72
77
static
constexpr
char_type
offset_char
{
';'
};
79
};
80
81
inline
namespace
literals
82
{
83
97
constexpr
phred68solexa
operator
""
_phred68solexa(
char
const
c)
noexcept
98
{
99
return
phred68solexa
{}.assign_char(c);
100
}
101
113
SEQAN3_WORKAROUND_LITERAL
std::vector<phred68solexa>
operator
""
_phred68solexa(
char
const
* s,
std::size_t
n)
114
{
115
std::vector<phred68solexa>
r;
116
r.
resize
(n);
117
118
for
(
size_t
i = 0; i < n; ++i)
119
r[i].
assign_char
(s[i]);
120
121
return
r;
122
}
123
124
125
}
// namespace literals
126
127
}
// namespace seqan3
seqan3::alphabet_base::assign_char
constexpr derived_type & assign_char(char_type const chr) noexcept
Assign from a character, implicitly converts invalid characters.
Definition
alphabet_base.hpp:160
seqan3::alphabet_base::char_type
std::conditional_t< std::same_as< char_t, void >, char, char_t > char_type
The char representation; conditional needed to make semi alphabet definitions legal.
Definition
alphabet_base.hpp:69
seqan3::phred68solexa::offset_phred
static constexpr phred_type offset_phred
The projection offset between Phred and rank score representation.
Definition
phred68solexa.hpp:71
seqan3::phred68solexa::offset_char
static constexpr char_type offset_char
The projection offset between char and rank score representation.
Definition
phred68solexa.hpp:77
seqan3::phred68solexa::phred68solexa
constexpr phred68solexa() noexcept=default
Defaulted.
seqan3::phred_base< phred68solexa, 68 >::phred_type
int8_t phred_type
Definition
phred_base.hpp:39
seqan3
The main SeqAn3 namespace.
Definition
aligned_sequence_concept.hpp:26
phred_base.hpp
Provides seqan3::phred42 quality scores.
SEQAN3_WORKAROUND_LITERAL
#define SEQAN3_WORKAROUND_LITERAL
Our char literals returning std::vector should be constexpr if constexpr std::vector is supported.
Definition
platform.hpp:310
std::vector::resize
T resize(T... args)
std::size_t
std::vector
Hide me
Version:
seqan3
alphabet
quality
phred68solexa.hpp
Generated on
for SeqAn3 by
1.17.0