# H/cofold.h File Reference

MFE version of cofolding routines. More...

Include dependency graph for cofold.h:

Go to the source code of this file.

## Functions
float | cofold (const char *sequence, char *structure)
| Compute the minimum free energy of two interacting RNA molecules.
void | free_co_arrays (void)
| Free memory occupied by cofold().
void | update_cofold_params (void)
| Recalculate parameters.
SOLUTION * | zukersubopt (const char *string)
| Compute Zuker type suboptimal structures.
void | get_monomere_mfes (float *e1, float *e2)
| get_monomer_free_energies
void | export_cofold_arrays (int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **fc_p, int **indx_p, char **ptype_p)
| Export the arrays of partition function cofold.
void | initialize_cofold (int length)
| allocate arrays for folding

## Detailed Description

MFE version of cofolding routines.

This file includes (almost) all function declarations within the RNAlib that are related to MFE Cofolding... This also includes the Zuker suboptimals calculations, since they are implemented using the cofold routines.

## Function Documentation

float cofold | ( | const char * | sequence,
|  | char * | structure |
| ) |  |  |

Compute the minimum free energy of two interacting RNA molecules.

The code is analog to the fold() function. If cut_point ==-1 results should be the same as with fold().

Parameters:

  | sequence | The two sequences concatenated
  | structure | Will hold the barcket dot structure of the dimer molecule

Returns:
  minimum free energy of the structure

SOLUTION* zukersubopt | ( | const char * | string | ) |

Compute Zuker type suboptimal structures.

Compute Suboptimal structures according to M. Zuker, i.e. for every possible base pair the minimum energy structure containing the resp. base pair. Returns a list of these structures and their energies.

Parameters:

  | string | RNA sequence

Returns:
  List of zuker suboptimal structures

void get_monomere_mfes | ( | float * | e1,
|  | float * | e2 |
| ) |  |  |

get_monomer_free_energies

Export monomer free energies out of cofold arrays

Parameters:

  | e1 | A pointer to a variable where the energy of molecule A will be written to
  | e2 | A pointer to a variable where the energy of molecule B will be written to

void export_cofold_arrays | ( | int ** | f5_p,
|  | int ** | c_p,
|  | int ** | fML_p,
|  | int ** | fM1_p,
|  | int ** | fc_p,
|  | int ** | indx_p,
|  | char ** | ptype_p |
| ) |  |  |

Export the arrays of partition function cofold.

Export the cofold arrays for use e.g. in the concentration Computations or suboptimal secondary structure backtracking

Parameters:

  | f5_p | A pointer to the 'f5' array, i.e. array conatining best free energy in interval [1,j]
  | c_p | A pointer to the 'c' array, i.e. array containing best free energy in interval [i,j] given that i pairs with j
  | fML_p | A pointer to the 'M' array, i.e. array containing best free energy in interval [i,j] for any multiloop segment with at least one stem
  | fM1_p | A pointer to the 'M1' array, i.e. array containing best free energy in interval [i,j] for multiloop segment with exactly one stem
  | fc_p | A pointer to the 'fc' array, i.e. array ...
  | indx_p | A pointer to the indexing array used for accessing the energy matrices
  | ptype_p | A pointer to the ptype array containing the base pair types for each possibility (i,j)

void initialize_cofold | ( | int | length | ) |

allocate arrays for folding

Deprecated:
  {This function is obsolete and will be removed soon!}