RNAlib-2.0.2
H/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 (const char *sequence, char *structure)
 Compute minimum free energy and an appropriate secondary structure of an RNA sequence.
float energy_of_structure (const char *string, const char *structure, int verbosity_level)
 Calculate the free energy of an already folded 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.
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 circfold (const char *string, char *structure)
 Compute minimum free energy and an appropriate secondary structure of an RNA sequence assuming it to be circular instead of linear.
float energy_of_circ_structure (const char *string, const char *structure, int verbosity_level)
 Calculate the free energy of an already folded circular RNA.
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)
 Allocate arrays for folding
.
float energy_of_struct (const char *string, const char *structure)
 Calculate the free energy of an already folded RNA.
int energy_of_struct_pt (const char *string, short *ptable, short *s, short *s1)
 Calculate the free energy of an already folded RNA.
float energy_of_circ_struct (const char *string, const char *structure)
 Calculate the free energy of an already folded circular RNA.

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
 brief set to first pos of second seq for cofolding
int eos_debug
 brief 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

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

Compute minimum free energy and an appropriate secondary structure of an RNA sequence.

The first parameter given, the RNA sequence, must be uppercase and should only contain an alphabet $\Sigma$ that is understood by the RNAlib
(e.g. $ \Sigma = \{A,U,C,G\} $)
The second parameter, structure, must always point to an allocated block of memory with a size of at least $\mathrm{strlen}(\mathrm{sequence})+1$ Depending on the global variable fold_constrained structure may contain a secondary structure constraint in an enhanced dot-bracket notation. The characters " | x < > " mark bases that are paired, unpaired, paired upstream, or downstream, respectively. Matching brackets " ( ) " denote base pairs, dots "." are used for unconstrained bases. Constrained folding works by assigning bonus energies to all structures that comply with the constraint.

After a successful call of fold(), a backtracked secondary structure (in dot-bracket notation) that exhibits the minimum of free energy will be written to the memory structure is pointing to. The function returns the minimum of free energy for any fold of the sequence given. Of course, the resulting free energy depends strongly on the energy model selected.

See also:
circfold(), dangles, noLonelyPairs, noGU, no_closingGU, tetra_loop
Parameters:
sequenceRNA sequence
structureA 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
float energy_of_structure ( const char *  string,
const char *  structure,
int  verbosity_level 
)

Calculate the free energy of an already folded RNA.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

See also:
energy_of_circ_structure(), energy_of_structure_pt()
Parameters:
stringRNA sequence
structuresecondary structure in dot-bracket notation
verbosity_levela flag to turn verbose output on/off
Returns:
the free energy of the input structure given the input sequence in kcal/mol
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.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

See also:
make_pair_table(), energy_of_struct()
Parameters:
stringRNA sequence
ptablethe pair table of the secondary structure
sencoded RNA sequence
s1encoded RNA sequence
verbosity_levela flag to turn verbose output on/off
Returns:
the free energy of the input structure given the input sequence in 10kcal/mol
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 circfold ( const char *  string,
char *  structure 
)

Compute minimum free energy and an appropriate secondary structure of an RNA sequence assuming it to be circular instead of linear.

See also:
fold(), dangles, noLonelyPairs, noGU, no_closingGU, tetra_loop
Parameters:
stringRNA sequence
structureA pointer to the character array the secondary structure in dot-bracket notation will be written to
Returns:
the minimum free energy (MFE) in kcal/mol
float energy_of_circ_structure ( const char *  string,
const char *  structure,
int  verbosity_level 
)

Calculate the free energy of an already folded circular RNA.

If verbosity level is set to a value >0, energies of structure elements are printed to stdout

See also:
energy_of_struct(), energy_of_struct_pt()
Parameters:
stringRNA sequence
structuresecondary structure in dot-bracket notation
verbosity_levela flag to turn verbose output on/off
Returns:
the free energy of the input structure given the input sequence in kcal/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