RNAlib-2.2.7
Parsing, Converting, and Comparing - Functions to Manipulate Secondary Structures
+ Collaboration diagram for Parsing, Converting, and Comparing - Functions to Manipulate Secondary Structures:

Files

file  RNAstruct.h
 Parsing and Coarse Graining of Structures.
 
file  structure_utils.h
 Various utility- and helper-functions for secondary structure parsing, converting, etc.
 

Data Structures

struct  vrna_hx_s
 

Functions

char * b2HIT (const char *structure)
 Converts the full structure from bracket notation to the HIT notation including root. More...
 
char * b2C (const char *structure)
 Converts the full structure from bracket notation to the a coarse grained notation using the 'H' 'B' 'I' 'M' and 'R' identifiers. More...
 
char * b2Shapiro (const char *structure)
 Converts the full structure from bracket notation to the weighted coarse grained notation using the 'H' 'B' 'I' 'M' 'S' 'E' and 'R' identifiers. More...
 
char * add_root (const char *structure)
 Adds a root to an un-rooted tree in any except bracket notation. More...
 
char * expand_Shapiro (const char *coarse)
 Inserts missing 'S' identifiers in unweighted coarse grained structures as obtained from b2C(). More...
 
char * expand_Full (const char *structure)
 Convert the full structure from bracket notation to the expanded notation including root. More...
 
char * unexpand_Full (const char *ffull)
 Restores the bracket notation from an expanded full or HIT tree, that is any tree using only identifiers 'U' 'P' and 'R'. More...
 
char * unweight (const char *wcoarse)
 Strip weights from any weighted tree. More...
 
void unexpand_aligned_F (char *align[2])
 Converts two aligned structures in expanded notation. More...
 
void parse_structure (const char *structure)
 Collects a statistic of structure elements of the full structure in bracket notation. More...
 
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...
 
short * vrna_ptable (const char *structure)
 Create a pair table of a secondary structure. 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...
 
int * vrna_loopidx_from_ptable (const short *pt)
 Get a loop index representation of a structure.
 
char * vrna_db_from_ptable (short *pt)
 Convert a pair table into dot-parenthesis notation. More...
 
int vrna_bp_distance (const char *str1, const char *str2)
 Compute the "base pair" distance between two secondary structures s1 and s2. More...
 
unsigned int * vrna_refBPcnt_matrix (const short *reference_pt, unsigned int turn)
 Make a reference base pair count matrix. More...
 
unsigned int * vrna_refBPdist_matrix (const short *pt1, const short *pt2, unsigned int turn)
 Make a reference base pair distance matrix. More...
 
char * vrna_db_from_probs (const FLT_OR_DBL *pr, unsigned int length)
 Create a dot-bracket like structure string from base pair probability matrix.
 
char vrna_bpp_symbol (const float *x)
 Get a pseudo dot bracket notation for a given probability information.
 
char * vrna_db_from_bp_stack (vrna_bp_stack_t *bp, unsigned int length)
 Create a dot-backet/parenthesis structure from backtracking stack. More...
 
vrna_plist_tvrna_plist (const char *struc, float pr)
 Create a vrna_plist_t from a dot-bracket string. More...
 
char * vrna_db_from_plist (vrna_plist_t *pairs, unsigned int n)
 Convert a list of base pairs into dot-bracket notation. More...
 
void assign_plist_from_db (vrna_plist_t **pl, const char *struc, float pr)
 Create a vrna_plist_t from a dot-bracket string. More...
 
char * pack_structure (const char *struc)
 Pack secondary secondary structure, 5:1 compression using base 3 encoding. More...
 
char * unpack_structure (const char *packed)
 Unpack secondary structure previously packed with pack_structure() More...
 
short * make_pair_table (const char *structure)
 Create a pair table of a secondary structure. More...
 
short * copy_pair_table (const short *pt)
 Get an exact copy of a pair table. More...
 
short * alimake_pair_table (const char *structure)
 
short * make_pair_table_snoop (const char *structure)
 
int bp_distance (const char *str1, const char *str2)
 Compute the "base pair" distance between two secondary structures s1 and s2. More...
 
unsigned int * make_referenceBP_array (short *reference_pt, unsigned int turn)
 Make a reference base pair count matrix. More...
 
unsigned int * compute_BPdifferences (short *pt1, short *pt2, unsigned int turn)
 Make a reference base pair distance matrix. More...
 
void parenthesis_structure (char *structure, vrna_bp_stack_t *bp, int length)
 Create a dot-backet/parenthesis structure from backtracking stack. More...
 
void parenthesis_zuker (char *structure, vrna_bp_stack_t *bp, int length)
 Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c. More...
 
void bppm_to_structure (char *structure, FLT_OR_DBL *pr, unsigned int length)
 Create a dot-bracket like structure string from base pair probability matrix. More...
 
char bppm_symbol (const float *x)
 Get a pseudo dot bracket notation for a given probability information. More...
 

Variables

int loop_size [STRUC]
 contains a list of all loop sizes. loop_size[0] contains the number of external bases.
 
int helix_size [STRUC]
 contains a list of all stack sizes.
 
int loop_degree [STRUC]
 contains the corresponding list of loop degrees.
 
int loops
 contains the number of loops ( and therefore of stacks ).
 
int unpaired
 contains the number of unpaired bases.
 
int pairs
 contains the number of base pairs in the last parsed structure.
 

Detailed Description


Data Structure Documentation

struct vrna_hx_s

Function Documentation

char* b2HIT ( const char *  structure)

#include <ViennaRNA/RNAstruct.h>

Converts the full structure from bracket notation to the HIT notation including root.

Parameters
structure
Returns
char* b2C ( const char *  structure)

#include <ViennaRNA/RNAstruct.h>

Converts the full structure from bracket notation to the a coarse grained notation using the 'H' 'B' 'I' 'M' and 'R' identifiers.

Parameters
structure
Returns
char* b2Shapiro ( const char *  structure)

#include <ViennaRNA/RNAstruct.h>

Converts the full structure from bracket notation to the weighted coarse grained notation using the 'H' 'B' 'I' 'M' 'S' 'E' and 'R' identifiers.

Parameters
structure
Returns
char* add_root ( const char *  structure)

#include <ViennaRNA/RNAstruct.h>

Adds a root to an un-rooted tree in any except bracket notation.

Parameters
structure
Returns
char* expand_Shapiro ( const char *  coarse)

#include <ViennaRNA/RNAstruct.h>

Inserts missing 'S' identifiers in unweighted coarse grained structures as obtained from b2C().

Parameters
coarse
Returns
char* expand_Full ( const char *  structure)

#include <ViennaRNA/RNAstruct.h>

Convert the full structure from bracket notation to the expanded notation including root.

Parameters
structure
Returns
char* unexpand_Full ( const char *  ffull)

#include <ViennaRNA/RNAstruct.h>

Restores the bracket notation from an expanded full or HIT tree, that is any tree using only identifiers 'U' 'P' and 'R'.

Parameters
ffull
Returns
char* unweight ( const char *  wcoarse)

#include <ViennaRNA/RNAstruct.h>

Strip weights from any weighted tree.

Parameters
wcoarse
Returns
void unexpand_aligned_F ( char *  align[2])

#include <ViennaRNA/RNAstruct.h>

Converts two aligned structures in expanded notation.

Takes two aligned structures as produced by tree_edit_distance() function back to bracket notation with '_' as the gap character. The result overwrites the input.

Parameters
align
void parse_structure ( const char *  structure)

#include <ViennaRNA/RNAstruct.h>

Collects a statistic of structure elements of the full structure in bracket notation.

The function writes to the following global variables: loop_size, loop_degree, helix_size, loops, pairs, unpaired

Parameters
structure
Returns
char* vrna_db_pack ( const char *  struc)

#include <ViennaRNA/structure_utils.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
char* vrna_db_unpack ( const char *  packed)

#include <ViennaRNA/structure_utils.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
short* vrna_ptable ( const char *  structure)

#include <ViennaRNA/structure_utils.h>

Create a pair table 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.

Parameters
structureThe secondary structure in dot-bracket notation
Returns
A pointer to the created pair_table
short* vrna_pt_pk_get ( const char *  structure)

#include <ViennaRNA/structure_utils.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.

Parameters
structureThe secondary structure in (extended) dot-bracket notation
Returns
A pointer to the created pair_table
short* vrna_ptable_copy ( const short *  pt)

#include <ViennaRNA/structure_utils.h>

Get an exact copy of a pair table.

Parameters
ptThe pair table to be copied
Returns
A pointer to the copy of 'pt'
short* vrna_pt_snoop_get ( const char *  structure)

#include <ViennaRNA/structure_utils.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.

char* vrna_db_from_ptable ( short *  pt)

#include <ViennaRNA/structure_utils.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
int vrna_bp_distance ( const char *  str1,
const char *  str2 
)

#include <ViennaRNA/structure_utils.h>

Compute the "base pair" distance between two secondary structures s1 and s2.

The sequences should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open-pair close-pair as move-set

Parameters
str1First structure in dot-bracket notation
str2Second structure in dot-bracket notation
Returns
The base pair distance between str1 and str2
unsigned int* vrna_refBPcnt_matrix ( const short *  reference_pt,
unsigned int  turn 
)

#include <ViennaRNA/structure_utils.h>

Make a reference base pair count matrix.

Get an upper triangular matrix containing the number of basepairs of a reference structure for each interval [i,j] with i<j. Access it via iindx!!!

unsigned int* vrna_refBPdist_matrix ( const short *  pt1,
const short *  pt2,
unsigned int  turn 
)

#include <ViennaRNA/structure_utils.h>

Make a reference base pair distance matrix.

Get an upper triangular matrix containing the base pair distance of two reference structures for each interval [i,j] with i<j. Access it via iindx!!!

char* vrna_db_from_bp_stack ( vrna_bp_stack_t bp,
unsigned int  length 
)

#include <ViennaRNA/structure_utils.h>

Create a dot-backet/parenthesis structure from backtracking stack.

This function is capable to create dot-bracket structures from suboptimal structure prediction sensu M. Zuker

Parameters
bpBase pair stack containing the traced base pairs
lengthThe length of the structure
Returns
The secondary structure in dot-bracket notation as provided in the input
vrna_plist_t* vrna_plist ( const char *  struc,
float  pr 
)

#include <ViennaRNA/structure_utils.h>

Create a vrna_plist_t from a dot-bracket string.

The dot-bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.

The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries

Parameters
strucThe secondary structure in dot-bracket notation
prThe probability for each base pair used in the plist
Returns
The plist array
char* vrna_db_from_plist ( vrna_plist_t pairs,
unsigned int  n 
)

#include <ViennaRNA/structure_utils.h>

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

See also
vrna_plist()
Parameters
pairsA vrna_plist_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
void assign_plist_from_db ( vrna_plist_t **  pl,
const char *  struc,
float  pr 
)

#include <ViennaRNA/structure_utils.h>

Create a vrna_plist_t from a dot-bracket string.

The dot-bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.

The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries

Deprecated:
Use vrna_plist() instead
Parameters
plA pointer to the vrna_plist_t that is to be created
strucThe secondary structure in dot-bracket notation
prThe probability for each base pair
char* pack_structure ( const char *  struc)

#include <ViennaRNA/structure_utils.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.

Deprecated:
Use vrna_db_pack() as a replacement
Parameters
strucThe secondary structure in dot-bracket notation
Returns
The binary encoded structure
char* unpack_structure ( const char *  packed)

#include <ViennaRNA/structure_utils.h>

Unpack secondary structure previously packed with pack_structure()

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

Deprecated:
Use vrna_db_unpack() as a replacement
Parameters
packedThe binary encoded packed secondary structure
Returns
The unpacked secondary structure in dot-bracket notation
short* make_pair_table ( const char *  structure)

#include <ViennaRNA/structure_utils.h>

Create a pair table 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.

Deprecated:
Use vrna_ptable() instead
Parameters
structureThe secondary structure in dot-bracket notation
Returns
A pointer to the created pair_table
short* copy_pair_table ( const short *  pt)

#include <ViennaRNA/structure_utils.h>

Get an exact copy of a pair table.

Deprecated:
Use vrna_ptable_copy() instead
Parameters
ptThe pair table to be copied
Returns
A pointer to the copy of 'pt'
short* alimake_pair_table ( const char *  structure)

#include <ViennaRNA/structure_utils.h>

Pair table for snoop align

Deprecated:
Use vrna_pt_ali_get() instead!
short* make_pair_table_snoop ( const char *  structure)

#include <ViennaRNA/structure_utils.h>

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.

Deprecated:
Use vrna_pt_snoop_get() instead!
int bp_distance ( const char *  str1,
const char *  str2 
)

#include <ViennaRNA/structure_utils.h>

Compute the "base pair" distance between two secondary structures s1 and s2.

The sequences should have the same length. dist = number of base pairs in one structure but not in the other same as edit distance with open-pair close-pair as move-set

Deprecated:
Use vrna_bp_distance instead
Parameters
str1First structure in dot-bracket notation
str2Second structure in dot-bracket notation
Returns
The base pair distance between str1 and str2
unsigned int* make_referenceBP_array ( short *  reference_pt,
unsigned int  turn 
)

#include <ViennaRNA/structure_utils.h>

Make a reference base pair count matrix.

Get an upper triangular matrix containing the number of basepairs of a reference structure for each interval [i,j] with i<j. Access it via iindx!!!

Deprecated:
Use vrna_refBPcnt_matrix() instead
unsigned int* compute_BPdifferences ( short *  pt1,
short *  pt2,
unsigned int  turn 
)

#include <ViennaRNA/structure_utils.h>

Make a reference base pair distance matrix.

Get an upper triangular matrix containing the base pair distance of two reference structures for each interval [i,j] with i<j. Access it via iindx!!!

Deprecated:
Use vrna_refBPdist_matrix() instead
void parenthesis_structure ( char *  structure,
vrna_bp_stack_t bp,
int  length 
)

#include <ViennaRNA/structure_utils.h>

Create a dot-backet/parenthesis structure from backtracking stack.

Deprecated:
use vrna_parenthesis_structure() instead
Note
This function is threadsafe
void parenthesis_zuker ( char *  structure,
vrna_bp_stack_t bp,
int  length 
)

#include <ViennaRNA/structure_utils.h>

Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c.

Deprecated:
use vrna_parenthesis_zuker instead
Note
This function is threadsafe
void bppm_to_structure ( char *  structure,
FLT_OR_DBL pr,
unsigned int  length 
)

#include <ViennaRNA/structure_utils.h>

Create a dot-bracket like structure string from base pair probability matrix.

Deprecated:
Use vrna_db_from_probs() instead!
char bppm_symbol ( const float *  x)

#include <ViennaRNA/structure_utils.h>

Get a pseudo dot bracket notation for a given probability information.

Deprecated:
Use vrna_bpp_symbol() instead!