The generic concept for an aligned sequence.This concept describes the requirements a sequence must fulfil in order to be used inside of the alignment algorithm to store the final alignment.
More...
#include <seqan3/alignment/aligned_sequence/aligned_sequence_concept.hpp>
|
(Note that these are not member functions.)
|
|
You can expect these functions on all types that model seqan3::aligned_sequence.
|
std::ranges::iterator_t< aligned_seq_t > | insert_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it) |
| Insert a seqan3::gap into an aligned sequence. More...
|
|
std::ranges::iterator_t< aligned_seq_t > | insert_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it, typename aligned_seq_t::size_type size) |
| Insert multiple seqan3::gap into an aligned sequence. More...
|
|
std::ranges::iterator_t< aligned_seq_t > | erase_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator pos_it) |
| Erase a seqan3::gap from an aligned sequence. More...
|
|
std::ranges::iterator_t< aligned_seq_t > | erase_gap (aligned_seq_t &aligned_seq, typename aligned_seq_t::const_iterator first, typename aligned_seq_t::const_iterator last) |
| Erase multiple seqan3::gap from an aligned sequence. More...
|
|
void | assign_unaligned (aligned_seq_t &aligned_seq, unaligned_sequence_type &&unaligned_seq) |
| Assign an ungapped sequence to a gapped sequence. More...
|
|
The generic concept for an aligned sequence.
This concept describes the requirements a sequence must fulfil in order to be used inside of the alignment algorithm to store the final alignment.
Concepts and doxygen
The requirements for this concept are given as related functions and type traits. Types that model this concept are shown as "implementing this interface".
◆ assign_unaligned()
void assign_unaligned |
( |
aligned_seq_t & |
aligned_seq, |
|
|
unaligned_sequence_type && |
unaligned_seq |
|
) |
| |
|
related |
Assign an ungapped sequence to a gapped sequence.
- Template Parameters
-
aligned_seq_t | Type of the container to reassign; must model seqan3::aligned_sequence. |
unaligned_seq_t | Type of the container to assign from; must correspond to the aligned type without gap information (see details.) |
- Parameters
-
[in,out] | aligned_seq | The gapped sequence container to assign to. |
[in,out] | unaligned_seq | The unaligned sequence container to assign from. |
An aligned sequence has to be assignable from its unaligned counter part. For example a std::vector<seqan3::gapped<seqan3::dna4>> as well as a seqan3::gap_decorator<std::vector<seqan3::dna4>> can be assigned from s std::vector<seqan3::dna4> via seqan3::assign_unaligned.
- Attention
- This is a concept requirement, not an actual function (however types modelling this concept will provide an implementation).
◆ erase_gap() [1/2]
std::ranges::iterator_t< aligned_seq_t > erase_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
pos_it |
|
) |
| |
|
related |
Erase a seqan3::gap from an aligned sequence.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned sequence to modify. |
[in] | pos_it | The iterator pointing to the position where to erase a gap. |
- Returns
- An iterator following the removed element. If the iterator
pos_it
refers to the last element, the std::ranges::end() iterator is returned.
- Exceptions
-
- Note
- This may cause reallocations and thus invalidates all iterators and references. Use the returned iterator.
- Attention
- This is a concept requirement, not an actual function (however types modelling this concept will provide an implementation).
◆ erase_gap() [2/2]
std::ranges::iterator_t< aligned_seq_t > erase_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
first, |
|
|
typename aligned_seq_t::const_iterator |
last |
|
) |
| |
|
related |
Erase multiple seqan3::gap from an aligned sequence.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned sequence to modify. |
[in] | first | The iterator pointing to the position where to start erasing gaps. |
[in] | last | The iterator pointing to the position where to stop erasing gaps. |
- Returns
- An iterator following the last removed element. If the iterator
last
refers to the last element, the std::ranges::end() iterator is returned.
- Exceptions
-
- Note
- This may cause reallocations and thus invalidates all iterators and references. Use the returned iterator.
- Attention
- This is a concept requirement, not an actual function (however types modelling this concept will provide an implementation).
◆ insert_gap() [1/2]
std::ranges::iterator_t< aligned_seq_t > insert_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
pos_it |
|
) |
| |
|
related |
Insert a seqan3::gap into an aligned sequence.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned sequence to modify. |
[in] | pos_it | The iterator pointing to the position where to insert a gap. |
- Returns
- An iterator pointing to the inserted gap.
- Note
- This may cause reallocations and thus invalidates all iterators and references. Use the returned iterator.
- Attention
- This is a concept requirement, not an actual function (however types modelling this concept will provide an implementation).
◆ insert_gap() [2/2]
std::ranges::iterator_t< aligned_seq_t > insert_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
pos_it, |
|
|
typename aligned_seq_t::size_type |
size |
|
) |
| |
|
related |
Insert multiple seqan3::gap into an aligned sequence.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned sequence to modify. |
[in] | pos_it | The iterator pointing to the position where to insert a gaps. |
[in] | size | The number of gap symbols to insert (will result in a gap of length size ). |
- Returns
- An iterator pointing to the first inserted gap or
pos_it
if size == 0
.
- Note
- This may cause reallocations and thus invalidates all iterators and references. Use the returned iterator.
- Attention
- This is a concept requirement, not an actual function (however types modelling this concept will provide an implementation).
The documentation for this interface was generated from the following file: