The CRTP-policy to determine the optimum of the dynamic programming matrix.
More...
#include <seqan3/alignment/pairwise/policy/find_optimum_policy.hpp>
|
template<typename cell_t , typename score_t > |
constexpr void | check_and_update (cell_t const &cell, alignment_algorithm_state< score_t > &state) const noexcept |
| Tests if the score in the current cell is greater than the current alignment optimum.
|
|
template<typename cell_t , typename score_t > |
constexpr void | check_score_of_cell (cell_t const ¤t_cell, alignment_algorithm_state< score_t > &state) const noexcept |
| Checks if a given cell is a new optimum in the alignment.
|
|
template<typename alignment_column_t , typename score_t > |
constexpr void | check_score_of_cells_in_last_column (alignment_column_t &&last_column, alignment_algorithm_state< score_t > &state) const noexcept |
| Checks all cells of the last alignment column for a new alignment optimum.
|
|
template<typename cell_t , typename score_t > |
constexpr void | check_score_of_last_cell (cell_t const &last_cell, alignment_algorithm_state< score_t > &state) const noexcept |
| Checks if the last cell of the alignment matrix is a new optimum in the alignment.
|
|
template<typename cell_t , typename score_t > |
constexpr void | check_score_of_last_row_cell (cell_t const &last_row_cell, alignment_algorithm_state< score_t > &state) const noexcept |
| Checks if a cell in the last row of the alignment matrix is a new optimum in the alignment.
|
|
|
friend | alignment_algorithm_t |
| Befriends the derived class to grant it access to the private members.
|
|
bool | test_every_cell {false} |
| Whether every cell of the alignment matrix shall be tracked.
|
|
bool | test_last_column_cell {false} |
| Whether cells of the last column shall be tracked.
|
|
bool | test_last_row_cell {false} |
| Whether cells of the last row shall be tracked.
|
|
|
template<typename other_alignment_algorithm_t > |
class | affine_gap_init_policy |
| Allow seqan3::detail::affine_gap_init_policy to access check_score.
|
|
template<typename other_alignment_algorithm_t , typename score_t , typename is_local_t > |
class | affine_gap_policy |
| Allow seqan3::detail::affine_gap_policy to access check_score.
|
|
template<typename other_alignment_algorithm_t , simd_concept score_t, typename is_local_t > |
class | simd_affine_gap_policy |
|
template<typename
alignment_algorithm_t>
class seqan3::detail::find_optimum_policy< alignment_algorithm_t >
The CRTP-policy to determine the optimum of the dynamic programming matrix.
- Template Parameters
-
This class determines the matrix wide optimum. The search space can be further refined using the traits_type
which configures the search space of the alignment matrix.
◆ check_and_update()
template<typename cell_t , typename score_t >
|
inlineconstexprprotectednoexcept |
Tests if the score in the current cell is greater than the current alignment optimum.
- Template Parameters
-
- Parameters
-
[in] | cell | The current cell to get the score and the coordinate from. |
[in,out] | state | The state with the current optimum to update. |
◆ check_score_of_cell()
template<typename cell_t , typename score_t >
|
inlineconstexprprotectednoexcept |
Checks if a given cell is a new optimum in the alignment.
- Template Parameters
-
cell_t | The type of the alignment matrix cell. |
score_t | The type of the score. |
- Parameters
-
[in] | current_cell | The currently computed alignment matrix cell. |
[in,out] | state | The state with the current optimum to update. |
This function resolves to a "NO-OP" function if the trait for searching every cell is set to std::false_type.
◆ check_score_of_cells_in_last_column()
template<typename alignment_column_t , typename score_t >
|
inlineconstexprprotectednoexcept |
Checks all cells of the last alignment column for a new alignment optimum.
- Template Parameters
-
alignment_column_t | The type of an alignment column. |
score_t | The type of the optimal score. |
- Parameters
-
[in] | last_column | The last column of the alignment matrix. |
[in,out] | state | The state with the current optimum to update. |
This function resolves to a "NO-OP" function if the trait for searching the last column is set to std::false_type or if the trait for searching every cell is set to std::true_type.
◆ check_score_of_last_cell()
template<typename cell_t , typename score_t >
|
inlineconstexprprotectednoexcept |
Checks if the last cell of the alignment matrix is a new optimum in the alignment.
- Template Parameters
-
cell_t | The type of the last cell. |
score_t | The type of the score. |
- Parameters
-
[in] | last_cell | The last cell of the alignment matrix. |
[in,out] | state | The state with the current optimum to update. |
This function resolves to a "NO-OP" function if the last cell has been checked already as part of the last row, last column, or in case every cell was checked.
◆ check_score_of_last_row_cell()
template<typename cell_t , typename score_t >
|
inlineconstexprprotectednoexcept |
Checks if a cell in the last row of the alignment matrix is a new optimum in the alignment.
- Template Parameters
-
cell_t | The type of the alignment matrix cell. |
score_t | The type of the score. |
- Parameters
-
[in] | last_row_cell | The cell of the current column in the last row of the alignment matrix. |
[in,out] | state | The state with the current optimum to update. |
This function resolves to a "NO-OP" function if the trait for searching the last row is set to std::false_type or if the trait for searching every cell is set to std::true_type.
The documentation for this class was generated from the following file: