SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
Provides types to represent single elements of RNA and protein structures. More...
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... | |
Variables | |
constexpr auto | seqan3::is_pair_close = detail::adl_only::is_pair_close_cpo{} |
Check whether the given character represents a leftward interaction in an RNA structure. | |
constexpr auto | seqan3::is_pair_open = detail::adl_only::is_pair_open_cpo{} |
Check whether the given character represents a rightward interaction in an RNA structure. | |
constexpr auto | seqan3::is_unpaired = detail::adl_only::is_unpaired_cpo{} |
Check whether the given character represents an unpaired nucleotide in an RNA structure. | |
template<typename alph_t > | |
constexpr auto | seqan3::max_pseudoknot_depth = detail::adl_only::max_pseudoknot_depth_cpo<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. | |
constexpr auto | seqan3::pseudoknot_id = detail::adl_only::pseudoknot_id_cpo{} |
Retrieve an id for the level of a pseudoknotted interaction (also known as 'page number'). | |
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.