# H/2Dpfold.h File Reference

Compute the partition function and stochastically sample secondary structures for a partitioning of the secondary structure space according to the base pair distance to two fixed reference structures. More...

Include dependency graph for 2Dpfold.h:

Go to the source code of this file.

## Functions
TwoDpfold_vars * | get_TwoDpfold_variables (const char *seq, const char *structure1, char *structure2, int circ)
| Get a datastructure containing all necessary attributes and global folding switches.
TwoDpfold_vars * | get_TwoDpfold_variables_from_MFE (TwoDfold_vars *mfe_vars)
| Get the datastructure containing all necessary attributes and global folding switches from a pre-filled mfe-datastructure.
void | destroy_TwoDpfold_variables (TwoDpfold_vars *vars)
| Free all memory occupied by a TwoDpfold_vars datastructure.
TwoDpfold_solution * | TwoDpfoldList (TwoDpfold_vars *vars, int maxDistance1, int maxDistance2)
| Compute the partition function for all distance classes.
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

Compute the partition function and stochastically sample secondary structures for a partitioning of the secondary structure space according to the base pair distance to two fixed reference structures.

## Function Documentation

TwoDpfold_vars* get_TwoDpfold_variables | ( | const char * | seq,
|  | const char * | structure1,
|  | char * | structure2,
|  | int | circ |
| ) |  |  |

Get a datastructure containing all necessary attributes and global folding switches.

This function prepares all necessary attributes and matrices etc which are needed for a call of TwoDpfoldList. A snapshot of all current global model switches (dangles, temperature and so on) is done and stored in the returned datastructure. Additionally, all matrices that will hold the partition function values are prepared.

Parameters:

  | seq | the RNA sequence in uppercase format with letters from the alphabet {AUCG}
  | structure1 | the first reference structure in dot-bracket notation
  | structure2 | the second reference structure in dot-bracket notation
  | circ | a switch indicating if the sequence is linear (0) or circular (1)

Returns:
  the datastructure containing all necessary partition function attributes

TwoDpfold_vars* get_TwoDpfold_variables_from_MFE | ( | TwoDfold_vars * | mfe_vars | ) |

Get the datastructure containing all necessary attributes and global folding switches from a pre-filled mfe-datastructure.

This function actually does the same as get_TwoDpfold_variables but takes its switches and settings from a pre-filled MFE equivalent datastructure

See also:
  get_TwoDfold_variables(), get_TwoDpfold_variables()

Parameters:

  | mfe_vars | the pre-filled mfe datastructure

Returns:
  the datastructure containing all necessary partition function attributes

void destroy_TwoDpfold_variables | ( | TwoDpfold_vars * | vars | ) |

Free all memory occupied by a TwoDpfold_vars datastructure.

This function free's all memory occupied by a datastructure obtained from from get_TwoDpfold_variables() or get_TwoDpfold_variables_from_MFE()

See also:
  get_TwoDpfold_variables(), get_TwoDpfold_variables_from_MFE()

Parameters:

  | vars | the datastructure to be free'd

TwoDpfold_solution* TwoDpfoldList | ( | TwoDpfold_vars * | vars,
|  | int | maxDistance1,
|  | int | maxDistance2 |
| ) |  |  |

Compute the partition function for all distance classes.

This function computes the partition functions for all distance classes according the two reference structures specified in the datastructure 'vars'. Similar to TwoDfoldList() the arguments maxDistance1 and maxDistance2 specify the maximum distance to both reference structures. A value of '-1' in either of them makes the appropriate distance restrictionless, i.e. all basepair distancies to the reference are taken into account during computation. In case there is a restriction, the returned solution contains an entry where the attribute k=l=-1 contains the partition function for all structures exceeding the restriction. A values of INF in the attribute 'k' of the returned list denotes the end of the list

See also:
  get_TwoDpfold_variables(), destroy_TwoDpfold_variables(), TwoDpfold_solution

Parameters:

  | vars | the datastructure containing all necessary folding attributes and matrices
  | maxDistance1 | the maximum basepair distance to reference1 (may be -1)
  | maxDistance2 | the maximum basepair distance to reference2 (may be -1)

Returns:
  a list of partition funtions for the appropriate distance classes

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.

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

See also:
  TwoDpfoldList()

Parameters:

  | vars | the datastructure containing all necessary folding attributes and matrices
  | d1 | the distance to reference1 (may be -1)
  | 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:
  The argument 'vars' must contain precalculated partition function matrices, i.e. a call to TwoDpfoldList() preceding this function is mandatory!
  This function does not work (since it makes no sense) for circular RNA sequences!

See also:
  TwoDpfold_pbacktrack(), TwoDpfoldList()

Parameters:

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

Returns:
  a sampled secondary structure in dot-bracket notation