RNAlib-2.1.2
fold.h File Reference

MFE calculations and energy evaluations for single RNA sequences. More...

+ Include dependency graph for fold.h:

Go to the source code of this file.

Functions

float fold_par (const char *sequence, char *structure, paramT *parameters, int is_constrained, int is_circular)
 Compute minimum free energy and an appropriate secondary structure of an RNA sequence.
float fold (const char *sequence, char *structure)
 Compute minimum free energy and an appropriate secondary structure of an RNA sequence.
float circfold (const char *sequence, char *structure)
 Compute minimum free energy and an appropriate secondary structure of a circular RNA sequence.
float energy_of_structure (const char *string, const char *structure, int verbosity_level)
 Calculate the free energy of an already folded RNA using global model detail settings.
float energy_of_struct_par (const char *string, const char *structure, paramT *parameters, int verbosity_level)
 Calculate the free energy of an already folded RNA.
float energy_of_circ_structure (const char *string, const char *structure, int verbosity_level)
 Calculate the free energy of an already folded circular RNA.
float energy_of_circ_struct_par (const char *string, const char *structure, paramT *parameters, int verbosity_level)
 Calculate the free energy of an already folded circular RNA.
int energy_of_structure_pt (const char *string, short *ptable, short *s, short *s1, int verbosity_level)
 Calculate the free energy of an already folded RNA.
int energy_of_struct_pt_par (const char *string, short *ptable, short *s, short *s1, paramT *parameters, int verbosity_level)
 Calculate the free energy of an already folded RNA.
void free_arrays (void)
 Free arrays for mfe folding.
void parenthesis_structure (char *structure, bondT *bp, int length)
 Create a dot-backet/parenthesis structure from backtracking stack.
void parenthesis_zuker (char *structure, bondT *bp, int length)
 Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c.
void update_fold_params (void)
 Recalculate energy parameters.
float energy_of_move (const char *string, const char *structure, int m1, int m2)
 Calculate energy of a move (closing or opening of a base pair)
int energy_of_move_pt (short *pt, short *s, short *s1, int m1, int m2)
 Calculate energy of a move (closing or opening of a base pair)
int loop_energy (short *ptable, short *s, short *s1, int i)
 Calculate energy of a loop.
void assign_plist_from_db (plist **pl, const char *struc, float pr)
 Create a plist from a dot-bracket string.
int LoopEnergy (int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1)
int HairpinE (int size, int type, int si1, int sj1, const char *string)
void initialize_fold (int length)
float energy_of_struct (const char *string, const char *structure)
int energy_of_struct_pt (const char *string, short *ptable, short *s, short *s1)
float energy_of_circ_struct (const char *string, const char *structure)

Variables

int logML
 if nonzero use logarithmic ML energy in energy_of_struct
int uniq_ML
 do ML decomposition uniquely (for subopt)
int cut_point
 set to first pos of second seq for cofolding
int eos_debug
 verbose info from energy_of_struct

Detailed Description

MFE calculations and energy evaluations for single RNA sequences.

This file includes (almost) all function declarations within the RNAlib that are related to MFE folding...


Function Documentation

void parenthesis_structure ( char *  structure,
bondT bp,
int  length 
)

Create a dot-backet/parenthesis structure from backtracking stack.

Note:
This function is threadsafe
void parenthesis_zuker ( char *  structure,
bondT bp,
int  length 
)

Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c.

Note:
This function is threadsafe
float energy_of_move ( const char *  string,
const char *  structure,
int  m1,
int  m2 
)

Calculate energy of a move (closing or opening of a base pair)

If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

See also:
make_pair_table(), energy_of_move()
Parameters:
stringRNA sequence
structuresecondary structure in dot-bracket notation
m1first coordinate of base pair
m2second coordinate of base pair
Returns:
energy change of the move in kcal/mol
int energy_of_move_pt ( short *  pt,
short *  s,
short *  s1,
int  m1,
int  m2 
)

Calculate energy of a move (closing or opening of a base pair)

If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).

See also:
make_pair_table(), energy_of_move()
Parameters:
ptthe pair table of the secondary structure
sencoded RNA sequence
s1encoded RNA sequence
m1first coordinate of base pair
m2second coordinate of base pair
Returns:
energy change of the move in 10cal/mol
int loop_energy ( short *  ptable,
short *  s,
short *  s1,
int  i 
)

Calculate energy of a loop.

Parameters:
ptablethe pair table of the secondary structure
sencoded RNA sequence
s1encoded RNA sequence
iposition of covering base pair
Returns:
free energy of the loop in 10cal/mol
void assign_plist_from_db ( plist **  pl,
const char *  struc,
float  pr 
)

Create a plist from a dot-bracket string.

The dot-bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.

The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries

This function is threadsafe

Parameters:
plA pointer to the plist that is to be created
strucThe secondary structure in dot-bracket notation
prThe probability for each base pair
int LoopEnergy ( int  n1,
int  n2,
int  type,
int  type_2,
int  si1,
int  sj1,
int  sp1,
int  sq1 
)
Deprecated:
{This function is deprecated and will be removed soon. Use E_IntLoop() instead!}
int HairpinE ( int  size,
int  type,
int  si1,
int  sj1,
const char *  string 
)
Deprecated:
{This function is deprecated and will be removed soon. Use E_Hairpin() instead!}
void initialize_fold ( int  length)

Allocate arrays for folding

Deprecated:
{This function is deprecated and will be removed soon!}
float energy_of_struct ( const char *  string,
const char *  structure 
)

Calculate the free energy of an already folded RNA

Note:
This function is not entirely threadsafe! Depending on the state of the global variable eos_debug it prints energy information to stdout or not...
Deprecated:
This function is deprecated and should not be used in future programs! Use energy_of_structure() instead!
See also:
energy_of_structure, energy_of_circ_struct(), energy_of_struct_pt()
Parameters:
stringRNA sequence
structuresecondary structure in dot-bracket notation
Returns:
the free energy of the input structure given the input sequence in kcal/mol
int energy_of_struct_pt ( const char *  string,
short *  ptable,
short *  s,
short *  s1 
)

Calculate the free energy of an already folded RNA

Note:
This function is not entirely threadsafe! Depending on the state of the global variable eos_debug it prints energy information to stdout or not...
Deprecated:
This function is deprecated and should not be used in future programs! Use energy_of_structure_pt() instead!
See also:
make_pair_table(), energy_of_structure()
Parameters:
stringRNA sequence
ptablethe pair table of the secondary structure
sencoded RNA sequence
s1encoded RNA sequence
Returns:
the free energy of the input structure given the input sequence in 10kcal/mol
float energy_of_circ_struct ( const char *  string,
const char *  structure 
)

Calculate the free energy of an already folded circular RNA

Note:
This function is not entirely threadsafe! Depending on the state of the global variable eos_debug it prints energy information to stdout or not...
Deprecated:
This function is deprecated and should not be used in future programs Use energy_of_circ_structure() instead!
See also:
energy_of_circ_structure(), energy_of_struct(), energy_of_struct_pt()
Parameters:
stringRNA sequence
structuresecondary structure in dot-bracket notation
Returns:
the free energy of the input structure given the input sequence in kcal/mol