19 namespace seqan3::detail
33 template <
typename alignment_configuration_t,
typename scoring_scheme_t>
34 class policy_scoring_scheme
38 scoring_scheme_t scoring_scheme{};
43 policy_scoring_scheme() =
default;
44 policy_scoring_scheme(policy_scoring_scheme
const &) =
default;
45 policy_scoring_scheme(policy_scoring_scheme &&) =
default;
46 policy_scoring_scheme & operator=(policy_scoring_scheme
const &) =
default;
47 policy_scoring_scheme & operator=(policy_scoring_scheme &&) =
default;
48 ~policy_scoring_scheme() =
default;
53 explicit policy_scoring_scheme(alignment_configuration_t
const & config) :
54 scoring_scheme{
seqan3::
get<align_cfg::scoring_scheme>(config).scheme}
73 template <
typename alphabet_t>
75 requires simd_concept<std::remove_cvref_t<alphabet_t>>
77 auto scoring_scheme_profile_column(alphabet_t &&
alphabet)
const noexcept
79 return scoring_scheme.make_score_profile(std::forward<alphabet_t>(
alphabet));
83 template <semialphabet alphabet_t>
84 alphabet_t scoring_scheme_profile_column(alphabet_t &&
alphabet)
const noexcept
86 return std::forward<alphabet_t>(
alphabet);
Provides seqan3::align_cfg::scoring_scheme.
Provides seqan3::configuration and utility functions.
The generic alphabet concept that covers most data types used in ranges.
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: configuration.hpp:429
Provides seqan3::simd::simd_concept.