|
SeqAn3 3.4.1-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.