|
(Note that these are not member functions.)
|
|
| aminoacid_scoring_scheme () -> aminoacid_scoring_scheme< int8_t > |
| Default constructed objects deduce to int8_t .
|
|
template<arithmetic score_arg_type> |
| aminoacid_scoring_scheme (match_score< score_arg_type >, mismatch_score< score_arg_type >) -> aminoacid_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> |
| aminoacid_scoring_scheme (std::array< std::array< score_arg_type, 27 >, 27 >) -> aminoacid_scoring_scheme< score_arg_type > |
| Deduce the score type from the provided matrix.
|
|
| aminoacid_scoring_scheme (aminoacid_similarity_matrix) -> aminoacid_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.
|
|
|
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).
|
|
template<
arithmetic score_type = int8_t>
class seqan3::aminoacid_scoring_scheme< score_type >
A data structure for managing and computing the score of two amino acids.
You can use an instance of this class to score two amino acids. The amino acids need not be of the same type. Different scoring behaviour can be set via the member functions.
Example
int main()
{
seqan3::debug_stream <<
"blosum62 score for T and S: " << (int) scheme.score(
'T'_aa27,
'S'_aa27) <<
"\n";
seqan3::debug_stream <<
"blosum80 score for 'T'_aa27 and 'S'_aa20: " << (int) scheme.score(
'T'_aa27,
'S'_aa20) <<
"\n";
scheme.set_hamming_distance();
seqan3::debug_stream <<
"Hamming distance between T and S: " << (int) scheme.score(
'T'_aa27,
'S'_aa20) <<
"\n";
seqan3::debug_stream <<
"Hamming distance between T and T: " << (int) scheme.score(
'T'_aa27,
'T'_aa20) <<
"\n";
seqan3::debug_stream <<
"blosum80 score between T and S: " << (int) scheme2.score(
'T'_aa27,
'S'_aa27) <<
"\n";
auto & cell = scheme2.score('T'_aa27, 'S'_aa27);
cell = 3;
seqan3::debug_stream <<
"New score after editing entry: " << (int) scheme2.score(
'T'_aa27,
'S'_aa27) <<
"\n";
score += scheme3.score(std::get<0>(pair), std::get<1>(pair));
}
Provides seqan3::aa27, container aliases and string literals.
Meta-header for the Alphabet / Aminoacid submodule .
Provides seqan3::aminoacid_scoring_scheme.
A data structure for managing and computing the score of two amino acids.
Definition: aminoacid_scoring_scheme.hpp:75
constexpr score_t & score(alph1_t const alph1, alph2_t const alph2) noexcept
Score two letters (either two nucleotids or two amino acids).
Definition: scoring_scheme_base.hpp:219
Provides seqan3::debug_stream and related types.
@ blosum80
The blosum80 matrix for closely related proteins.
@ blosum62
The blosum62 matrix recommended for most use-cases.
debug_stream_type debug_stream
A global instance of seqan3::debug_stream_type.
Definition: debug_stream.hpp:37
constexpr auto zip
A zip view.
Definition: zip.hpp:29
The SeqAn namespace for literals.
Provides seqan3::views::zip.