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

Implements the alignment result builder. More...

#include <seqan3/alignment/pairwise/detail/policy_alignment_result_builder.hpp>

Protected Types

using result_type = typename traits_type::alignment_result_type
 The alignment result type.
 
using traits_type = alignment_configuration_traits< alignment_configuration_t >
 The configuration traits type.
 

Protected Member Functions

template<typename sequence_pair_t , typename index_t , typename score_t , typename matrix_coordinate_t , typename alignment_matrix_t , typename callback_t >
requires std::invocable<callback_t, result_type>
void make_result_and_invoke (sequence_pair_t &&sequence_pair, index_t &&id, score_t score, matrix_coordinate_t end_positions, alignment_matrix_t const &alignment_matrix, callback_t &&callback)
 Builds the seqan3::alignment_result based on the given alignment result type and then invokes the given callable with the result.
 
Constructors, destructor and assignment
 policy_alignment_result_builder ()=default
 Defaulted.
 
 policy_alignment_result_builder (policy_alignment_result_builder const &)=default
 Defaulted.
 
 policy_alignment_result_builder (policy_alignment_result_builder &&)=default
 Defaulted.
 
policy_alignment_result_builderoperator= (policy_alignment_result_builder const &)=default
 Defaulted.
 
policy_alignment_result_builderoperator= (policy_alignment_result_builder &&)=default
 Defaulted.
 
 ~policy_alignment_result_builder ()=default
 Defaulted.
 
 policy_alignment_result_builder (alignment_configuration_t const &config)
 Construction and initialisation using the alignment configuration.
 

Detailed Description

template<typename alignment_configuration_t>
requires seqan3::detail::is_type_specialisation_of_v<configuration_t, configuration>
class seqan3::detail::policy_alignment_result_builder< alignment_configuration_t >

Implements the alignment result builder.

Template Parameters
alignment_configuration_tThe type of the alignment configuration; must be a type specialisation of seqan3::configuration.

Implements the interfaces to build the alignment result based on the previously selected output configurations.

Constructor & Destructor Documentation

◆ policy_alignment_result_builder()

template<typename alignment_configuration_t >
seqan3::detail::policy_alignment_result_builder< alignment_configuration_t >::policy_alignment_result_builder ( alignment_configuration_t const &  config)
inlineprotected

Construction and initialisation using the alignment configuration.

Parameters
[in]configThe alignment configuration [not used in this context].

Member Function Documentation

◆ make_result_and_invoke()

template<typename alignment_configuration_t >
template<typename sequence_pair_t , typename index_t , typename score_t , typename matrix_coordinate_t , typename alignment_matrix_t , typename callback_t >
requires std::invocable<callback_t, result_type>
void seqan3::detail::policy_alignment_result_builder< alignment_configuration_t >::make_result_and_invoke ( sequence_pair_t &&  sequence_pair,
index_t &&  id,
score_t  score,
matrix_coordinate_t  end_positions,
alignment_matrix_t const &  alignment_matrix,
callback_t &&  callback 
)
inlineprotected

Builds the seqan3::alignment_result based on the given alignment result type and then invokes the given callable with the result.

Template Parameters
sequence_pair_tThe type of the sequence pair.
id_tThe type of the id.
score_tThe type of the score.
matrix_coordinate_tThe type of the matrix coordinate.
alignment_matrix_tThe type of the alignment matrix.
callback_tThe type of the callback to invoke.
Parameters
[in]sequence_pairThe indexed sequence pair.
[in]idThe associated id.
[in]scoreThe best alignment score.
[in]end_positionsThe matrix coordinate of the best alignment score.
[in]alignment_matrixThe alignment matrix to obtain the trace back from.
[in]callbackThe callback to invoke with the generated result.

Generates a seqan3::alignment_result object with the results computed during the alignment. Depending on the seqan3::align_cfg::output_* configuration only the requested values are stored. In some cases some additional work is done to generate the requested result. For example computing the associated alignment from the traceback matrix.


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