SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
The underlying data structure of seqan3::detail::edit_distance_unbanded that represents the trace matrix. More...
#include <seqan3/alignment/matrix/detail/edit_distance_trace_matrix_full.hpp>
Classes | |
struct | column_type |
The state of one computation step. More... | |
struct | max_errors_state |
If use_max_errors is true store these additional state information in state_type. More... | |
struct | trace_matrix_state |
This information is needed to infer the trace matrix. More... | |
struct | trace_path_iterator |
The iterator needed to implement seqan3::detail::edit_distance_trace_matrix_full::trace_path. More... | |
Public Types | |
using | reference = value_type |
The type of a reference to an entry in the matrix. | |
using | size_type = size_t |
The size type of the matrix. | |
using | value_type = detail::trace_directions |
The type of an entry in the matrix. | |
using | word_type = word_t |
The type of one machine word. | |
Public Member Functions | |
reference | at (matrix_coordinate const &coordinate) const noexcept |
A reference to the entry of the matrix at the given coordinate. | |
size_t | cols () const noexcept |
The number of columns in the matrix. | |
void | reserve (size_t const new_capacity) |
Increase the capacity of the columns to a value that's greater or equal to new_capacity . | |
size_t | rows () const noexcept |
The number of rows in the matrix. | |
auto | trace_path (matrix_coordinate const &trace_begin) const |
Returns a trace path starting from the given coordinate and ending in the cell with seqan3::detail::trace_directions::none. | |
Static Public Attributes | |
static constexpr auto | word_size = bits_of<word_type> |
The size of one machine word. | |
Protected Member Functions | |
void | add_column (std::vector< word_type > left, std::vector< word_type > diagonal, std::vector< word_type > up) |
Adds a column to the trace matrix. | |
void | add_column (std::vector< word_type > left, std::vector< word_type > diagonal, std::vector< word_type > up, size_t const max_rows) |
Adds a column to the trace matrix. | |
Private Attributes | |
std::vector< column_type > | columns {} |
The columns of the trace matrix. | |
size_t | rows_size {} |
The number of rows in the matrix. | |
Constructors, destructor and assignment | |
template<typename derived_t , typename edit_traits > | |
class | edit_distance_unbanded_trace_matrix_policy |
Allow seqan3::detail::edit_distance_unbanded_trace_matrix_policy to access the private constructor. | |
edit_distance_trace_matrix_full ()=default | |
Defaulted. | |
edit_distance_trace_matrix_full (edit_distance_trace_matrix_full const &)=default | |
Defaulted. | |
edit_distance_trace_matrix_full (edit_distance_trace_matrix_full &&)=default | |
Defaulted. | |
edit_distance_trace_matrix_full & | operator= (edit_distance_trace_matrix_full const &)=default |
Defaulted. | |
edit_distance_trace_matrix_full & | operator= (edit_distance_trace_matrix_full &&)=default |
Defaulted. | |
~edit_distance_trace_matrix_full ()=default | |
Defaulted. | |
edit_distance_trace_matrix_full (size_t const rows_size) | |
Construct the score_matrix by giving the number of rows within the matrix. | |
The underlying data structure of seqan3::detail::edit_distance_unbanded that represents the trace matrix.
word_t | The type of one machine word. |
is_semi_global | Whether the alignment is a semi-global alignment or not. |
use_max_errors | When true the computation will use the ukkonen trick with the last active cell and bounds the error to config.max_errors. |
using seqan3::detail::edit_distance_trace_matrix_full< word_t, is_semi_global, use_max_errors >::reference = value_type |
The type of a reference to an entry in the matrix.
using seqan3::detail::edit_distance_trace_matrix_full< word_t, is_semi_global, use_max_errors >::size_type = size_t |
The size type of the matrix.
using seqan3::detail::edit_distance_trace_matrix_full< word_t, is_semi_global, use_max_errors >::value_type = detail::trace_directions |
The type of an entry in the matrix.
using seqan3::detail::edit_distance_trace_matrix_full< word_t, is_semi_global, use_max_errors >::word_type = word_t |
The type of one machine word.
|
inlineprotected |
Construct the score_matrix by giving the number of rows within the matrix.
rows_size | The number of rows in the matrix. |
|
inlineprotected |
Adds a column to the trace matrix.
left | Machine words which represent the trace_direction::left. |
diagonal | Machine words which represent the trace_direction::diagonal. |
up | Machine words which represent the trace_direction::up. |
|
inlineprotected |
Adds a column to the trace matrix.
left | Machine words which represent the trace_direction::left. |
diagonal | Machine words which represent the trace_direction::diagonal. |
up | Machine words which represent the trace_direction::up. |
max_rows | The number of max_rows within the current column. Computed by seqan3::detail::edit_distance_score_matrix_full::max_rows. |
|
inlinenoexcept |
A reference to the entry of the matrix at the given coordinate.
|
inlinenoexcept |
The number of columns in the matrix.
|
inline |
Increase the capacity of the columns to a value that's greater or equal to new_capacity
.
new_capacity | The new capacity. |
Strong exception guarantee.
|
inlinenoexcept |
The number of rows in the matrix.
|
inline |
Returns a trace path starting from the given coordinate and ending in the cell with seqan3::detail::trace_directions::none.
[in] | trace_begin | A seqan3::matrix_coordinate pointing to the begin of the trace to follow. |
std::invalid_argument | if the specified coordinate is out of range. |
|
private |
The number of rows in the matrix.
|
staticconstexpr |
The size of one machine word.