Stochastic backtracking in the Ensemble
RNA Secondary Structure Prediction » Enumerating Suboptimal Structures
Collaboration diagram for Stochastic backtracking in the Ensemble:

## Modules

| Stochastic Backtracking of Consensus Structures from Sequence Alignment(s)
| Stochastic Backtracking of Structures from Distance Based Partitioning
| Contains functions related to stochastic backtracking from a specified distance class.

## Functions

char * | vrna_pbacktrack5 (vrna_fold_compound_t *vc, int length)
| Sample a secondary structure of a subsequence from the Boltzmann ensemble according its probability. More...
char * | vrna_pbacktrack (vrna_fold_compound_t *vc)
| Sample a secondary structure (consensus structure) from the Boltzmann ensemble according its probability. More...
char * | pbacktrack (char *sequence)
| Sample a secondary structure from the Boltzmann ensemble according its probability. More...
char * | pbacktrack_circ (char *sequence)
| Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability. More...

## Variables

int | st_back
| Flag indicating that auxilary arrays are needed throughout the computations. This is essential for stochastic backtracking. More...

## Detailed Description

## Function Documentation

char* vrna_pbacktrack5 | ( | vrna_fold_compound_t * | vc,
|  | int | length
| ) |  |

`#include <ViennaRNA/boltzmann_sampling.h>`

Sample a secondary structure of a subsequence from the Boltzmann ensemble according its probability.

Precondition
  The fold compound has to be obtained using the #VRNA_OPTION_HYBRID option in vrna_fold_compound()
  vrna_pf() has to be called first to fill the partition function matrices

Parameters

  vc | The fold compound data structure
  length | The length of the subsequence to consider (starting with 5' end)

Returns
  A sampled secondary structure in dot-bracket notation

char* vrna_pbacktrack | ( | vrna_fold_compound_t * | vc | ) |

`#include <ViennaRNA/boltzmann_sampling.h>`

Sample a secondary structure (consensus structure) from the Boltzmann ensemble according its probability.

Precondition
  The dynamic programming (DP) matrices have to allow for unique multibranch loop decomposition, i.e. the vrna_md_t.uniq_ML flag has to be non-zero before calling vrna_fold_compound()
  vrna_pf() has to be called first to fill the partition function matrices

Note
  This function is polymorphic. It accepts vrna_fold_compound_t of type VRNA_VC_TYPE_SINGLE, and VRNA_VC_TYPE_ALIGNMENT.
  The function will automagically detect cicular RNAs based on the model_details in exp_params as provided via the vrna_fold_compound_t

Parameters

  vc | The fold compound data structure
  length | The length of the subsequence to consider (starting with 5' end)

Returns
  A sampled secondary structure in dot-bracket notation

char* pbacktrack | ( | char * | sequence | ) |

`#include <ViennaRNA/part_func.h>`

Sample a secondary structure from the Boltzmann ensemble according its probability.

Precondition
  st_back has to be set to 1 before calling pf_fold() or pf_fold_par()
  pf_fold_par() or pf_fold() have to be called first to fill the partition function matrices

Parameters

  sequence | The RNA sequence

Returns
  A sampled secondary structure in dot-bracket notation

char* pbacktrack_circ | ( | char * | sequence | ) |

`#include <ViennaRNA/part_func.h>`

Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability.

This function does the same as pbacktrack() but assumes the RNA molecule to be circular

Precondition
  st_back has to be set to 1 before calling pf_fold() or pf_fold_par()
  pf_fold_par() or pf_circ_fold() have to be called first to fill the partition function matrices

Deprecated:
  Use vrna_pbacktrack() instead.

Parameters

  sequence | The RNA sequence

Returns
  A sampled secondary structure in dot-bracket notation

## Variable Documentation

int st_back

`#include <ViennaRNA/part_func.h>`

Flag indicating that auxilary arrays are needed throughout the computations. This is essential for stochastic backtracking.

Set this variable to 1 prior to a call of pf_fold() to ensure that all matrices needed for stochastic backtracking are filled in the forward recursions

Deprecated:
  set the uniq_ML flag in vrna_md_t before passing it to vrna_fold_compound().

See also
  pbacktrack(), pbacktrack_circ