SeqAn3  3.0.0
The Modern C++ library for sequence analysis.
nucleotide_scoring_scheme.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2019, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2019, Knut Reinert & MPI für molekulare Genetik
4 // This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5 // shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6 // -----------------------------------------------------------------------------------------------------
7 
14 #pragma once
15 
18 
19 namespace seqan3
20 {
21 
43 template <Arithmetic score_type = int8_t>
44 class nucleotide_scoring_scheme : public scoring_scheme_base<nucleotide_scoring_scheme<score_type>, dna15, score_type>
45 {
46 private:
49 public:
53  //NOTE(h-2): unfortunately these are not inherited in the documentation
55  SEQAN3_DOXYGEN_ONLY(( constexpr nucleotide_scoring_scheme() noexcept {} ))
57  SEQAN3_DOXYGEN_ONLY((
58  template <Arithmetic score_arg_t>
60  ))
62  SEQAN3_DOXYGEN_ONLY(( constexpr nucleotide_scoring_scheme(matrix_type const & _matrix) noexcept {} ))
64 
67  using base_t::base_t;
68 };
69 
75 nucleotide_scoring_scheme() -> nucleotide_scoring_scheme<int8_t>;
77 
81 template <Arithmetic score_arg_type>
82 nucleotide_scoring_scheme(match_score<score_arg_type>,
83  mismatch_score<score_arg_type>) -> nucleotide_scoring_scheme<int8_t>;
84 
86 template <Arithmetic score_arg_type>
87 nucleotide_scoring_scheme(std::array<std::array<score_arg_type, 15>, 15>) -> nucleotide_scoring_scheme<score_arg_type>;
89 
90 } // namespace seqan3
A CRTP base class for scoring schemes.
Definition: scoring_scheme_base.hpp:99
The main SeqAn3 namespace.
A strong type of underlying type score_type that represents the score of two matching characters...
Definition: scoring_scheme_base.hpp:41
A strong type of underlying type score_type that represents the score two different characters...
Definition: scoring_scheme_base.hpp:66
A data structure for managing and computing the score of two nucleotides.
Definition: nucleotide_scoring_scheme.hpp:44
constexpr nucleotide_scoring_scheme() noexcept
The default constructor (delegates to set_hamming_distance()).
Definition: nucleotide_scoring_scheme.hpp:55
Provides seqan3::scoring_scheme_base.
Provides seqan3::dna15, container aliases and string literals.