Loading...
Searching...
No Matches
seqan3::align_cfg::method_local Class Reference
Sequence Alignment » Configuration

Sets the local alignment method. More...

`#include <seqan3/alignment/configuration/align_config_method.hpp>`

Inheritance diagram for seqan3::align_cfg::method_local:
[legend]

## Public Member Functions

Constructors, destructor and assignment
| method_local ()=default
| Defaulted.
| method_local (method_local const &)=default
| Defaulted.
| method_local (method_local &&)=default
| Defaulted.
method_local & | operator= (method_local const &)=default
| Defaulted.
method_local & | operator= (method_local &&)=default
| Defaulted.
| ~method_local ()=default
| Defaulted.

## Detailed Description

Sets the local 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.

Local Alignment (better suited to find conserved segments):

tccCAGTTATGTCAGgggacacgagcatgcagagac
||||||||||||
aattgccgccgtcgttttcagCAGTTATGTCAGatc

A local alignment is effectively a global alignment of two partial sequences. For example when two genes from different species are similar in short conserved regions and dissimilar in the remaining regions. A global alignment would not find the local matching because it would try to align the entire sequence. This is solved by the Smith-Waterman algorithm.

### Example

// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: CC0-1.0
#include <seqan3/alignment/configuration/align_config_method.hpp>
#include <seqan3/alignment/configuration/align_config_scoring_scheme.hpp>
#include <seqan3/alignment/pairwise/align_pairwise.hpp>
#include <seqan3/alignment/scoring/nucleotide_scoring_scheme.hpp>
#include <seqan3/alphabet/nucleotide/dna4.hpp>
#include <seqan3/core/debug_stream.hpp>
using namespace seqan3::literals;
int main()
{
// configure a local alignment for DNA sequences
auto min_cfg = seqan3::align_cfg::method_local{}
| seqan3::align_cfg::scoring_scheme{
seqan3::nucleotide_scoring_scheme{seqan3::match_score{4}, seqan3::mismatch_score{-5}}};
auto seq1 = "TCGT"_dna4;
auto seq2 = "ACGA"_dna4;
for (auto res : seqan3::align_pairwise(std::tie(seq1, seq2), min_cfg))
seqan3::debug_stream << res.score() << '\n'; // print out the alignment score
}
align_config_method.hpp
Provides global and local alignment configurations.
align_config_scoring_scheme.hpp
Provides seqan3::align_cfg::scoring_scheme.
align_pairwise.hpp
Provides pairwise alignment function.
seqan3::align_cfg::method_local
Sets the local alignment method.
Definition align_config_method.hpp:42
seqan3::align_cfg::scoring_scheme
Sets the scoring scheme for the alignment algorithm.
Definition align_config_scoring_scheme.hpp:42
seqan3::nucleotide_scoring_scheme
A data structure for managing and computing the score of two nucleotides.
Definition nucleotide_scoring_scheme.hpp:35
debug_stream.hpp
Provides seqan3::debug_stream and related types.
dna4.hpp
Provides seqan3::dna4, container aliases and string literals.
seqan3::align_pairwise
constexpr auto align_pairwise(sequence_t &&seq, alignment_config_t const &config)
Computes the pairwise alignment for a pair of sequences or a range over sequence pairs.
Definition align_pairwise.hpp:130
seqan3::debug_stream
debug_stream_type debug_stream
A global instance of seqan3::debug_stream_type.
Definition debug_stream.hpp:38
seqan3::literals
The SeqAn namespace for literals.
nucleotide_scoring_scheme.hpp
Provides seqan3::nucleotide_scoring_scheme.
seqan3::match_score
A strong type of underlying type score_type that represents the score of two matching characters.
Definition scoring_scheme_base.hpp:38
seqan3::mismatch_score
A strong type of underlying type score_type that represents the score two different characters.
Definition scoring_scheme_base.hpp:63
std::tie
T tie(T... args)

Remarks
  For a complete overview, take a look at Pairwise Alignments.

The documentation for this class was generated from the following file:

- align_config_method.hpp

Hide me