RNAlib-2.4.12
Dot-Bracket Notation of Secondary Structures

Detailed Description

+ Collaboration diagram for Dot-Bracket Notation of Secondary Structures:

Macros

#define VRNA_BRACKETS_ALPHA   4U
 Bitflag to indicate secondary structure notations using uppercase/lowercase letters from the latin alphabet. More...
 
#define VRNA_BRACKETS_RND   8U
 Bitflag to indicate secondary structure notations using round brackets (parenthesis), () More...
 
#define VRNA_BRACKETS_CLY   16U
 Bitflag to indicate secondary structure notations using curly brackets, {} More...
 
#define VRNA_BRACKETS_ANG   32U
 Bitflag to indicate secondary structure notations using angular brackets, <> More...
 
#define VRNA_BRACKETS_SQR   64U
 Bitflag to indicate secondary structure notations using square brackets, [] More...
 
#define VRNA_BRACKETS_DEFAULT
 Default bitmask to indicate secondary structure notation using any pair of brackets. More...
 

Functions

char * vrna_db_pack (const char *struc)
 Pack secondary secondary structure, 5:1 compression using base 3 encoding. More...
 
char * vrna_db_unpack (const char *packed)
 Unpack secondary structure previously packed with vrna_db_pack() More...
 
void vrna_db_flatten (char *structure, unsigned int options)
 Substitute pairs of brackets in a string with parenthesis. More...
 
void vrna_db_flatten_to (char *string, const char target[3], unsigned int options)
 Substitute pairs of brackets in a string with another type of pair characters. More...
 
char * vrna_db_from_ptable (short *pt)
 Convert a pair table into dot-parenthesis notation. More...
 
char * vrna_db_from_WUSS (const char *wuss)
 Convert a WUSS annotation string to dot-bracket format. More...
 
char * vrna_db_from_plist (vrna_ep_t *pairs, unsigned int n)
 Convert a list of base pairs into dot-bracket notation. More...
 
char * vrna_db_to_element_string (const char *structure)
 Convert a secondary structure in dot-bracket notation to a nucleotide annotation of loop contexts. More...
 

Macro Definition Documentation

◆ VRNA_BRACKETS_ALPHA

#define VRNA_BRACKETS_ALPHA   4U

#include <ViennaRNA/utils/structures.h>

Bitflag to indicate secondary structure notations using uppercase/lowercase letters from the latin alphabet.

See also
vrna_ptable_from_string()

◆ VRNA_BRACKETS_RND

#define VRNA_BRACKETS_RND   8U

#include <ViennaRNA/utils/structures.h>

Bitflag to indicate secondary structure notations using round brackets (parenthesis), ()

See also
vrna_ptable_from_string(), vrna_db_flatten(), vrna_db_flatten_to()

◆ VRNA_BRACKETS_CLY

#define VRNA_BRACKETS_CLY   16U

#include <ViennaRNA/utils/structures.h>

Bitflag to indicate secondary structure notations using curly brackets, {}

See also
vrna_ptable_from_string(), vrna_db_flatten(), vrna_db_flatten_to()

◆ VRNA_BRACKETS_ANG

#define VRNA_BRACKETS_ANG   32U

#include <ViennaRNA/utils/structures.h>

Bitflag to indicate secondary structure notations using angular brackets, <>

See also
vrna_ptable_from_string(), vrna_db_flatten(), vrna_db_flatten_to()

◆ VRNA_BRACKETS_SQR

#define VRNA_BRACKETS_SQR   64U

#include <ViennaRNA/utils/structures.h>

Bitflag to indicate secondary structure notations using square brackets, []

See also
vrna_ptable_from_string(), vrna_db_flatten(), vrna_db_flatten_to()

◆ VRNA_BRACKETS_DEFAULT

#define VRNA_BRACKETS_DEFAULT

#include <ViennaRNA/utils/structures.h>

Value:
VRNA_BRACKETS_CLY | \
VRNA_BRACKETS_ANG | \
VRNA_BRACKETS_SQR)
#define VRNA_BRACKETS_RND
Bitflag to indicate secondary structure notations using round brackets (parenthesis), ()
Definition: structures.h:65

Default bitmask to indicate secondary structure notation using any pair of brackets.

See also
vrna_ptable_from_string(), vrna_db_flatten(), vrna_db_flatten_to()

Function Documentation

◆ vrna_db_pack()

char* vrna_db_pack ( const char *  struc)

#include <ViennaRNA/utils/structures.h>

Pack secondary secondary structure, 5:1 compression using base 3 encoding.

Returns a binary string encoding of the secondary structure using a 5:1 compression scheme. The string is NULL terminated and can therefore be used with standard string functions such as strcmp(). Useful for programs that need to keep many structures in memory.

See also
vrna_db_unpack()
Parameters
strucThe secondary structure in dot-bracket notation
Returns
The binary encoded structure

◆ vrna_db_unpack()

char* vrna_db_unpack ( const char *  packed)

#include <ViennaRNA/utils/structures.h>

Unpack secondary structure previously packed with vrna_db_pack()

Translate a compressed binary string produced by vrna_db_pack() back into the familiar dot-bracket notation.

See also
vrna_db_pack()
Parameters
packedThe binary encoded packed secondary structure
Returns
The unpacked secondary structure in dot-bracket notation

◆ vrna_db_flatten()

vrna_db_flatten ( char *  structure,
unsigned int  options 
)

#include <ViennaRNA/utils/structures.h>

Substitute pairs of brackets in a string with parenthesis.

This function can be used to replace brackets of unusual types, such as angular brackets <> , to dot-bracket format. The options parameter is used tpo specify which types of brackets will be replaced by round parenthesis () .

See also
vrna_db_flatten_to(), VRNA_BRACKETS_RND, VRNA_BRACKETS_ANG, VRNA_BRACKETS_CLY, VRNA_BRACKETS_SQR, VRNA_BRACKETS_DEFAULT
Parameters
structureThe structure string where brackets are flattened in-place
optionsA bitmask to specify which types of brackets should be flattened out
SWIG Wrapper Notes:

This function flattens an input structure string in-place! The second parameter is optional and defaults to VRNA_BRACKETS_DEFAULT.

An overloaded version of this function exists, where an additional second parameter can be passed to specify the target brackets, i.e. the type of matching pair characters all brackets will be flattened to. Therefore, in the scripting language interface this function is a replacement for vrna_db_flatten_to().

◆ vrna_db_flatten_to()

void vrna_db_flatten_to ( char *  string,
const char  target[3],
unsigned int  options 
)

#include <ViennaRNA/utils/structures.h>

Substitute pairs of brackets in a string with another type of pair characters.

This function can be used to replace brackets in a structure annotation string, such as square brackets [] , to another type of pair characters, e.g. angular brackets <> .

The target array must contain a character for the 'pair open' annotation at position 0, and one for 'pair close' at position 1. Toptions parameter is used to specify which types of brackets will be replaced by the new pairs.

See also
vrna_db_flatten(), VRNA_BRACKETS_RND, VRNA_BRACKETS_ANG, VRNA_BRACKETS_CLY, VRNA_BRACKETS_SQR, VRNA_BRACKETS_DEFAULT
Parameters
stringThe structure string where brackets are flattened in-place
targetThe new pair characters the string will be flattened to
optionsA bitmask to specify which types of brackets should be flattened out
SWIG Wrapper Notes:
This function is available as an overloaded version of vrna_db_flatten()

◆ vrna_db_from_ptable()

char* vrna_db_from_ptable ( short *  pt)

#include <ViennaRNA/utils/structures.h>

Convert a pair table into dot-parenthesis notation.

Parameters
ptThe pair table to be copied
Returns
A char pointer to the dot-bracket string

◆ vrna_db_from_WUSS()

char* vrna_db_from_WUSS ( const char *  wuss)

#include <ViennaRNA/utils/structures.h>

Convert a WUSS annotation string to dot-bracket format.

Note
This function flattens all brackets, and treats pseudo-knots annotated by matching pairs of upper/lowercase letters as unpaired nucleotides
See also
Washington University Secondary Structure (WUSS) notation
Parameters
wussThe input string in WUSS notation
Returns
A dot-bracket notation of the input secondary structure

◆ vrna_db_from_plist()

char* vrna_db_from_plist ( vrna_ep_t pairs,
unsigned int  n 
)

#include <ViennaRNA/utils/structures.h>

Convert a list of base pairs into dot-bracket notation.

See also
vrna_plist()
Parameters
pairsA vrna_ep_t containing the pairs to be included in the dot-bracket string
nThe length of the structure (number of nucleotides)
Returns
The dot-bracket string containing the provided base pairs

◆ vrna_db_to_element_string()

char* vrna_db_to_element_string ( const char *  structure)

#include <ViennaRNA/utils/structures.h>

Convert a secondary structure in dot-bracket notation to a nucleotide annotation of loop contexts.

Parameters
structureThe secondary structure in dot-bracket notation
Returns
A string annotating each nucleotide according to it's structural context