SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
Provides the algorithm to search in an index using search schemes. More...
#include <type_traits>
#include <seqan3/search/detail/search_common.hpp>
#include <seqan3/search/detail/search_scheme_precomputed.hpp>
#include <seqan3/search/detail/search_traits.hpp>
#include <seqan3/search/fm_index/bi_fm_index.hpp>
#include <seqan3/search/fm_index/concept.hpp>
#include <seqan3/utility/type_traits/detail/transformation_trait_or.hpp>
#include <seqan3/utility/views/slice.hpp>
Go to the source code of this file.
Classes | |
class | seqan3::detail::search_scheme_algorithm< configuration_t, index_t, policies_t > |
The algorithm that performs a bidirectional search on a bidirectional FM index using (optimal) search schemes. More... | |
Namespaces | |
namespace | seqan3 |
The main SeqAn3 namespace. | |
namespace | seqan3::detail |
The internal SeqAn3 namespace. | |
Functions | |
std::vector< search_dyn > | seqan3::detail::compute_ss (uint8_t const min_error, uint8_t const max_error) |
Computes a (non-optimal) search scheme. Currently the generated search scheme represents trivial backtracking. | |
template<typename search_scheme_t > | |
auto | seqan3::detail::search_scheme_block_info (search_scheme_t const &search_scheme, size_t const query_length) |
Returns for each search the cumulative length of blocks in the order of blocks in each search and the starting position of the first block in the query sequence. | |
template<bool abort_on_hit, typename cursor_t , typename query_t , typename search_t , typename blocks_length_t , typename delegate_t > | |
bool | seqan3::detail::search_ss (cursor_t cur, query_t &query, typename cursor_t::size_type const lb, typename cursor_t::size_type const rb, uint8_t const errors_spent, uint8_t const block_id, bool const go_right, search_t const &search, blocks_length_t const &blocks_length, search_param const error_left, delegate_t &&delegate) |
Searches a query sequence in a bidirectional index using a single search of a search schemes. | |
template<bool abort_on_hit, typename index_t , typename query_t , typename search_scheme_t , typename delegate_t > | |
void | seqan3::detail::search_ss (index_t const &index, query_t &query, search_param const error_left, search_scheme_t const &search_scheme, delegate_t &&delegate) |
Searches a query sequence in a bidirectional index using search schemes. | |
template<bool abort_on_hit, typename cursor_t , typename query_t , typename search_t , typename blocks_length_t , typename delegate_t > | |
bool | seqan3::detail::search_ss_children (cursor_t cur, query_t &query, typename cursor_t::size_type const lb, typename cursor_t::size_type const rb, uint8_t const errors_spent, uint8_t const block_id, bool const go_right, uint8_t const min_error_left_in_block, search_t const &search, blocks_length_t const &blocks_length, search_param const error_left, delegate_t &&delegate) |
Searches a query sequence in a bidirectional index using a single search of a search schemes. Sub-function for approximate search step (iterating over all children in a conceptual suffix tree). | |
template<bool abort_on_hit, typename cursor_t , typename query_t , typename search_t , typename blocks_length_t , typename delegate_t > | |
bool | seqan3::detail::search_ss_deletion (cursor_t cur, query_t &query, typename cursor_t::size_type const lb, typename cursor_t::size_type const rb, uint8_t const errors_spent, uint8_t const block_id, bool const go_right, search_t const &search, blocks_length_t const &blocks_length, search_param const error_left, delegate_t &&delegate) |
Searches a query sequence in a bidirectional index using a single search of a search schemes. Sub-function for deletions at the end of a block. | |
template<bool abort_on_hit, typename cursor_t , typename query_t , typename search_t , typename blocks_length_t , typename delegate_t > | |
bool | seqan3::detail::search_ss_exact (cursor_t cur, query_t &query, typename cursor_t::size_type const lb, typename cursor_t::size_type const rb, uint8_t const errors_spent, uint8_t const block_id, bool const go_right, search_t const &search, blocks_length_t const &blocks_length, search_param const error_left, delegate_t &&delegate) |
Searches a query sequence in a bidirectional index using a single search of a search scheme. Sub-function for searching the remaining part of the current block without any errors. | |
Provides the algorithm to search in an index using search schemes.