# Stochastic Backtracking of Structures from Distance Based Partitioning
[Distance based partitioning of the Secondary Structure Space, Stochastic backtracking in the Ensemble]

Contains functions related to stochastic backtracking from a specified distance class. More...

Collaboration diagram for Stochastic Backtracking of Structures from Distance Based Partitioning:

## Functions
char * | TwoDpfold_pbacktrack (TwoDpfold_vars *vars, int d1, int d2)
| Sample secondary structure representatives from a set of distance classes according to their Boltzmann probability.
char * | TwoDpfold_pbacktrack5 (TwoDpfold_vars *vars, int d1, int d2, unsigned int length)
| Sample secondary structure representatives with a specified length from a set of distance classes according to their Boltzmann probability.

## Detailed Description

Contains functions related to stochastic backtracking from a specified distance class.

## Function Documentation

char* TwoDpfold_pbacktrack | ( | TwoDpfold_vars * | vars,
|  | int | d1,
|  | int | d2 |
| ) |  |  |

Sample secondary structure representatives from a set of distance classes according to their Boltzmann probability.

If the argument 'd1' is set to '-1', the structure will be backtracked in the distance class where all structures exceeding the maximum basepair distance to either of the references reside.

Precondition:
  The argument 'vars' must contain precalculated partition function matrices, i.e. a call to TwoDpfoldList() preceding this function is mandatory!

See also:
  TwoDpfoldList()

Parameters:

  `[in]` | vars | the datastructure containing all necessary folding attributes and matrices
  `[in]` | d1 | the distance to reference1 (may be -1)
  `[in]` | d2 | the distance to reference2

Returns:
  A sampled secondary structure in dot-bracket notation

char* TwoDpfold_pbacktrack5 | ( | TwoDpfold_vars * | vars,
|  | int | d1,
|  | int | d2,
|  | unsigned int | length |
| ) |  |  |

Sample secondary structure representatives with a specified length from a set of distance classes according to their Boltzmann probability.

This function does essentially the same as TwoDpfold_pbacktrack with the only difference that partial structures, i.e. structures beginning from the 5' end with a specified length of the sequence, are backtracked

Note:
  This function does not work (since it makes no sense) for circular RNA sequences!

Precondition:
  The argument 'vars' must contain precalculated partition function matrices, i.e. a call to TwoDpfoldList() preceding this function is mandatory!

See also:
  TwoDpfold_pbacktrack(), TwoDpfoldList()

Parameters:

  `[in]` | vars | the datastructure containing all necessary folding attributes and matrices
  `[in]` | d1 | the distance to reference1 (may be -1)
  `[in]` | d2 | the distance to reference2
  `[in]` | length | the length of the structure beginning from the 5' end

Returns:
  A sampled secondary structure in dot-bracket notation