SeqAn3
Configuration

Data structures and utility functions for configuring alignment algorithm. More...

Collaboration diagram for Configuration:

Enumerations

enum  seqan3::free_ends_at : uint8_t {
  seqan3::none = 0b0000, seqan3::free_ends_at::seq1_front = 0b0001, seqan3::free_ends_at::seq1_back = 0b0010, seqan3::free_ends_at::seq2_front = 0b0100,
  seqan3::free_ends_at::seq2_back = 0b1000, seqan3::free_ends_at::seq1 = seq1_front | seq1_back, seqan3::free_ends_at::seq2 = seq2_front | seq2_back, seqan3::free_ends_at::all = seq1 | seq2
}
 Enum class for all supported sequence ends specifications. More...
 
enum  seqan3::align_cfg::id : uint8_t {
  seqan3::align_cfg::id::gap, seqan3::align_cfg::id::sequence_ends, seqan3::align_cfg::id::score, seqan3::align_cfg::id::global,
  seqan3::align_cfg::id::output, seqan3::align_cfg::id::max_error, seqan3::align_cfg::id::DEV
}
 Specifies an id for every configuration element. More...
 
enum  seqan3::search_cfg::id : uint8_t { seqan3::search_cfg::id::max_error, max_error_rate, output, mode }
 Specifies an id for every configuration element. More...
 

Variables

constexpr detail::align_config_band_adaptor< seqan3::band_staticseqan3::align_cfg::band_static
 A configuration adaptor for a static band.
 
constexpr detail::align_config_gap_adaptor< seqan3::detail::align_config_gap > seqan3::align_cfg::gap
 A configuration adaptor for gaps.
 
constexpr detail::align_config_global_adaptor seqan3::align_cfg::global
 A configuration adaptor for global alignment.
 
constexpr detail::align_config_max_error_adaptor seqan3::align_cfg::max_error
 A configuration adaptor for maximal errors.
 
template<align_result_key e>
constexpr detail::align_config_output_adaptor< e > seqan3::align_cfg::output
 A configuration adaptor for alignment output.
 
constexpr detail::align_config_score_adaptor seqan3::align_cfg::score
 A configuration adaptor for alignment scoring.
 
template<free_ends_at val = free_ends_at::none>
constexpr detail::align_config_sequence_ends_adaptor< val > seqan3::align_cfg::sequence_ends
 A configuration adaptor for gaps at the sequence ends. More...
 

Detailed Description

Data structures and utility functions for configuring alignment algorithm.

Todo:
Write detailed landing page.

Enumeration Type Documentation

◆ free_ends_at

enum seqan3::free_ends_at : uint8_t
strong

Enum class for all supported sequence ends specifications.

The members specify where continuous gaps in the beginning or end of a sequence are not penalized in the alignment.

Enumerator
none 

No free gaps at the sequence ends. Each gap is scored according to seqan3::align_cfg::gap.

seq1_front 

Continuous gaps in the beginning of the first sequence are not scored.

seq1_back 

Continuous gaps at the end of the first sequence are not scored.

seq2_front 

Continuous gaps in the beginning of the second sequence are not scored.

seq2_back 

Continuous gaps at the end of the second sequence are not scored.

seq1 

Continuous gaps in the beginning and end of the first sequence are not scored.

seq2 

Continuous gaps in the beginning and end of the second sequence are not scored.

all 

Continuous gaps in the beginning and end of both sequences are not scored.

◆ id [1/2]

enum seqan3::align_cfg::id : uint8_t
strong

Specifies an id for every configuration element.

The seqan3::align_cfg::id is used to identify a specific alignment configuration element independent of it's concrete type and position within the seqan3::align_cfg::alignment_configuration object. Thus one can access the value of the corresponding configuration element via the special get interface.

Example

align_cfg::alignment_configuration cfg = align_cfg::gap_linear(gap_cost{-10});
auto cost = get<align_cfg::id::gap>(cfg); // cost = -10;
Enumerator
gap 

Identifier for gap configuration.

sequence_ends 

Identifier for free ends configuration.

score 

Identifier for score configuration.

global 

Identifier for global alignment configuration.

output 

Identifier for output configuration.

max_error 

Identifier for max_error configuration.

DEV 

Identifier for band configuration.

◆ id [2/2]

enum seqan3::search_cfg::id : uint8_t
strong

Specifies an id for every configuration element.

The seqan3::search_cfg::id is used to identify a specific search configuration element independent of it's concrete type and position within the seqan3::search_cfg::search_configuration object. Thus one can access the value of the corresponding configuration element via the special get interface.

Example

search_cfg::search_configuration cfg = search_cfg::max_total_errors(3);
auto max_total_errors = get<search_cfg::id::max_total_errors>(cfg); // max_total_errors = 3;
Enumerator
max_error 

Identifier for max_errors configuration.

Variable Documentation

◆ sequence_ends

template<free_ends_at val = free_ends_at::none>
constexpr detail::align_config_sequence_ends_adaptor<val> seqan3::align_cfg::sequence_ends
inline

A configuration adaptor for gaps at the sequence ends.

Template Parameters
valAn enum value that specifies which sequence ends allow gaps without penalty.

This configuration allows to specify, whether continuous gaps in the front or end of a sequence are penalized in the alignment.