SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
nucleotide_scoring_scheme.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
11#pragma once
12
15
16namespace seqan3
17{
18
33template <arithmetic score_type = int8_t>
34class nucleotide_scoring_scheme : public scoring_scheme_base<nucleotide_scoring_scheme<score_type>, dna15, score_type>
35{
36private:
39
41 friend base_t;
42
43public:
46 using typename base_t::matrix_type;
48
53 constexpr nucleotide_scoring_scheme() noexcept = default;
55 template <arithmetic score_arg_t>
56 constexpr nucleotide_scoring_scheme(match_score<score_arg_t> const ms, mismatch_score<score_arg_t> const mms) :
57 base_t{ms, mms}
58 {}
60 constexpr nucleotide_scoring_scheme(matrix_type const & matrix) noexcept : base_t{matrix}
61 {}
63};
64
71nucleotide_scoring_scheme()->nucleotide_scoring_scheme<int8_t>;
72
76template <arithmetic score_arg_type>
79
81template <arithmetic score_arg_type>
84
85} // namespace seqan3
A data structure for managing and computing the score of two nucleotides.
Definition nucleotide_scoring_scheme.hpp:35
nucleotide_scoring_scheme(std::array< std::array< score_arg_type, 15 >, 15 >) -> nucleotide_scoring_scheme< score_arg_type >
Deduce the score type from the provided matrix.
constexpr nucleotide_scoring_scheme(matrix_type const &matrix) noexcept
Constructor for a custom scheme (delegates to set_custom_matrix()).
Definition nucleotide_scoring_scheme.hpp:60
constexpr nucleotide_scoring_scheme() noexcept=default
The default constructor (delegates to set_hamming_distance()).
nucleotide_scoring_scheme() -> nucleotide_scoring_scheme< int8_t >
Default constructed objects deduce to int8_t.
nucleotide_scoring_scheme(match_score< score_arg_type >, mismatch_score< score_arg_type >) -> nucleotide_scoring_scheme< int8_t >
Attention: This guide does not actually deduce from the underlying type, but always defaults to int8_...
A CRTP base class for scoring schemes.
Definition scoring_scheme_base.hpp:97
std::array< std::array< score_type, matrix_size >, matrix_size > matrix_type
Type of the internal matrix (a two-dimensional array).
Definition scoring_scheme_base.hpp:117
Provides seqan3::dna15, container aliases and string literals.
A type that satisfies std::is_arithmetic_v<t>.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Provides seqan3::scoring_scheme_base.
A strong type of underlying type score_type that represents the score of two matching characters.
Definition scoring_scheme_base.hpp:38
A strong type of underlying type score_type that represents the score two different characters.
Definition scoring_scheme_base.hpp:63
Hide me