Sets the global alignment method. More...
#include <seqan3/alignment/configuration/align_config_method.hpp>
Public Member Functions | |
Constructors, destructor and assignment | |
method_global ()=default | |
Defaulted. | |
method_global (method_global const &)=default | |
Defaulted. | |
method_global (method_global &&)=default | |
Defaulted. | |
method_global & | operator= (method_global const &)=default |
Defaulted. | |
method_global & | operator= (method_global &&)=default |
Defaulted. | |
~method_global ()=default | |
Defaulted. | |
constexpr | method_global (seqan3::align_cfg::free_end_gaps_sequence1_leading free_sequence1_leading, seqan3::align_cfg::free_end_gaps_sequence2_leading free_sequence2_leading, seqan3::align_cfg::free_end_gaps_sequence1_trailing free_sequence1_trailing, seqan3::align_cfg::free_end_gaps_sequence2_trailing free_sequence2_trailing) noexcept |
Construct method_global with a specific free end gap configuration. More... | |
Public Attributes | |
bool | free_end_gaps_sequence1_leading {false} |
If set to true , leading gaps in sequence1 are not penalised when computing the optimal alignment. | |
bool | free_end_gaps_sequence1_trailing {false} |
If set to true , trailing gaps in sequence1 are not penalised when computing the optimal alignment. | |
bool | free_end_gaps_sequence2_leading {false} |
If set to true , leading gaps in sequence2 are not penalised when computing the optimal alignment. | |
bool | free_end_gaps_sequence2_trailing {false} |
If set to true , trailing gaps in sequence2 are not penalised when computing the optimal alignment. | |
Sets the global alignment method.
There are several methods for sequence alignment. We distinguish between local and global alignments. The semi-global alignment is implemented as a variation of the global alignment.
**Global Alignment**: ``` --T--CC-C-AGT--TATGT-CAGGGGACACG-A-GCATGCAGA-GAC | || | || | | | ||| || | | | | |||| | AATTGCCGCC-GTCGT-T-TTCAG----CA-GTTATG-T-CAGAT--C ``` Finding the optimal global alignment of two sequences is solved by the [Needleman-Wunsch algorithm](https://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm).
**Semi-global Alignment** (e.g. overlapping sequences): ``` TCCCAGTTATGTCAGgggacacgagcatgcagagac ||||||||||||||| aattgccgccgtcgttttTCCCAGTTATGTCAG ``` The semi-global alignment is a specially configured global alignment, namely we do not penalize gaps at the ends of the alignment. Semi-global alignments are often used in genome assembly applications when trying to find matching overlaps.
|
inlineconstexprnoexcept |
Construct method_global with a specific free end gap configuration.
[in] | free_sequence1_leading | An instance of seqan3::align_cfg::free_end_gaps_sequence1_leading that indicates whether leading gaps in sequence1 should be free (not penalised). |
[in] | free_sequence2_leading | An instance of seqan3::align_cfg::free_end_gaps_sequence2_leading that indicates whether leading gaps in sequence2 should be free (not penalised). |
[in] | free_sequence1_trailing | An instance of seqan3::align_cfg::free_end_gaps_sequence1_trailing that indicates whether trailing gaps in sequence1 should be free (not penalised). |
[in] | free_sequence2_trailing | An instance of seqan3::align_cfg::free_end_gaps_sequence2_trailing that indicates whether trailing gaps in sequence2 should be free (not penalised). |