RNAlib-2.4.0

Energy evaluation of exterior loops for MFE and partition function calculations. More...

+ Include dependency graph for exterior_loops.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vrna_mx_pf_aux_el_t
 Auxiliary helper arrays for fast exterior loop computations. More...
 

Functions

int E_ExtLoop (int type, int si1, int sj1, vrna_param_t *P)
 
FLT_OR_DBL exp_E_ExtLoop (int type, int si1, int sj1, vrna_exp_param_t *P)
 
int E_Stem (int type, int si1, int sj1, int extLoop, vrna_param_t *P)
 
FLT_OR_DBL exp_E_Stem (int type, int si1, int sj1, int extLoop, vrna_exp_param_t *P)
 

Detailed Description

Energy evaluation of exterior loops for MFE and partition function calculations.

Function Documentation

int E_ExtLoop ( int  type,
int  si1,
int  sj1,
vrna_param_t P 
)

Compute the Energy contribution of an Exterior loop stem

This definition is a wrapper for the E_Stem() function. It is substituted by an E_Stem() function call with argument extLoop=1, so the energy contribution returned reflects a stem introduced in an exterior-loop.
As for the parameters si1 and sj1 of the substituted E_Stem() function, you can inhibit to take 5'-, 3'-dangles or mismatch contributions to be taken into account by passing -1 to these parameters.

See also
E_Stem()
Parameters
typeThe pair type of the stem-closing pair
si1The 5'-mismatching nucleotide
sj1The 3'-mismatching nucleotide
PThe data structure containing scaled energy parameters
Returns
The energy contribution of the introduced exterior-loop stem
FLT_OR_DBL exp_E_ExtLoop ( int  type,
int  si1,
int  sj1,
vrna_exp_param_t P 
)

This is the partition function variant of E_ExtLoop()

See also
E_ExtLoop()
Returns
The Boltzmann weighted energy contribution of the introduced exterior-loop stem
int E_Stem ( int  type,
int  si1,
int  sj1,
int  extLoop,
vrna_param_t P 
)

Compute the energy contribution of a stem branching off a loop-region

This function computes the energy contribution of a stem that branches off a loop region. This can be the case in multiloops, when a stem branching off increases the degree of the loop but also immediately interior base pairs of an exterior loop contribute free energy. To switch the behavior of the function according to the evaluation of a multiloop- or exterior-loop-stem, you pass the flag 'extLoop'. The returned energy contribution consists of a TerminalAU penalty if the pair type is greater than 2, dangling end contributions of mismatching nucleotides adjacent to the stem if only one of the si1, sj1 parameters is greater than 0 and mismatch energies if both mismatching nucleotides are positive values. Thus, to avoid incorporating dangling end or mismatch energies just pass a negative number, e.g. -1 to the mismatch argument.

This is an illustration of how the energy contribution is assembled:

      3'  5'
      |   |
      X - Y
5'-si1     sj1-3'

Here, (X,Y) is the base pair that closes the stem that branches off a loop region. The nucleotides si1 and sj1 are the 5'- and 3'- mismatches, respectively. If the base pair type of (X,Y) is greater than 2 (i.e. an A-U or G-U pair, the TerminalAU penalty will be included in the energy contribution returned. If si1 and sj1 are both nonnegative numbers, mismatch energies will also be included. If one of si1 or sj1 is a negative value, only 5' or 3' dangling end contributions are taken into account. To prohibit any of these mismatch contributions to be incorporated, just pass a negative number to both, si1 and sj1. In case the argument extLoop is 0, the returned energy contribution also includes the internal-loop-penalty of a multiloop stem with closing pair type.

See also
E_MLstem()
E_ExtLoop()
Note
This function is threadsafe
Parameters
typeThe pair type of the first base pair un the stem
si1The 5'-mismatching nucleotide
sj1The 3'-mismatching nucleotide
extLoopA flag that indicates whether the contribution reflects the one of an exterior loop or not
PThe data structure containing scaled energy parameters
Returns
The Free energy of the branch off the loop in dcal/mol
FLT_OR_DBL exp_E_Stem ( int  type,
int  si1,
int  sj1,
int  extLoop,
vrna_exp_param_t P 
)

Compute the Boltzmann weighted energy contribution of a stem branching off a loop-region

This is the partition function variant of E_Stem()

See also
E_Stem()
Note
This function is threadsafe
Returns
The Boltzmann weighted energy contribution of the branch off the loop