RNAlib-2.5.1
Pair Table Representation of Secondary Structures

Detailed Description

+ Collaboration diagram for Pair Table Representation of Secondary Structures:

Functions

short * vrna_ptable (const char *structure)
 Create a pair table from a dot-bracket notation of a secondary structure. More...
 
short * vrna_ptable_from_string (const char *structure, unsigned int options)
 Create a pair table for a secondary structure string. More...
 
short * vrna_pt_pk_get (const char *structure)
 Create a pair table of a secondary structure (pseudo-knot version) More...
 
short * vrna_ptable_copy (const short *pt)
 Get an exact copy of a pair table. More...
 
short * vrna_pt_ali_get (const char *structure)
 Create a pair table of a secondary structure (snoop align version)
 
short * vrna_pt_snoop_get (const char *structure)
 Create a pair table of a secondary structure (snoop version) More...
 
short * vrna_pt_pk_remove (const short *ptable, unsigned int options)
 Remove pseudo-knots from a pair table. More...
 

Function Documentation

◆ vrna_ptable()

short * vrna_ptable ( const char *  structure)

#include <ViennaRNA/utils/structures.h>

Create a pair table from a dot-bracket notation of a secondary structure.

Returns a newly allocated table, such that table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure.

See also
vrna_ptable_from_string(), vrna_db_from_ptable()
Parameters
structureThe secondary structure in dot-bracket notation
Returns
A pointer to the created pair_table
SWIG Wrapper Notes:
This functions is wrapped as overloaded function ptable() that takes an optional argument options to specify which type of matching brackets should be considered during conversion. The default set is round brackets, i.e. VRNA_BRACKETS_RND.

◆ vrna_ptable_from_string()

short * vrna_ptable_from_string ( const char *  structure,
unsigned int  options 
)

#include <ViennaRNA/utils/structures.h>

Create a pair table for a secondary structure string.

This function takes an input string of a secondary structure annotation in Dot-Bracket Notation (a.k.a. Dot-Parenthesis Notation) or dot-bracket-ext-notation, and converts it into a pair table representation.

Note
This function also extracts crossing base pairs, i.e. pseudo-knots if more than a single matching bracket type is allowed through the bitmask options.
See also
vrna_ptable(), vrna_db_from_ptable(), vrna_db_flatten_to(), vrna_pt_pk_remove() VRNA_BRACKETS_RND, VRNA_BRACKETS_ANG, VRNA_BRACKETS_CLY, VRNA_BRACKETS_SQR, VRNA_BRACKETS_ALPHA, VRNA_BRACKETS_DEFAULT, VRNA_BRACKETS_ANY
Parameters
structureSecondary structure in dot-bracket-ext-notation
optionsA bitmask to specify which brackets are recognized during conversion to pair table
Returns
A pointer to a new pair table of the provided secondary structure
SWIG Wrapper Notes:
This functions is wrapped as overloaded function ptable() that takes an optional argument options to specify which type of matching brackets should be considered during conversion. The default set is round brackets, i.e. VRNA_BRACKETS_RND.

◆ vrna_pt_pk_get()

short * vrna_pt_pk_get ( const char *  structure)

#include <ViennaRNA/utils/structures.h>

Create a pair table of a secondary structure (pseudo-knot version)

Returns a newly allocated table, such that table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure.

In contrast to vrna_ptable() this function also recognizes the base pairs denoted by '[' and ']' brackets. Thus, this function behaves like

#define VRNA_BRACKETS_SQR
Bitflag to indicate secondary structure notations using square brackets, []
Definition: structures.h:105
#define VRNA_BRACKETS_RND
Bitflag to indicate secondary structure notations using round brackets (parenthesis),...
Definition: structures.h:81
short * vrna_ptable_from_string(const char *structure, unsigned int options)
Create a pair table for a secondary structure string.
See also
vrna_ptable_from_string()
Parameters
structureThe secondary structure in (extended) dot-bracket notation
Returns
A pointer to the created pair_table

◆ vrna_ptable_copy()

short * vrna_ptable_copy ( const short *  pt)

#include <ViennaRNA/utils/structures.h>

Get an exact copy of a pair table.

Parameters
ptThe pair table to be copied
Returns
A pointer to the copy of 'pt'

◆ vrna_pt_snoop_get()

short * vrna_pt_snoop_get ( const char *  structure)

#include <ViennaRNA/utils/structures.h>

Create a pair table of a secondary structure (snoop version)

returns a newly allocated table, such that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] contains the length of the structure. The special pseudoknotted H/ACA-mRNA structure is taken into account.

◆ vrna_pt_pk_remove()

short * vrna_pt_pk_remove ( const short *  ptable,
unsigned int  options 
)

#include <ViennaRNA/utils/structures.h>

Remove pseudo-knots from a pair table.

This function removes pseudo-knots from an input structure by determining the minimum number of base pairs that need to be removed to make the structure pseudo-knot free.

To accomplish that, we use a dynamic programming algorithm similar to the Nussinov maxmimum matching approach.

See also
vrna_db_pk_remove()
Parameters
ptableInput structure that may include pseudo-knots
options
Returns
The input structure devoid of pseudo-knots