Suboptimal Structures within an Energy Band around the MFE

Typedefs

typedef void (*vrna_subopt_result_f)(const char *stucture, float energy, void *data)
#include <ViennaRNA/subopt.h>

Callback for vrna_subopt_cb()

Notes on Callback Functions:

This function will be called for each suboptimal secondary structure that is successfully backtraced.

See also

vrna_subopt_cb()

Param structure

The suboptimal secondary structure in dot-bracket notation

Param energy

The free energy of the secondary structure in kcal/mol

Param data

Some arbitrary, auxiliary data address as passed to vrna_subopt_cb()

Functions

vrna_subopt_solution_t *vrna_subopt(vrna_fold_compound_t *fc, int delta, int sorted, FILE *fp)
#include <ViennaRNA/subopt.h>

Returns list of subopt structures or writes to fp.

This function produces all suboptimal secondary structures within ‘delta’ * 0.01 kcal/mol of the optimum, see Wuchty et al. [1999] . The results are either directly written to a ‘fp’ (if ‘fp’ is not NULL), or (fp==NULL) returned in a vrna_subopt_solution_t * list terminated by an entry were the ‘structure’ member is NULL.

SWIG Wrapper Notes:

This function is attached as method subopt() to objects of type fold_compound. See, e.g. RNA.fold_compound.subopt() in the Python API.

Note

This function requires all multibranch loop DP matrices for unique multibranch loop backtracing. Therefore, the supplied vrna_fold_compound_t fc (argument 1) must be initialized with vrna_md_t.uniq_ML = 1, for instance like this:

vrna_md_t md;
vrna_md_set_default(&md);
md.uniq_ML = 1;

vrna_fold_compound_t *fc=vrna_fold_compound("GGGGGGAAAAAACCCCCC", &md, VRNA_OPTION_DEFAULT);

Parameters
  • fc

  • delta

  • sorted – Sort results by energy in ascending order

  • fp

Returns

void vrna_subopt_cb(vrna_fold_compound_t *fc, int delta, vrna_subopt_result_f cb, void *data)
#include <ViennaRNA/subopt.h>

Generate suboptimal structures within an energy band arround the MFE.

This is the most generic implementation of the suboptimal structure generator according to Wuchty et al. [1999] . Identical to vrna_subopt(), it computes all secondary structures within an energy band delta arround the MFE. However, this function does not print the resulting structures and their corresponding free energies to a file pointer, or returns them as a list. Instead, it calls a user-provided callback function which it passes the structure in dot-bracket format, the corresponding free energy in kcal/mol, and a user-provided data structure each time a structure was backtracked successfully. This function indicates the final output, i.e. the end of the backtracking procedure by passing NULL instead of an actual dot-bracket string to the callback.

SWIG Wrapper Notes:

This function is attached as method subopt_cb() to objects of type fold_compound. See, e.g. RNA.fold_compound.subopt_cb() in the Python API.

Note

This function requires all multibranch loop DP matrices for unique multibranch loop backtracing. Therefore, the supplied vrna_fold_compound_t fc (argument 1) must be initialized with vrna_md_t.uniq_ML = 1, for instance like this:

vrna_md_t md;
vrna_md_set_default(&md);
md.uniq_ML = 1;

vrna_fold_compound_t *fc=vrna_fold_compound("GGGGGGAAAAAACCCCCC", &md, VRNA_OPTION_DEFAULT);

Parameters
  • fc – fold compount with the sequence data

  • delta – Energy band arround the MFE in 10cal/mol, i.e. deka-calories

  • cb – Pointer to a callback function that handles the backtracked structure and its free energy in kcal/mol

  • data – Pointer to some data structure that is passed along to the callback

SOLUTION *subopt(char *seq, char *structure, int delta, FILE *fp)
#include <ViennaRNA/subopt.h>

Returns list of subopt structures or writes to fp.

This function produces all suboptimal secondary structures within ‘delta’ * 0.01 kcal/mol of the optimum. The results are either directly written to a ‘fp’ (if ‘fp’ is not NULL), or (fp==NULL) returned in a SOLUTION * list terminated by an entry were the ‘structure’ pointer is NULL.

Parameters
  • seq

  • structure

  • delta

  • fp

Returns

SOLUTION *subopt_par(char *seq, char *structure, vrna_param_t *parameters, int delta, int is_constrained, int is_circular, FILE *fp)
#include <ViennaRNA/subopt.h>

Returns list of subopt structures or writes to fp.

SOLUTION *subopt_circ(char *seq, char *sequence, int delta, FILE *fp)
#include <ViennaRNA/subopt.h>

Returns list of circular subopt structures or writes to fp.

This function is similar to subopt() but calculates secondary structures assuming the RNA sequence to be circular instead of linear

Parameters
  • seq

  • sequence

  • delta

  • fp

Returns

Variables

double print_energy

printing threshold for use with logML

int subopt_sorted

Sort output by energy.