MFE Structures of two hybridized Sequences

Overview

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. More…

// global functions

float vrna_cofold (
    const char* sequence,
    char* structure
    )

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

float cofold_par (
    const char* string,
    char* structure,
    vrna_param_t* parameters,
    int is_constrained
    )

void free_co_arrays (void)
void update_cofold_params (void)
void update_cofold_params_par (vrna_param_t* 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
    )

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
    )

void get_monomere_mfes (
    float* e1,
    float* e2
    )

void initialize_cofold (int length)

float vrna_mfe_dimer (
    vrna_fold_compound_t* vc,
    char* structure
    )

Detailed Documentation

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.

Global Functions

float vrna_cofold (
    const char* sequence,
    char* structure
    )
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for two dimerized RNA sequences.

This simplified interface to vrna_mfe() computes the MFE and, if required, a secondary structure for two RNA sequences upon dimerization using default options. Memory required for dynamic programming (DP) matrices will be allocated and free’d on-the-fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post-processing, e.g. suboptimal backtracking, etc.

Parameters:

sequence two RNA sequences separated by the ‘&’ character
structure A pointer to the character array where the secondary structure in dot-bracket notation will be written to

Returns:

the minimum free energy (MFE) in kcal/mol

Note

In case you want to use the filled DP matrices for any subsequent post-processing step, or you require other conditions than specified by the default model details, use vrna_mfe() , and the data structure vrna_fold_compound_t instead.

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() .

Deprecated use vrna_mfe_dimer() instead

Parameters:

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

Returns:

minimum free energy of the structure

float cofold_par (
    const char* string,
    char* structure,
    vrna_param_t* parameters,
    int is_constrained
    )
Compute the minimum free energy of two interacting RNA molecules.
Deprecated use vrna_mfe_dimer() instead
void free_co_arrays (void)
Free memory occupied by cofold()

Deprecated This function will only free memory allocated by a prior call of cofold() or cofold_par() . See vrna_mfe_dimer() for how to use the new API

Note

folding matrices now reside in the fold compound, and should be free’d there

See also:

vrna_fc_destroy(), vrna_mfe_dimer()

void update_cofold_params (void)
Recalculate parameters.
Deprecated See vrna_params_subst() for an alternative using the new API
void update_cofold_params_par (vrna_param_t* parameters)
Recalculate parameters.
Deprecated See vrna_params_subst() for an alternative using the new API
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

Deprecated folding matrices now reside within the fold compound. Thus, this function will only work in conjunction with a prior call to cofold() or cofold_par()

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)

See also:

vrna_mfe_dimer() for the new API

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

Deprecated folding matrices now reside within the vrna_fold_compound_t . Thus, this function will only work in conjunction with a prior call to the deprecated functions cofold() or cofold_par()

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)

See also:

vrna_mfe_dimer() for the new API

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

Export monomer free energies out of cofold arrays Deprecated {This function is obsolete and will be removed soon!}

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 initialize_cofold (int length)
allocate arrays for folding Deprecated {This function is obsolete and will be removed soon!}
float vrna_mfe_dimer (
    vrna_fold_compound_t* vc,
    char* structure
    )
Compute the minimum free energy of two interacting RNA molecules.

The code is analog to the vrna_mfe() function.

SWIG Wrapper Notes This function is attached as method mfe_dimer() to objects of type fold_compound

Parameters:

vc fold compound
structure Will hold the barcket dot structure of the dimer molecule

Returns:

minimum free energy of the structure