SeqAn3  3.0.1
The Modern C++ library for sequence analysis.
seqan3::align_cfg::aligned_ends< end_gaps_t > Struct Template Reference

The configuration for aligned sequence ends. More...

#include <seqan3/alignment/configuration/align_config_aligned_ends.hpp>

+ Inheritance diagram for seqan3::align_cfg::aligned_ends< end_gaps_t >:

Public Attributes

end_gaps_t value
 The stored config value.
 

Related Functions

(Note that these are not member functions.)

Type deduction guides
template<typename end_gaps_t >
 aligned_ends (end_gaps_t) -> aligned_ends< std::remove_reference_t< end_gaps_t >>
 Deduces the end-gaps object type from the constructor argument.
 

Detailed Description

template<typename end_gaps_t>
struct seqan3::align_cfg::aligned_ends< end_gaps_t >

The configuration for aligned sequence ends.

Template Parameters
end_gaps_tThe type of the end-gaps. Must be a specialisation of seqan3::end_gaps.

This configuration element configures the aligned ends to further refine the global alignment algorithm. Particularly, the ends of the alignment can be penalised with gap costs or not. For example, the semi-global alignment does not penalise the leading and trailing gaps of one sequence while it does for the other sequence.

The class is instantiated with an object of seqan3::end_gaps. The user can configure each of the gap specifier separately allowing for maximal flexibility when configuring the alignment algorithm. However, there are also predefined configurations which should be preferred whenever possible.

If this configuration element is not specified for the alignment algorithm, it will automatically default to free_ends_none which computes a global alignment.

Example

int main()
{
// Setup for overlap alignment.
seqan3::align_cfg::aligned_ends overlap{seqan3::free_ends_all};
// Setup for global alignment.
seqan3::align_cfg::aligned_ends global{seqan3::free_ends_none};
// Setup for semi-global alignment with free-end gaps in the first sequence.
seqan3::align_cfg::aligned_ends semi_seq1{seqan3::free_ends_first};
// Setup for semi-global alignment with free-end gaps in the second sequence.
seqan3::align_cfg::aligned_ends semi_seq2{seqan3::free_ends_second};
// Custom settings.
}

The documentation for this struct was generated from the following file:
debug_stream.hpp
Provides seqan3::debug_stream and related types.
std::true_type
seqan3::front_end_second
The penalty configuration for aligning the front of the second sequence with a gap.
Definition: align_config_aligned_ends.hpp:155
align_config_aligned_ends.hpp
Provides seqan3::align_cfg::aligned_ends.
seqan3::end_gaps
Wraps the sequence end-gap specifiers and provides ordered access to the respective values.
Definition: align_config_aligned_ends.hpp:252
seqan3::align_cfg::aligned_ends
The configuration for aligned sequence ends.
Definition: align_config_aligned_ends.hpp:547
seqan3::front_end_first
The penalty configuration for aligning the front of the first sequence with a gap.
Definition: align_config_aligned_ends.hpp:93