SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
The WUSS structure alphabet of the characters .<>:,-_~;()[]{}AaBbCcDd
...
More...
#include <seqan3/alphabet/structure/wuss.hpp>
Public Member Functions | |
constexpr char_type | to_char () const noexcept |
Return the letter as a character of char_type. | |
constexpr rank_type | to_rank () const noexcept |
Return the letter's numeric value (rank in the alphabet). | |
Constructors, destructor and assignment | |
constexpr | wuss () noexcept=default |
Defaulted. | |
constexpr | wuss (wuss const &) noexcept=default |
Defaulted. | |
constexpr | wuss (wuss &&) noexcept=default |
Defaulted. | |
constexpr wuss & | operator= (wuss const &) noexcept=default |
Defaulted. | |
constexpr wuss & | operator= (wuss &&) noexcept=default |
Defaulted. | |
~wuss () noexcept=default | |
Defaulted. | |
Public Member Functions inherited from seqan3::alphabet_base< derived_type, size, char_t > | |
constexpr | alphabet_base () noexcept=default |
Defaulted. | |
constexpr | alphabet_base (alphabet_base const &) noexcept=default |
Defaulted. | |
constexpr | alphabet_base (alphabet_base &&) noexcept=default |
Defaulted. | |
constexpr alphabet_base & | operator= (alphabet_base const &) noexcept=default |
Defaulted. | |
constexpr alphabet_base & | operator= (alphabet_base &&) noexcept=default |
Defaulted. | |
~alphabet_base () noexcept=default | |
Defaulted. | |
constexpr char_type | to_char () const noexcept |
Return the letter as a character of char_type. | |
constexpr rank_type | to_rank () const noexcept |
Return the letter's numeric value (rank in the alphabet). | |
constexpr derived_type & | assign_char (char_type const chr) noexcept |
Assign from a character, implicitly converts invalid characters. | |
constexpr derived_type & | assign_rank (rank_type const c) noexcept |
Assign from a numeric value. | |
Static Public Attributes | |
static constexpr detail::min_viable_uint_t< size > | alphabet_size |
The size of the alphabet, i.e. the number of different values it can take. | |
Static Public Attributes inherited from seqan3::alphabet_base< derived_type, size, char_t > | |
static constexpr detail::min_viable_uint_t< size > | alphabet_size = size |
The size of the alphabet, i.e. the number of different values it can take. | |
Protected Types | |
using | char_type = std::conditional_t< std::same_as< char_t, void >, char, char_t > |
The char representation; conditional needed to make semi alphabet definitions legal. | |
using | rank_type = detail::min_viable_uint_t< size - 1 > |
The type of the alphabet when represented as a number (e.g. via to_rank()). | |
Protected Types inherited from seqan3::alphabet_base< derived_type, size, char_t > | |
using | char_type = std::conditional_t< std::same_as< char_t, void >, char, char_t > |
The char representation; conditional needed to make semi alphabet definitions legal. | |
using | rank_type = detail::min_viable_uint_t< size - 1 > |
The type of the alphabet when represented as a number (e.g. via to_rank()). | |
Related Symbols | |
(Note that these are not member symbols.) | |
using | wuss51 = wuss< 51 > |
Alias for the default type wuss51. | |
RNA structure properties | |
static constexpr uint8_t | max_pseudoknot_depth {static_cast<uint8_t>((alphabet_size - 7) / 2)} |
The ability of this alphabet to represent pseudoknots, i.e. crossing interactions, up to a certain depth. It is the number of distinct pairs of interaction symbols the format supports: 4..30 (depends on size) | |
constexpr bool | is_pair_open () const noexcept |
Check whether the character represents a rightward interaction in an RNA structure. | |
constexpr bool | is_pair_close () const noexcept |
Check whether the character represents a leftward interaction in an RNA structure. | |
constexpr bool | is_unpaired () const noexcept |
Check whether the character represents an unpaired position in an RNA structure. | |
constexpr std::optional< uint8_t > | pseudoknot_id () const noexcept |
Get an identifier for a pseudoknotted interaction, where opening and closing brackets of the same type have the same id. | |
The WUSS structure alphabet of the characters .<>:,-_~;()[]{}AaBbCcDd
...
SIZE | The alphabet size defaults to 51 and must be an odd number in range 15..67. It determines the allowed pseudoknot depth by adding characters AaBb..Zz to the alphabet. |
The symbols .:,-_~;
denote unpaired characters, brackets <>()[]{}
represent base pair interactions and AaBbCcDd
... form pseudoknots in the structure. The default alphabet has size 51 (letters until Rr
). The size can be varied with the optional template parameter between 15 (no letters for pseudoknots) and 67 (all Aa
-Zz
for pseudoknots).
|
protected |
The char representation; conditional needed to make semi alphabet definitions legal.
We need a return type for seqan3::alphabet_base::to_char and seqan3::alphabet_base::assign_char other than void to make these in-class definitions valid when char_t
is void.
|
protected |
The type of the alphabet when represented as a number (e.g. via to_rank()).
|
inlineconstexprnoexcept |
Check whether the character represents a leftward interaction in an RNA structure.
|
inlineconstexprnoexcept |
Check whether the character represents a rightward interaction in an RNA structure.
|
inlineconstexprnoexcept |
Check whether the character represents an unpaired position in an RNA structure.
|
inlineconstexprnoexcept |
Get an identifier for a pseudoknotted interaction, where opening and closing brackets of the same type have the same id.
It is guaranteed to be smaller than seqan3::max_pseudoknot_depth.
|
inlineconstexprnoexcept |
Return the letter as a character of char_type.
Provides an implementation for seqan3::to_char, required to model seqan3::alphabet.
Constant.
Guaranteed not to throw.
|
inlineconstexprnoexcept |
Return the letter's numeric value (rank in the alphabet).
Provides an implementation for seqan3::to_rank, required to model seqan3::semialphabet.
Constant.
Guaranteed not to throw.
|
staticconstexpr |
The size of the alphabet, i.e. the number of different values it can take.
|
staticconstexpr |
The ability of this alphabet to represent pseudoknots, i.e. crossing interactions, up to a certain depth. It is the number of distinct pairs of interaction symbols the format supports: 4..30 (depends on size)