A data structure for managing and computing the score of two nucleotides. More...
#include <seqan3/alignment/scoring/nucleotide_scoring_scheme.hpp>
Public Member Functions | |
Constructors, destructor and assignment | |
constexpr | nucleotide_scoring_scheme () noexcept=default |
The default constructor (delegates to set_hamming_distance()). More... | |
template<arithmetic score_arg_t> | |
constexpr | nucleotide_scoring_scheme (match_score< score_arg_t > const ms, mismatch_score< score_arg_t > const mms) |
Constructor for the simple scheme (delegates to set_simple_scheme()). More... | |
constexpr | nucleotide_scoring_scheme (matrix_type const &matrix) noexcept |
Constructor for a custom scheme (delegates to set_custom_matrix()). More... | |
![]() | |
constexpr | scoring_scheme_base (scoring_scheme_base const &) noexcept=default |
Defaulted. | |
constexpr | scoring_scheme_base (scoring_scheme_base &&) noexcept=default |
Defaulted. | |
constexpr | scoring_scheme_base () noexcept |
The default constructor (delegates to set_hamming_distance()). | |
constexpr | scoring_scheme_base (match_score< score_arg_t > const ms, mismatch_score< score_arg_t > const mms) |
Constructor for the simple scheme (delegates to set_simple_scheme()). More... | |
constexpr | scoring_scheme_base (matrix_type const &matrix) noexcept |
Constructor for a custom scheme (delegates to set_custom_matrix()). More... | |
constexpr scoring_scheme_base & | operator= (scoring_scheme_base const &) noexcept=default |
Defaulted. | |
constexpr scoring_scheme_base & | operator= (scoring_scheme_base &&) noexcept=default |
Defaulted. | |
~scoring_scheme_base () noexcept=default | |
Defaulted. | |
constexpr void | set_hamming_distance () noexcept |
Set the hamming scheme, a variant of the simple scheme where match is scored 0 and mismatch -1 . | |
constexpr void | set_simple_scheme (match_score< score_arg_t > const ms, mismatch_score< score_arg_t > const mms) |
Set the simple scheme (everything is either match or mismatch). More... | |
constexpr void | set_custom_matrix (matrix_type const &matrix) noexcept |
Set a custom scheme by passing a full matrix with arbitrary content. More... | |
constexpr score_t & | score (alph1_t const alph1, alph2_t const alph2) noexcept |
Score two letters (either two nucleotids or two amino acids). More... | |
constexpr score_t | score (alph1_t const alph1, alph2_t const alph2) const noexcept |
Score two letters (either two nucleotids or two amino acids). More... | |
constexpr bool | operator== (nucleotide_scoring_scheme< int8_t > const &rhs) const noexcept |
Checks whether *this is equal to rhs . | |
constexpr bool | operator!= (nucleotide_scoring_scheme< int8_t > const &rhs) const noexcept |
Checks whether *this is not equal to rhs . | |
Related Functions | |
(Note that these are not member functions.) | |
Type deduction guides | |
nucleotide_scoring_scheme () -> nucleotide_scoring_scheme< int8_t > | |
Default constructed objects deduce to int8_t . | |
template<arithmetic score_arg_type> | |
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_t . To use a larger type, specify the template argument manually. | |
template<arithmetic score_arg_type> | |
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. | |
Additional Inherited Members | |
![]() | |
using | score_type = score_t |
Type of the score values. | |
using | alphabet_type = alphabet_t |
Type of the underlying alphabet. | |
using | matrix_size_type = std::remove_const_t< decltype(alphabet_size< alphabet_t >)> |
Size type that can hold the dimension of the matrix (i.e. size of the alphabet). | |
using | matrix_type = std::array< std::array< score_type, matrix_size >, matrix_size > |
Type of the internal matrix (a two-dimensional array). | |
![]() | |
static constexpr matrix_size_type | matrix_size |
Size of the matrix dimensions (i.e. size of the alphabet). | |
A data structure for managing and computing the score of two nucleotides.
score_type | The underlying type. |
You can use an instance of this class to score two nucleotides, the nucleotides need not be of the same type. Different scoring behaviour can be set via the member functions.
|
no-apiconstexprdefaultnoexcept |
The default constructor (delegates to set_hamming_distance()).
|
no-apiinlineconstexpr |
Constructor for the simple scheme (delegates to set_simple_scheme()).
score_arg_t | The underlying type of the arguments. |
[in] | ms | Matches shall be given this value (of type seqan3::match_score). |
[in] | mms | Mismatches shall be given this value (of type seqan3::mismatch_score). |
std::invalid_argument | Thrown if you pass a value that is to large/low to be represented by score_t . |
|
no-apiinlineconstexprnoexcept |
Constructor for a custom scheme (delegates to set_custom_matrix()).
[in] | matrix | A full matrix that is copied into the scheme. |