SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::scoring_scheme_policy< alignment_algorithm_t, scoring_scheme_t > Class Template Reference

The CRTP-policy that stores the scoring scheme used for this alignment algorithm. More...

#include <seqan3/alignment/pairwise/policy/scoring_scheme_policy.hpp>

Private Member Functions

template<typename alphabet_t >
requires simd_concept<std::remove_cvref_t<alphabet_t>>
auto scoring_scheme_profile_column (alphabet_t &&alphabet) const noexcept
 Maybe converts the given sequence value to a specific profile used by the underlying scoring scheme.
 
template<semialphabet alphabet_t>
alphabet_t scoring_scheme_profile_column (alphabet_t &&alphabet) const noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Constructors, destructor and assignment
constexpr scoring_scheme_policy ()=default
 Defaulted.
 
constexpr scoring_scheme_policy (scoring_scheme_policy const &)=default
 Defaulted.
 
constexpr scoring_scheme_policy (scoring_scheme_policy &&)=default
 Defaulted.
 
constexpr scoring_scheme_policyoperator= (scoring_scheme_policy const &)=default
 Defaulted.
 
constexpr scoring_scheme_policyoperator= (scoring_scheme_policy &&)=default
 Defaulted.
 
 ~scoring_scheme_policy ()=default
 Defaulted.
 
template<typename configuration_t >
 scoring_scheme_policy (configuration_t const &)
 Initialise the policy.
 

Private Attributes

friend alignment_algorithm_t
 Befriends the derived class to grant it access to the private members.
 
scoring_scheme_t scoring_scheme {}
 The scoring scheme used for this alignment algorithm.
 

Detailed Description

template<typename alignment_algorithm_t, typename scoring_scheme_t>
class seqan3::detail::scoring_scheme_policy< alignment_algorithm_t, scoring_scheme_t >

The CRTP-policy that stores the scoring scheme used for this alignment algorithm.

Template Parameters
alignment_algorithm_tThe derived type (seqan3::detail::alignment_algorithm) to be augmented with this CRTP-policy.
scoring_scheme_tThe type of the scoring scheme.
Remarks
The template parameters of this CRTP-policy are selected in the seqan3::detail::alignment_configurator::configure_scoring_scheme when selecting the alignment for the given configuration.

Member Function Documentation

◆ scoring_scheme_profile_column()

template<typename alignment_algorithm_t , typename scoring_scheme_t >
template<typename alphabet_t >
requires simd_concept<std::remove_cvref_t<alphabet_t>>
auto seqan3::detail::scoring_scheme_policy< alignment_algorithm_t, scoring_scheme_t >::scoring_scheme_profile_column ( alphabet_t &&  alphabet) const
inlineprivatenoexcept

Maybe converts the given sequence value to a specific profile used by the underlying scoring scheme.

In the vectorised alignment the scoring scheme might transform the sequence values of the first sequence into a profile for a more efficient comparison of the sequence characters in simd mode.

If the given sequence type models seqan3::semialphabet the function becomes a no-op function and returns the unmodified value.


The documentation for this class was generated from the following file:
Hide me