Data structures and utility functions for configuring search algorithm. More...
Classes | |
struct | seqan3::search_cfg::deletion< value_t > |
A strong type of underlying type uint8_t or double that represents the number or rate of deletions. More... | |
struct | seqan3::search_cfg::insertion< value_t > |
A strong type of underlying type uint8_t or double that represents the number or rate of insertions. More... | |
class | seqan3::search_cfg::max_error< errors_t > |
A configuration element for the maximum number of errors across all error types (mismatches, insertions, deletions). This is an upper bound of errors independent from error numbers of specific error types. More... | |
class | seqan3::search_cfg::max_error_rate< errors_t > |
A configuration element for the maximum number of errors in percent of the query length across all error types (mismatches, insertions, deletions). This is an upper bound of errors independent from error rates of specific error types. More... | |
struct | seqan3::search_cfg::mode< mode_t > |
Configuration element to determine the search mode. More... | |
struct | seqan3::search_cfg::output< output_t > |
Configuration element to determine the output type of hits. More... | |
struct | seqan3::search_cfg::strata |
Configuration element to receive all hits with the best number of errors plus the strata value. A strong type of underlying type uint8_t that represents the number or errors for strata. All hits are found with the fewest numbererrors plus 'value'. More... | |
struct | seqan3::search_cfg::substitution< value_t > |
A strong type of underlying type uint8_t or double that represents the number or rate of substitutions. More... | |
struct | seqan3::search_cfg::total< value_t > |
A strong type of underlying type uint8_t or double that represents the number or rate of total errors. More... | |
Typedefs | |
using | seqan3::search_cfg::parallel = seqan3::detail::parallel_mode< std::integral_constant< detail::search_config_id, detail::search_config_id::parallel > > |
Enables the parallel execution of the search algorithm if possible for the given configuration. More... | |
Variables | |
constexpr detail::search_mode_all | seqan3::search_cfg::all |
Configuration element to receive all hits within the error bounds. | |
constexpr detail::search_mode_all_best | seqan3::search_cfg::all_best |
Configuration element to receive all hits within the lowest number of errors. | |
constexpr detail::search_mode_best | seqan3::search_cfg::best |
Configuration element to receive one best hit (with the lowest number of errors). | |
constexpr configuration | seqan3::search_cfg::default_configuration |
The default configuration. More... | |
constexpr detail::search_output_index_cursor | seqan3::search_cfg::index_cursor |
Configuration element to receive all hits within the error bounds. | |
constexpr detail::search_output_text_position | seqan3::search_cfg::text_position |
Configuration element to receive all hits within the lowest number of errors. | |
Data structures and utility functions for configuring search algorithm.
In SeqAn the search algorithm uses a configuration object to determine the desired number/rate of errors, what hits are considered as results, and how to output the result. These configurations exist in their own namespace, namely seqan3::search_cfg, to disambiguate them from the configuration of other algorithms.
If no configuration is provided upon invoking the seqan3::search algorithm, a default configuration is provided:
Configurations can be combined using the |
-operator. If a combination is invalid, a static assertion is triggered during compilation and will inform the user that the the last config cannot be combined with any of the configs from the left-hand side of the configuration specification. Unfortunately, the names of the invalid types cannot be printed within the static assert, but the following table shows which combinations are possible. In general, the same configuration element cannot occur more than once inside of a configuration specification.
| Config | 0 | 1 | 2 | 3 | | ---------------------------------------------------------—|----—|----—|----—|----—| | 0: Max error | ❌ | ❌ | ✅ | ✅ | ✅ | | 1: Max error rate | ❌ | ❌ | ✅ | ✅ | ✅ | | 2: Output | ✅ | ✅ | ❌ | ✅ | ✅ | | 3: Mode | ✅ | ✅ | ✅ | ❌ | ✅ | | 4: Parallel | ✅ | ✅ | ✅ | ✅ | ❌ |
using seqan3::search_cfg::parallel = typedef seqan3::detail::parallel_mode<std::integral_constant<detail::search_config_id, detail::search_config_id::parallel> > |
Enables the parallel execution of the search algorithm if possible for the given configuration.
With this configuration you can enable the parallel execution of the search algorithm.
The config element takes the number of threads as a parameter, which must be greater than 0
.
|
inlineconstexpr |
The default configuration.