A CRTP base class for scoring schemes.
More...
#include <seqan3/alignment/scoring/scoring_scheme_base.hpp>
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
class seqan3::scoring_scheme_base< derived_t, alphabet_t, score_t >
A CRTP base class for scoring schemes.
- Template Parameters
-
derived_t | The derived type. |
alphabet_t | Type of the largest target alphabet. |
score_type | Type of the score values in the internal matrix. |
This type is never used directly, instead use seqan3::nucleotide_scoring_scheme or seqan3::aminoacid_scoring_scheme.
This class is only implementation detail and not required for most users. Types that model seqan3::ScoringScheme can (but don't need to!) inherit from it.
◆ scoring_scheme_base() [1/2]
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
template<Arithmetic score_arg_t>
Constructor for the simple scheme (delegates to set_simple_scheme()).
- Template Parameters
-
score_arg_t | The underlying type of the arguments. |
- Parameters
-
- Exceptions
-
◆ scoring_scheme_base() [2/2]
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
Constructor for a custom scheme (delegates to set_custom_matrix()).
- Parameters
-
[in] | _matrix | A full matrix that is copied into the scheme. |
◆ score() [1/2]
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
template<ExplicitlyConvertibleTo< alphabet_t > alph1_t, ExplicitlyConvertibleTo< alphabet_t > alph2_t>
Score two letters (either two nucleotids or two amino acids).
- Template Parameters
-
alph1_t | Type of the first letter. |
alph2_t | Type of the second letter (needn't be the same as alph1_t). |
- Parameters
-
[in] | alph1 | The first letter to score. |
[in] | alph2 | The second letter to score. |
- Returns
- The score of the two letters in the current scheme.
◆ score() [2/2]
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
template<ExplicitlyConvertibleTo< alphabet_t > alph1_t, ExplicitlyConvertibleTo< alphabet_t > alph2_t>
constexpr score_t seqan3::scoring_scheme_base< derived_t, alphabet_t, score_t >::score |
( |
alph1_t const |
alph1, |
|
|
alph2_t const |
alph2 |
|
) |
| const |
|
inlinenoexcept |
Score two letters (either two nucleotids or two amino acids).
- Template Parameters
-
alph1_t | Type of the first letter. |
alph2_t | Type of the second letter (needn't be the same as alph1_t). |
- Parameters
-
[in] | alph1 | The first letter to score. |
[in] | alph2 | The second letter to score. |
- Returns
- The score of the two letters in the current scheme.
◆ set_custom_matrix()
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
Set a custom scheme by passing a full matrix with arbitrary content.
- Parameters
-
[in] | _matrix | A full matrix that is copied into the scheme. |
◆ set_simple_scheme()
template<typename derived_t, Alphabet alphabet_t, Arithmetic score_t>
template<Arithmetic score_arg_t>
Set the simple scheme (everything is either match or mismatch).
- Template Parameters
-
score_arg_t | The underlying type of the arguments. |
- Parameters
-
- Exceptions
-
The documentation for this class was generated from the following file: