RNAlib-2.4.14
(Re-)folding Paths, Saddle Points, Energy Barriers, and Local Minima

API for various RNA folding path algorithms. More...

Detailed Description

API for various RNA folding path algorithms.

This part of our API allows for generating RNA secondary structure (re-)folding paths between two secondary structures or simply starting from a single structure. This is most important if an estimate of the refolding energy barrier between two structures is required, or a structure's corresponding local minimum needs to be determined, e.g. through a gradient-descent walk.

This part of the interface is further split into the following sections:

+ Collaboration diagram for (Re-)folding Paths, Saddle Points, Energy Barriers, and Local Minima:

Modules

 Direct Refolding Paths between two Secondary Structures
 Heuristics to explore direct, optimal (re-)folding paths between two secondary structures.
 
 Folding Paths that start at a single Secondary Structure
 Implementation of gradient- and random walks starting from a single secondary structure.
 
 Deprecated Interface for (Re-)folding Paths, Saddle Points, and Energy Barriers
 

Files

file  findpath.h
 A breadth-first search heuristic for optimal direct folding paths.
 
file  paths.h
 API for computing (optimal) (re-)folding paths between secondary structures.
 
file  walk.h
 Methods to generate particular paths such as gradient or random walks through the energy landscape of an RNA sequence.
 

Data Structures

struct  vrna_path_s
 An element of a refolding path list. More...
 

Macros

#define VRNA_PATH_TYPE_DOT_BRACKET   1U
 Flag to indicate producing a (re-)folding path as list of dot-bracket structures. More...
 
#define VRNA_PATH_TYPE_MOVES   2U
 Flag to indicate producing a (re-)folding path as list of transition moves. More...
 

Typedefs

typedef struct vrna_path_s vrna_path_t
 Typename for the refolding path data structure vrna_path_s.
 
typedef struct vrna_path_options_s * vrna_path_options_t
 Options data structure for (re-)folding path implementations.
 

Functions

void vrna_path_free (vrna_path_t *path)
 Release (free) memory occupied by a (re-)folding path. More...
 
void vrna_path_options_free (vrna_path_options_t options)
 Release (free) memory occupied by an options data structure for (re-)folding path implementations. More...
 

Data Structure Documentation

struct vrna_path_s

An element of a refolding path list.

Usually, one has to deal with an array of vrna_path_s, e.g. returned from one of the refolding-path algorithms.

Since in most cases the length of the list is not known in advance, such lists have an end-of-list marker, which is either:

In the following we show an example for how to cover both cases of iteration:

vrna_path_t *ptr = path; // path was returned from one of the refolding path functions, e.g. vrna_path_direct()
if (ptr) {
for (; ptr->s; ptr++)
printf("%s [%6.2f]\n", ptr->s, ptr->en);
} else if (ptr->type == VRNA_PATH_TYPE_MOVES) {
for (; ptr->move.pos_5 != 0; ptr++)
printf("move %d:%d, dG = %6.2f\n", ptr->move.pos_5, ptr->move.pos_3, ptr->en);
}
}
See also
vrna_path_free()
+ Collaboration diagram for vrna_path_s:

Data Fields

unsigned int type
 The type of the path element. More...
 
double en
 Free energy of current structure.
 
char * s
 Secondary structure in dot-bracket notation.
 
vrna_move_t move
 Move that transforms the previous structure into it's next neighbor along the path.
 

Field Documentation

unsigned int vrna_path_s::type

The type of the path element.

A value of VRNA_PATH_TYPE_DOT_BRACKET indicates that vrna_path_s::s consists of the secondary structure in dot-bracket notation, and vrna_path_s::en the corresponding free energy.
On the other hand, if the value is VRNA_PATH_TYPE_MOVES, vrna_path_s::s is NULL and vrna_path_s::move is set to the transition move that transforms a previous structure into it's neighbor along the path. In this case, the attribute vrna_path_s::en states the change in free energy with respect to the structure before application of vrna_path_s::move.

Macro Definition Documentation

#define VRNA_PATH_TYPE_DOT_BRACKET   1U

#include <ViennaRNA/landscape/paths.h>

Flag to indicate producing a (re-)folding path as list of dot-bracket structures.

See also
vrna_path_t, vrna_path_options_findpath(), vrna_path_direct(), vrna_path_direct_ub()
#define VRNA_PATH_TYPE_MOVES   2U

#include <ViennaRNA/landscape/paths.h>

Flag to indicate producing a (re-)folding path as list of transition moves.

See also
vrna_path_t, vrna_path_options_findpath(), vrna_path_direct(), vrna_path_direct_ub()

Function Documentation

void vrna_path_free ( vrna_path_t path)

#include <ViennaRNA/landscape/paths.h>

Release (free) memory occupied by a (re-)folding path.

See also
vrna_path_direct(), vrna_path_direct_ub(), vrna_path_findpath(), vrna_path_findpath_ub()
Parameters
pathThe refolding path to be free'd
void vrna_path_options_free ( vrna_path_options_t  options)

#include <ViennaRNA/landscape/paths.h>

Release (free) memory occupied by an options data structure for (re-)folding path implementations.

See also
vrna_path_options_findpath(), vrna_path_direct(), vrna_path_direct_ub()
Parameters
optionsThe options data structure to be free'd