RNAlib-2.2.0RC0
interior_loops.h File Reference

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

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

Go to the source code of this file.

Functions

PRIVATE int E_IntLoop (int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1, paramT *P)
 
PRIVATE double exp_E_IntLoop (int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1, pf_paramT *P)
 
PRIVATE int E_stack (int i, int j, vrna_fold_compound *vc)
 Evaluate energy of a base pair stack closed by (i,j)
 

Detailed Description

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

Function Documentation

PRIVATE int E_IntLoop ( int  n1,
int  n2,
int  type,
int  type_2,
int  si1,
int  sj1,
int  sp1,
int  sq1,
paramT P 
)

Compute the Energy of an interior-loop

This function computes the free energy $\Delta G$ of an interior-loop with the following structure:

      3'  5'
      |   |
      U - V
  a_n       b_1
   .        .
   .        .
   .        .
  a_1       b_m
      X - Y
      |   |
      5'  3'

This general structure depicts an interior-loop that is closed by the base pair (X,Y). The enclosed base pair is (V,U) which leaves the unpaired bases a_1-a_n and b_1-b_n that constitute the loop. In this example, the length of the interior-loop is $(n+m)$ where n or m may be 0 resulting in a bulge-loop or base pair stack. The mismatching nucleotides for the closing pair (X,Y) are:
5'-mismatch: a_1
3'-mismatch: b_m
and for the enclosed base pair (V,U):
5'-mismatch: b_1
3'-mismatch: a_n

Note
Base pairs are always denoted in 5'->3' direction. Thus the enclosed base pair must be 'turned arround' when evaluating the free energy of the interior-loop
See also
scale_parameters()
paramT
Note
This function is threadsafe
Parameters
n1The size of the 'left'-loop (number of unpaired nucleotides)
n2The size of the 'right'-loop (number of unpaired nucleotides)
typeThe pair type of the base pair closing the interior loop
type_2The pair type of the enclosed base pair
si1The 5'-mismatching nucleotide of the closing pair
sj1The 3'-mismatching nucleotide of the closing pair
sp1The 3'-mismatching nucleotide of the enclosed pair
sq1The 5'-mismatching nucleotide of the enclosed pair
PThe datastructure containing scaled energy parameters
Returns
The Free energy of the Interior-loop in dcal/mol
PRIVATE double exp_E_IntLoop ( int  u1,
int  u2,
int  type,
int  type2,
short  si1,
short  sj1,
short  sp1,
short  sq1,
pf_paramT P 
)

Compute Boltzmann weight $e^{-\Delta G/kT} $ of interior loop

multiply by scale[u1+u2+2] for scaling

See also
get_scaled_pf_parameters()
pf_paramT
E_IntLoop()
Note
This function is threadsafe
Parameters
u1The size of the 'left'-loop (number of unpaired nucleotides)
u2The size of the 'right'-loop (number of unpaired nucleotides)
typeThe pair type of the base pair closing the interior loop
type2The pair type of the enclosed base pair
si1The 5'-mismatching nucleotide of the closing pair
sj1The 3'-mismatching nucleotide of the closing pair
sp1The 3'-mismatching nucleotide of the enclosed pair
sq1The 5'-mismatching nucleotide of the enclosed pair
PThe datastructure containing scaled Boltzmann weights of the energy parameters
Returns
The Boltzmann weight of the Interior-loop