# MFE Structures of two hybridized Sequences
[Calculate Secondary Structures of two RNAs upon Dimerization, Calculating Minimum Free Energy (MFE) Structures]

Collaboration diagram for MFE Structures of two hybridized Sequences:

## Files
file | cofold.h

| MFE version of cofolding routines.
## Functions
float | cofold (const char *sequence, char *structure)
| Compute the minimum free energy of two interacting RNA molecules.
float | cofold_par (const char *string, char *structure, paramT *parameters, int is_constrained)
| 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.
void | export_cofold_arrays_gq (int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **fc_p, int **ggg_p, int **indx_p, char **ptype_p)
| Export the arrays of partition function cofold (with gquadruplex support).
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.

## 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

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

Export the arrays of partition function cofold (with gquadruplex support).

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 ...
  | ggg_p | A pointer to the 'ggg' array, i.e. array containing best free energy of a gquadruplex delimited by [i,j]
  | 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 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)