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 )
float vrna_cofold ( const char* sequence, char* structure )
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 )
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 )
void free_co_arrays (void)
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)
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 )
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 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 )
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)
float vrna_mfe_dimer ( vrna_fold_compound_t* vc, char* structure )
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