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

Only available when default_edit_distance_trait_type::is_semi_global is true. More...

#include <seqan3/alignment/pairwise/edit_distance_unbanded.hpp>

+ Inheritance diagram for seqan3::detail::edit_distance_unbanded_semi_global_policy< derived_t, edit_traits >:

Protected Types

using base_t = edit_distance_unbanded_global_policy< derived_t, edit_traits >
 The base policy of this policy.
 

Protected Member Functions

Constructors, destructor and assignment
 edit_distance_unbanded_semi_global_policy () noexcept=default
 Defaulted.
 
 edit_distance_unbanded_semi_global_policy (edit_distance_unbanded_semi_global_policy const &) noexcept=default
 Defaulted.
 
 edit_distance_unbanded_semi_global_policy (edit_distance_unbanded_semi_global_policy &&) noexcept=default
 Defaulted.
 
edit_distance_unbanded_semi_global_policyoperator= (edit_distance_unbanded_semi_global_policy const &) noexcept=default
 Defaulted.
 
edit_distance_unbanded_semi_global_policyoperator= (edit_distance_unbanded_semi_global_policy &&) noexcept=default
 Defaulted.
 
 ~edit_distance_unbanded_semi_global_policy () noexcept=default
 Defaulted.
 
Semi-Global Policy: Protected Member Functions

Defaulted.

void score_init () noexcept
 Initialises semi-global policy.
 
void update_best_score () noexcept
 Update the current best known score if the current score is better.
 
size_t end_positions_first () const noexcept
 Returns the first component of the end_positions.
 
- Protected Member Functions inherited from seqan3::detail::edit_distance_unbanded_global_policy< derived_t, edit_traits >
 edit_distance_unbanded_global_policy () noexcept=default
 Defaulted.
 
 edit_distance_unbanded_global_policy (edit_distance_unbanded_global_policy const &) noexcept=default
 Defaulted.
 
 edit_distance_unbanded_global_policy (edit_distance_unbanded_global_policy &&) noexcept=default
 Defaulted.
 
edit_distance_unbanded_global_policyoperator= (edit_distance_unbanded_global_policy const &) noexcept=default
 Defaulted.
 
edit_distance_unbanded_global_policyoperator= (edit_distance_unbanded_global_policy &&) noexcept=default
 Defaulted.
 
 ~edit_distance_unbanded_global_policy () noexcept=default
 Defaulted.
 
void score_init () noexcept
 Initialises global policy.
 
bool is_valid () const noexcept
 Returns true if the computation produced a valid alignment.
 
seqan3::detail::advanceable_alignment_coordinate invalid_coordinate () const noexcept
 Returns an invalid_coordinate for this alignment.
 
void update_best_score () noexcept
 Update the current best known score if the current score is better.
 
size_t end_positions_first () const noexcept
 Returns the first component of the end_positions.
 

Protected Attributes

friend derived_t
 Befriends the derived type.
 
Semi-Global Policy: Protected Attributes

Defaulted.

database_iterator _best_score_col {}
 In which column the best score of the alignment is located. Will only be tracked if is_semi_global is true.
 
- Protected Attributes inherited from seqan3::detail::edit_distance_unbanded_global_policy< derived_t, edit_traits >
friend derived_t
 Befriends the derived type.
 
score_type _best_score {}
 The best score of the alignment in the last row (if is_semi_global = true) or the last entry in the score matrix (if is_global = true).
 

Additional Inherited Members

- Public Types inherited from seqan3::detail::default_edit_distance_trait_type< database_t, query_t, align_config_t, is_semi_global_t, word_t >
using align_config_type = std::remove_reference_t< align_config_t >
 The type of the alignment config.
 
using alignment_result_type = typename alignment_traits_type::alignment_result_type
 The alignment result type generated by the algorithm.
 
using alignment_traits_type = alignment_configuration_traits< align_config_type >
 The alignment algorithm traits over the alignment configuration type.
 
using database_iterator = std::ranges::iterator_t< database_type >
 The type of an iterator of the database sequence.
 
using database_type = std::remove_reference_t< database_t >
 The type of the database sequence.
 
using query_alphabet_type = std::remove_reference_t< std::ranges::range_reference_t< query_type > >
 The alphabet type of the query sequence.
 
using query_type = std::remove_reference_t< query_t >
 The type of the query sequence.
 
using result_value_type = typename alignment_result_value_type_accessor< alignment_result_type >::type
 The alignment result value type.
 
using score_matrix_type = edit_distance_score_matrix_full< word_type, score_type, is_semi_global, use_max_errors >
 The type of the score matrix.
 
using score_type = typename alignment_traits_type::original_score_type
 The type of the score.
 
using trace_matrix_type = edit_distance_trace_matrix_full< word_type, is_semi_global, use_max_errors >
 The type of the trace matrix.
 
using word_type = word_t
 The type of one machine word.
 
- Public Member Functions inherited from seqan3::detail::edit_distance_unbanded_global_policy< derived_t, edit_traits >
std::optional< score_typescore () const noexcept
 Return the score of the alignment. Only available if default_edit_distance_trait_type::compute_score is true.
 
seqan3::detail::advanceable_alignment_coordinate end_positions () const noexcept
 Return the end position of the alignment Only available if default_edit_distance_trait_type::compute_end_positions is true.
 
- Static Public Attributes inherited from seqan3::detail::default_edit_distance_trait_type< database_t, query_t, align_config_t, is_semi_global_t, word_t >
static constexpr bool compute_begin_positions
 Whether the alignment configuration indicates to compute and/or store the begin positions.
 
static constexpr bool compute_end_positions
 Whether the alignment configuration indicates to compute and/or store the end positions.
 
static constexpr bool compute_matrix = compute_score_matrix || compute_trace_matrix
 Whether the alignment configuration indicates to compute and/or store the score or trace matrix.
 
static constexpr bool compute_score = true
 Whether the alignment configuration indicates to compute and/or store the score.
 
static constexpr bool compute_score_matrix = false
 Whether the alignment configuration indicates to compute and/or store the score matrix.
 
static constexpr bool compute_sequence_alignment = alignment_traits_type::compute_sequence_alignment
 Whether the alignment configuration indicates to compute and/or store the alignment of the sequences.
 
static constexpr bool compute_trace_matrix = compute_begin_positions || compute_sequence_alignment
 Whether the alignment configuration indicates to compute and/or store the trace matrix.
 
static constexpr bool is_global = !is_semi_global
 Whether the alignment is a global alignment or not.
 
static constexpr bool is_semi_global = is_semi_global_t::value
 Whether the alignment is a semi-global alignment or not.
 
static constexpr bool use_max_errors = align_config_type::template exists<align_cfg::min_score>()
 When true the computation will use the ukkonen trick with the last active cell and bounds the error to config.max_errors.
 
static constexpr uint8_t word_size = bits_of<word_type>
 The size of one machine word.
 

Detailed Description

template<typename derived_t, typename edit_traits>
class seqan3::detail::edit_distance_unbanded_semi_global_policy< derived_t, edit_traits >

Only available when default_edit_distance_trait_type::is_semi_global is true.

Member Function Documentation

◆ end_positions_first()

template<typename derived_t , typename edit_traits >
size_t seqan3::detail::edit_distance_unbanded_semi_global_policy< derived_t, edit_traits >::end_positions_first ( ) const
inlineprotectednoexcept

Returns the first component of the end_positions.

◆ update_best_score()

template<typename derived_t , typename edit_traits >
void seqan3::detail::edit_distance_unbanded_semi_global_policy< derived_t, edit_traits >::update_best_score ( )
inlineprotectednoexcept

Update the current best known score if the current score is better.

Member Data Documentation

◆ _best_score_col

template<typename derived_t , typename edit_traits >
database_iterator seqan3::detail::edit_distance_unbanded_semi_global_policy< derived_t, edit_traits >::_best_score_col {}
protected

In which column the best score of the alignment is located. Will only be tracked if is_semi_global is true.

If is_global is true this is always at the last entry in the score matrix, i.e. at position (|query|, |database|).


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