Provides seqan3::AlignedSequence, as well as various ranges that model it.
More...
|
interface | seqan3::AlignedSequence |
| 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...
|
|
Provides seqan3::AlignedSequence, as well as various ranges that model it.
◆ assign_unaligned()
template<SequenceContainer aligned_seq_t, std::ranges::ForwardRange unaligned_sequence_type>
void seqan3::assign_unaligned |
( |
aligned_seq_t & |
aligned_seq, |
|
|
unaligned_sequence_type && |
unaligned_seq |
|
) |
| |
|
related |
An implementation of seqan3::AlignedSequence::assign_unaligned_sequence for sequence containers.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The gapped sequence container to assign to. |
[in,out] | unaligned_seq | The unaligned sequence container to assign from. |
This function clears the content of the gapped
container and reassigns the content of the unaligned
container by using std::copy.
Performance
Linear in the size of unaligned_seq.
Exceptions
Strong exception guarantee.
◆ erase_gap() [1/4]
template<SequenceContainer aligned_seq_t>
aligned_seq_t::iterator seqan3::erase_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
pos_it |
|
) |
| |
|
related |
An implementation of seqan3::AlignedSequence::erase_gap for sequence containers.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned container to modify. |
[in] | pos_it | The iterator pointing to the position where to erase a gap. |
- Exceptions
-
This function delegates to the member function erase(iterator)
of the container. Before delegating, the function checks if the position pointed to by pos_it
is an actual seqan3::gap and throws an exception if not.
◆ erase_gap() [2/4]
template<SequenceContainer aligned_seq_t>
aligned_seq_t::iterator seqan3::erase_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
first, |
|
|
typename aligned_seq_t::const_iterator |
last |
|
) |
| |
|
related |
An implementation of seqan3::AlignedSequence::erase_gap for sequence containers.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned container 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. |
- Exceptions
-
This function delegates to the member function erase(iterator, iterator)
of the container. Before delegating, the function checks if the range [first
, last
) contains only seqan3::gap symbols.
◆ erase_gap() [3/4]
template<typename range_type >
range_type::iterator seqan3::erase_gap |
( |
range_type & |
rng, |
|
|
typename range_type::iterator const |
it |
|
) |
| |
An implementation of seqan3::AlignedSequence::erase_gap for ranges with the corresponding member function erase_gap(it).
- Template Parameters
-
range_type | Type of the range to modify; must have an erase_gap(it) member function. |
- Parameters
-
[in,out] | rng | The range to modify. |
[in] | it | The iterator pointing to the position where to erase one gap. |
This function delegates to the member function erase(it)
of the range.
◆ erase_gap() [4/4]
template<typename range_type >
range_type::iterator seqan3::erase_gap |
( |
range_type & |
rng, |
|
|
typename range_type::iterator const |
first, |
|
|
typename range_type::iterator const |
last |
|
) |
| |
An implementation of seqan3::AlignedSequence::erase_gap for ranges with the corresponding member function erase_gap(first, last).
- Template Parameters
-
range_type | Type of the range to modify; must have an erase_gap(first, last) member function. |
- Parameters
-
[in,out] | rng | The range 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. |
- Exceptions
-
This function delegates to the member function erase(first, last)
of the range.
◆ insert_gap() [1/3]
template<SequenceContainer aligned_seq_t>
aligned_seq_t::iterator seqan3::insert_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
pos_it |
|
) |
| |
|
related |
An implementation of seqan3::AlignedSequence::insert_gap for sequence containers.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned container to modify. |
[in] | pos_it | The iterator pointing to the position where to insert a gap. |
This function delegates to the member function insert(iterator, value)
of the container.
◆ insert_gap() [2/3]
template<SequenceContainer aligned_seq_t>
aligned_seq_t::iterator seqan3::insert_gap |
( |
aligned_seq_t & |
aligned_seq, |
|
|
typename aligned_seq_t::const_iterator |
pos_it, |
|
|
typename aligned_seq_t::size_type |
size |
|
) |
| |
|
related |
An implementation of seqan3::AlignedSequence::insert_gap for sequence containers.
- Template Parameters
-
- Parameters
-
[in,out] | aligned_seq | The aligned container to modify. |
[in] | pos_it | The iterator pointing to the position where to insert gaps. |
[in] | size | The number of gap symbols to insert (will result in a gap of length size ). |
This function delegates to the member function insert(iterator,
size,
value)
of the container.
◆ insert_gap() [3/3]
template<typename range_type >
range_type::iterator seqan3::insert_gap |
( |
range_type & |
rng, |
|
|
typename range_type::iterator const |
it, |
|
|
typename range_type::size_type const |
size = 1 |
|
) |
| |
An implementation of seqan3::AlignedSequence::insert_gap for ranges with the corresponding member function insert_gap(it, size).
- Template Parameters
-
range_type | Type of the range to modify; must have an insert_gap(it, size) member function. |
- Parameters
-
[in,out] | rng | The range to modify. |
[in] | it | The iterator pointing to the position where to start inserting gaps. |
[in] | size | The number of gaps to insert as an optional argument, default is 1. |
This function delegates to the member function insert(iterator, size)
of the range.
◆ operator<<()
template<TupleLike tuple_t>
Streaming operator for alignments, which are represented as tuples of aligned sequences.
- Template Parameters
-
tuple_t | The alignment type, must satisfy TupleLike and its size must be at least 2. |
- Parameters
-
stream | The target stream for the formatted output. |
alignment | The alignment that shall be formatted. All sequences must be equally long. |
- Returns
- The given stream to which the alignment representation is appended.