SeqAn3
seqan3::rna_structure_concept Interface Reference

A concept that indicates whether an alphabet represents RNA structure. More...

#include <seqan3/alphabet/structure/rna_structure_concept.hpp>

Inheritance diagram for seqan3::rna_structure_concept:
[legend]

Related Functions

(Note that these are not member functions.)

bool is_pair_close (structure_type const alph)
 Check whether the given character represents a leftward interaction in an RNA structure. More...
 
bool is_pair_open (structure_type const alph)
 Check whether the given character represents a rightward interaction in an RNA structure. More...
 
bool is_unpaired (structure_type const alph)
 Check whether the given character represents an unpaired position in an RNA structure. More...
 
std::optional< uint8_t > pseudoknot_id (structure_type const alph)
 Get an identifier for a pseudoknotted interaction. More...
 
Requirements for seqan3::rna_structure_concept

You can expect these functions on all types that implement seqan3::rna_structure_concept.

template<typename alphabet_type >
constexpr uint8_t max_pseudoknot_depth_v = max_pseudoknot_depth<alphabet_type>::value
 The pseudoknot ability of the alphabet. [value metafunction shortcut]. More...
 
Helpers for seqan3::rna_structure_concept

These functions and metafunctions expose member variables and types so that they satisfy seqan3::rna_structure_concept.

template<typename structure_type >
constexpr bool is_pair_open (structure_type const alph) requires requires(structure_type alph)
 Implementation of seqan3::rna_structure_concept::is_pair_open() that delegates to a member function. More...
 
template<typename structure_type >
constexpr bool is_pair_close (structure_type const alph) requires requires(structure_type alph)
 Implementation of seqan3::rna_structure_concept::is_pair_close() that delegates to a member function. More...
 
template<typename structure_type >
constexpr bool is_unpaired (structure_type const alph) requires requires(structure_type alph)
 Implementation of seqan3::rna_structure_concept::is_unpaired() that delegates to a member function. More...
 
template<typename alphabet_type_with_pseudoknot_attribute >
constexpr std::optional< uint8_t > pseudoknot_id (alphabet_type_with_pseudoknot_attribute const alph)
 Implementation of seqan3::rna_structure_concept::pseudoknot_id() that delegates to a member function. More...
 
Requirements for seqan3::alphabet_concept

You can expect these functions on all types that implement seqan3::alphabet_concept.

template<typename alphabet_type >
using underlying_char_t = typename underlying_char< alphabet_type >::type
 The char_type of the alphabet. [type metafunction shortcut]. More...
 
char_type to_char (alphabet_concept const alph)
 Returns the alphabet letter's value in character representation. More...
 
alphabet_concept && assign_char (alphabet_concept &&alph, char_type const chr)
 Returns the alphabet letter's value in character representation. More...
 
Requirements for seqan3::semi_alphabet_concept

You can expect these functions on all types that implement seqan3::semi_alphabet_concept.

template<typename semi_alphabet_type >
using underlying_rank_t = typename underlying_rank< semi_alphabet_type >::type
 The rank_type of the semi_alphabet. [type metafunction shortcut]. More...
 
template<typename alphabet_type >
constexpr auto alphabet_size_v = alphabet_size<alphabet_type>::value
 The size of the alphabet. [value metafunction shortcut]. More...
 
rank_type to_rank (semi_alphabet_concept const alph)
 Returns the alphabet letter's value in rank representation. More...
 
semi_alphabet_concept && assign_rank (semi_alphabet_concept &&alph, rank_type const rank)
 Returns the alphabet letter's value in rank representation. More...
 
Requirements for std::Swappable

You can expect these functions on all types that implement std::Swappable.

void swap (t &lhs, t &rhs)
 Swaps the contents of two objects. More...
 
Requirements for std::EqualityComparable

You can expect these functions on all types that implement std::Equality_comparable.

bool operator== (type const &lhs, type const &rhs)
 (In-)Equality comparison. More...
 
bool operator!= (type const &lhs, type const &rhs)
 (In-)Equality comparison. More...
 
Requirements for std::StrictTotallyOrdered

You can expect these functions on all types that implement std::StrictTotallyOrdered.

bool operator< (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator<= (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator> (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator>= (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 

Detailed Description

A concept that indicates whether an alphabet represents RNA structure.

Template Parameters
structure_typeThe structure alphabet type.

RNA structure alphabets are required to represent interactions among RNA nucleotides. Therefore, each structure letter can be categorised as unpaired, opening an interaction, or closing an interaction. Additionally, the ability of representing pseudoknots is a property of RNA structure types.

Friends And Related Function Documentation

◆ is_pair_close() [1/2]

bool is_pair_close ( structure_type const  alph)
related

Check whether the given character represents a leftward interaction in an RNA structure.

Parameters
alphThe alphabet letter which is checked for the pairing property.
Returns
True if the letter represents a leftward interaction, False otherwise.

◆ is_pair_close() [2/2]

template<typename structure_type >
constexpr bool is_pair_close ( structure_type const  alph)
related

Implementation of seqan3::rna_structure_concept::is_pair_close() that delegates to a member function.

Template Parameters
structure_typeMust provide a .is_pair_close() member function.
Parameters
alphThe alphabet letter which is checked for the pairing property.
Returns
True if the letter represents a leftward interaction, False otherwise.

◆ is_pair_open() [1/2]

bool is_pair_open ( structure_type const  alph)
related

Check whether the given character represents a rightward interaction in an RNA structure.

Parameters
alphThe alphabet letter which is checked for the pairing property.
Returns
True if the letter represents a rightward interaction, False otherwise.

◆ is_pair_open() [2/2]

template<typename structure_type >
constexpr bool is_pair_open ( structure_type const  alph)
related

Implementation of seqan3::rna_structure_concept::is_pair_open() that delegates to a member function.

Template Parameters
structure_typeMust provide a .is_pair_open() member function.
Parameters
alphThe alphabet letter which is checked for the pairing property.
Returns
True if the letter represents a rightward interaction, False otherwise.

◆ is_unpaired() [1/2]

bool is_unpaired ( structure_type const  alph)
related

Check whether the given character represents an unpaired position in an RNA structure.

Parameters
alphThe alphabet letter which is checked for the pairing property.
Returns
True if the letter represents an unpaired site, False otherwise.

◆ is_unpaired() [2/2]

template<typename structure_type >
constexpr bool is_unpaired ( structure_type const  alph)
related

Implementation of seqan3::rna_structure_concept::is_unpaired() that delegates to a member function.

Template Parameters
structure_typeMust provide a .is_unpaired() member function.
Parameters
alphThe alphabet letter which is checked for the pairing property.
Returns
True if the letter represents an unpaired site, False otherwise.

◆ pseudoknot_id() [1/2]

std::optional< uint8_t > pseudoknot_id ( structure_type const  alph)
related

Get an identifier for a pseudoknotted interaction.

Parameters
alphThe alphabet letter which is checked for the pseudoknot id.
Returns
The pseudoknot id, if alph represents an interaction, and no value otherwise. It is guaranteed to be smaller than seqan3::max_pseudoknot_depth.

◆ pseudoknot_id() [2/2]

template<typename alphabet_type_with_pseudoknot_attribute >
constexpr std::optional< uint8_t > pseudoknot_id ( alphabet_type_with_pseudoknot_attribute const  alph)
related

Implementation of seqan3::rna_structure_concept::pseudoknot_id() that delegates to a member function.

Template Parameters
alphabet_type_with_pseudoknot_attributeIf it supports pseudoknots, it must provide a .pseudoknot_id() member function, otherwise it can be omitted.
Parameters
alphThe alphabet letter which is checked for the pseudoknot id.
Returns
The pseudoknot id, if alph represents an interaction, and no value otherwise. It is guaranteed to be smaller than seqan3::max_pseudoknot_depth.

The documentation for this interface was generated from the following files: