SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
nucleotide_scoring_scheme.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
11
#pragma once
12
13
#include <
seqan3/alignment/scoring/scoring_scheme_base.hpp
>
14
#include <
seqan3/alphabet/nucleotide/dna15.hpp
>
15
16
namespace
seqan3
17
{
18
33
template
<arithmetic score_type =
int
8_t>
34
class
nucleotide_scoring_scheme
:
public
scoring_scheme_base
<nucleotide_scoring_scheme<score_type>, dna15, score_type>
35
{
36
private
:
38
using
base_t =
scoring_scheme_base<nucleotide_scoring_scheme, dna15, score_type>
;
39
41
friend
base_t;
42
43
public
:
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
{}
59
60
constexpr
nucleotide_scoring_scheme
(matrix_type
const
& matrix) noexcept : base_t{matrix}
61
{}
62
63
};
64
69
71
nucleotide_scoring_scheme
() ->
nucleotide_scoring_scheme<int8_t>
;
72
76
template
<arithmetic score_arg_type>
77
nucleotide_scoring_scheme
(
match_score<score_arg_type>
,
78
mismatch_score<score_arg_type>
) ->
nucleotide_scoring_scheme<int8_t>
;
79
81
template
<arithmetic score_arg_type>
82
nucleotide_scoring_scheme
(
std::array
<
std::array<score_arg_type, 15>
, 15>) ->
nucleotide_scoring_scheme<score_arg_type>
;
84
85
}
// namespace seqan3
std::array
seqan3::nucleotide_scoring_scheme::nucleotide_scoring_scheme
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.
seqan3::nucleotide_scoring_scheme::nucleotide_scoring_scheme
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
seqan3::nucleotide_scoring_scheme::nucleotide_scoring_scheme
constexpr nucleotide_scoring_scheme() noexcept=default
The default constructor (delegates to set_hamming_distance()).
seqan3::nucleotide_scoring_scheme::nucleotide_scoring_scheme
nucleotide_scoring_scheme() -> nucleotide_scoring_scheme< int8_t >
Default constructed objects deduce to int8_t.
seqan3::nucleotide_scoring_scheme::nucleotide_scoring_scheme
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_...
seqan3::scoring_scheme_base< nucleotide_scoring_scheme< int8_t >, dna15, int8_t >::scoring_scheme_base
constexpr scoring_scheme_base(scoring_scheme_base const &) noexcept=default
seqan3::scoring_scheme_base< nucleotide_scoring_scheme, dna15, score_type >::matrix_type
std::array< std::array< score_type, matrix_size >, matrix_size > matrix_type
Definition
scoring_scheme_base.hpp:117
dna15.hpp
Provides seqan3::dna15, container aliases and string literals.
arithmetic
A type that satisfies std::is_arithmetic_v<t>.
seqan3
The main SeqAn3 namespace.
Definition
aligned_sequence_concept.hpp:26
scoring_scheme_base.hpp
Provides seqan3::scoring_scheme_base.
seqan3::match_score
A strong type of underlying type score_type that represents the score of two matching characters.
Definition
scoring_scheme_base.hpp:38
seqan3::mismatch_score
A strong type of underlying type score_type that represents the score two different characters.
Definition
scoring_scheme_base.hpp:63
Hide me
Version:
seqan3
alignment
scoring
nucleotide_scoring_scheme.hpp
Generated on
for SeqAn3 by
1.17.0