Provides types to represent single elements of RNA and protein structures. More...
Collaboration diagram for Structure:Classes | |
| class | seqan3::dot_bracket3 |
| The three letter RNA structure alphabet of the characters ".()". More... | |
| class | seqan3::dssp9 |
| The protein structure alphabet of the characters "HGIEBTSCX". More... | |
| interface | rna_structure_alphabet |
| A concept that indicates whether an alphabet represents RNA structure. More... | |
| class | seqan3::structured_aa< sequence_alphabet_t, structure_alphabet_t > |
| A seqan3::alphabet_tuple_base that joins an aminoacid alphabet with a protein structure alphabet. More... | |
| class | seqan3::structured_rna< sequence_alphabet_t, structure_alphabet_t > |
| A seqan3::alphabet_tuple_base that joins a nucleotide alphabet with an RNA structure alphabet. More... | |
| class | seqan3::wuss< SIZE > |
The WUSS structure alphabet of the characters .<>:,-_~;()[]{}AaBbCcDd... More... | |
Function objects (Structure) | |
| constexpr auto | seqan3::is_pair_open = detail::adl_only::is_pair_open_fn{} |
| Check whether the given character represents a rightward interaction in an RNA structure. More... | |
| constexpr auto | seqan3::is_pair_close = detail::adl_only::is_pair_close_fn{} |
| Check whether the given character represents a leftward interaction in an RNA structure. More... | |
| constexpr auto | seqan3::is_unpaired = detail::adl_only::is_unpaired_fn{} |
| Check whether the given character represents an unpaired nucleotide in an RNA structure. More... | |
| template<typename alph_t > | |
| constexpr auto | seqan3::max_pseudoknot_depth = detail::adl_only::max_pseudoknot_depth_obj<alph_t>() |
| A type trait that holds the ability of the structure alphabet to represent pseudoknots, i.e. crossing interactions, up to a certain depth. More... | |
| constexpr auto | seqan3::pseudoknot_id = detail::adl_only::pseudoknot_id_fn{} |
| Retrieve an id for the level of a pseudoknotted interaction (also known as 'page number'). More... | |
Provides types to represent single elements of RNA and protein structures.
The following alphabets are currently supported in SeqAn. Please see the format's page for more details.
| Name | Chars | Description |
|---|---|---|
| Dot Bracket | (). | Simple annotation that defines base pairs. No pseudoknots allowed. |
| WUSS | .<>:,-_~;()[]{}AaBb... | Annotation that provides further markups and pseudoknots. |
| DSSP | HBEGITSCX | Structure encoding for proteins. |
|
inlineconstexpr |
Check whether the given character represents a leftward interaction in an RNA structure.
| your_type | Type of the argument. |
| chr | The RNA structure character whose property is checked. |
This is a function object. Invoke it with the parameter(s) specified above.
It acts as a wrapper and looks for three possible implementations (in this order):
is_pair_close(your_type const a) of the class seqan3::custom::alphabet<your_type>.is_pair_close(your_type const a) in the namespace of your type (or as friend).is_pair_close().Functions are only considered for one of the above cases if they are marked noexcept (constexpr is not required, but recommended) and if the returned type is `bool.
Every RNA structure alphabet type must provide one of the above.
This is a customisation point (see Customisation). To specify the behaviour for your own alphabet type, simply provide one of the three functions specified above.
|
inlineconstexpr |
Check whether the given character represents a rightward interaction in an RNA structure.
| your_type | Type of the argument. |
| chr | The RNA structure character whose property is checked. |
This is a function object. Invoke it with the parameter(s) specified above.
It acts as a wrapper and looks for three possible implementations (in this order):
is_pair_open(your_type const a) of the class seqan3::custom::alphabet<your_type>.is_pair_open(your_type const a) in the namespace of your type (or as friend).is_pair_open().Functions are only considered for one of the above cases if they are marked noexcept (constexpr is not required, but recommended) and if the returned type is `bool.
Every RNA structure alphabet type must provide one of the above.
This is a customisation point (see Customisation). To specify the behaviour for your own alphabet type, simply provide one of the three functions specified above.
|
inlineconstexpr |
Check whether the given character represents an unpaired nucleotide in an RNA structure.
| your_type | Type of the argument. |
| chr | The RNA structure character whose property is checked. |
This is a function object. Invoke it with the parameter(s) specified above.
It acts as a wrapper and looks for three possible implementations (in this order):
is_unpaired(your_type const a) of the class seqan3::custom::alphabet<your_type>.is_unpaired(your_type const a) in the namespace of your type (or as friend).is_unpaired().Functions are only considered for one of the above cases if they are marked noexcept (constexpr is not required, but recommended) and if the returned type is `bool.
Every RNA structure alphabet type must provide one of the above.
This is a customisation point (see Customisation). To specify the behaviour for your own alphabet type, simply provide one of the three functions specified above.
|
inlineconstexpr |
A type trait that holds the ability of the structure alphabet to represent pseudoknots, i.e. crossing interactions, up to a certain depth.
| your_type | Type of the argument. |
| chr | The RNA structure character whose property is checked. |
The value is the maximum allowed depth of pseudoknots. A value of 1 denotes no pseudoknots ((....)), while higher values denote the maximum allowed complexity of crossing interactions, e.g. depth 2 (({....))} or depth 3 ({[....)}].
This is a function object. Invoke it with the parameter(s) specified above.
It acts as a wrapper and looks for three possible implementations (in this order):
max_pseudoknot_depth of the class seqan3::custom::alphabet<your_type>.max_pseudoknot_depth(your_type const) in the namespace of your type (or as friend).max_pseudoknot_depth of the class your_type.Functions/variables are only considered for one of the above cases if they are marked noexcept and constexpr and if the returned type is convertible to size_t. For 2. the value of the argument to the function shall be ignored, the argument is only used to select the function via argument-dependent lookup.
Every RNA structure alphabet type must provide one of the above.
These are the expressions to retrieve the value:
This is a customisation point (see Customisation). To specify the behaviour for your own alphabet type, simply provide one of the three functions specified above.
|
inlineconstexpr |
Retrieve an id for the level of a pseudoknotted interaction (also known as 'page number').
| your_type | Type of the argument. |
| chr | The RNA structure character whose property is checked. |
alph represents an interaction. The returned value is std::nullopt for unpaired sites. For non-nested interactions the identifier is always 0. It is guaranteed to be smaller than seqan3::max_pseudoknot_depth.This is a function object. Invoke it with the parameter(s) specified above.
It acts as a wrapper and looks for three possible implementations (in this order):
pseudoknot_id(your_type const a) of the class seqan3::custom::alphabet<your_type>.pseudoknot_id(your_type const a) in the namespace of your type (or as friend).your_type called pseudoknot_id().Functions are only considered for one of the above cases if they are marked noexcept (constexpr is not required, but recommended) and the return type is convertible to size_t.
Every RNA structure alphabet type must provide one of the above.
This is a customisation point (see Customisation). To specify the behaviour for your own alphabet type, simply provide one of the three functions specified above.