RNAlib-2.3.2
Process and evaluate individual loops
+ Collaboration diagram for Process and evaluate individual loops:

Files

file  exterior_loops.h
 Energy evaluation of exterior loops for MFE and partition function calculations.
 
file  hairpin_loops.h
 Energy evaluation of hairpin loops for MFE and partition function calculations.
 
file  interior_loops.h
 Energy evaluation of interior loops for MFE and partition function calculations.
 
file  loop_energies.h
 Energy evaluation for MFE and partition function calculations.
 
file  multibranch_loops.h
 Energy evaluation of multibranch loops for MFE and partition function calculations.
 

Data Structures

struct  vrna_mx_pf_aux_el_t
 Auxiliary helper arrays for fast exterior loop computations. More...
 
struct  vrna_mx_pf_aux_ml_t
 Auxiliary helper arrays for fast exterior loop computations. More...
 
PRIVATE int E_Hairpin (int size, int type, int si1, int sj1, const char *string, vrna_param_t *P)
 Compute the Energy of a hairpin-loop. More...
 
int vrna_eval_ext_hp_loop (vrna_fold_compound_t *vc, int i, int j)
 Evaluate free energy of an exterior hairpin loop.
 
int vrna_eval_hp_loop (vrna_fold_compound_t *vc, int i, int j)
 Evaluate free energy of a hairpin loop. More...
 
PRIVATE FLT_OR_DBL exp_E_Hairpin (int u, int type, short si1, short sj1, const char *string, vrna_exp_param_t *P)
 Compute Boltzmann weight $e^{-\Delta G/kT} $ of a hairpin loop. More...
 
int vrna_E_hp_loop (vrna_fold_compound_t *vc, int i, int j)
 Evaluate the free energy of a hairpin loop and consider hard constraints if they apply. More...
 
int vrna_E_ext_hp_loop (vrna_fold_compound_t *vc, int i, int j)
 Evaluate the free energy of an exterior hairpin loop and consider possible hard constraints. More...
 
FLT_OR_DBL vrna_exp_E_hp_loop (vrna_fold_compound_t *vc, int i, int j)
 High-Level function for hairpin loop energy evaluation (partition function variant) More...
 
int vrna_BT_hp_loop (vrna_fold_compound_t *vc, int i, int j, int en, vrna_bp_stack_t *bp_stack, int *stack_count)
 Backtrack a hairpin loop closed by $ (i,j) $. More...
 
PRIVATE int E_IntLoop (int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1, vrna_param_t *P)
 
PRIVATE FLT_OR_DBL exp_E_IntLoop (int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1, vrna_exp_param_t *P)
 
int vrna_eval_int_loop (vrna_fold_compound_t *vc, int i, int j, int k, int l)
 
int vrna_BT_stack (vrna_fold_compound_t *vc, int *i, int *j, int *en, vrna_bp_stack_t *bp_stack, int *stack_count)
 Backtrack a stacked pair closed by $ (i,j) $.
 
int vrna_BT_int_loop (vrna_fold_compound_t *vc, int *i, int *j, int en, vrna_bp_stack_t *bp_stack, int *stack_count)
 Backtrack an interior loop closed by $ (i,j) $.
 

Detailed Description


Data Structure Documentation

struct vrna_mx_pf_aux_el_t

Auxiliary helper arrays for fast exterior loop computations.

See also
vrna_exp_E_ext_fast_init(), vrna_exp_E_ext_fast_rotate(), vrna_exp_E_ext_fast_free(), vrna_exp_E_ext_fast()
struct vrna_mx_pf_aux_ml_t

Auxiliary helper arrays for fast exterior loop computations.

See also
vrna_exp_E_ml_fast_init(), vrna_exp_E_ml_fast_rotate(), vrna_exp_E_ml_fast_free(), vrna_exp_E_ml_fast()

Function Documentation

PRIVATE int E_Hairpin ( int  size,
int  type,
int  si1,
int  sj1,
const char *  string,
vrna_param_t P 
)

#include <ViennaRNA/hairpin_loops.h>

Compute the Energy of a hairpin-loop.

To evaluate the free energy of a hairpin-loop, several parameters have to be known. A general hairpin-loop has this structure:

      a3 a4
    a2     a5
    a1     a6
      X - Y
      |   |
      5'  3'

where X-Y marks the closing pair [e.g. a (G,C) pair]. The length of this loop is 6 as there are six unpaired nucleotides (a1-a6) enclosed by (X,Y). The 5' mismatching nucleotide is a1 while the 3' mismatch is a6. The nucleotide sequence of this loop is "a1.a2.a3.a4.a5.a6"

Note
The parameter sequence should contain the sequence of the loop in capital letters of the nucleic acid alphabet if the loop size is below 7. This is useful for unusually stable tri-, tetra- and hexa-loops which are treated differently (based on experimental data) if they are tabulated.
See also
scale_parameters()
vrna_param_t
Warning
Not (really) thread safe! A threadsafe implementation will replace this function in a future release!
Energy evaluation may change due to updates in global variable "tetra_loop"
Parameters
sizeThe size of the loop (number of unpaired nucleotides)
typeThe pair type of the base pair closing the hairpin
si1The 5'-mismatching nucleotide
sj1The 3'-mismatching nucleotide
stringThe sequence of the loop
PThe datastructure containing scaled energy parameters
Returns
The Free energy of the Hairpin-loop in dcal/mol
int vrna_eval_hp_loop ( vrna_fold_compound_t vc,
int  i,
int  j 
)

#include <ViennaRNA/hairpin_loops.h>

Evaluate free energy of a hairpin loop.

Note
This function is polymorphic! The provided vrna_fold_compound_t may be of type VRNA_FC_TYPE_SINGLE or VRNA_FC_TYPE_COMPARATIVE
Parameters
vcThe vrna_fold_compound_t for the particular energy evaluation
i5'-position of the base pair
j3'-position of the base pair
Returns
Free energy of the hairpin loop closed by $ (i,j) $ in deka-kal/mol
SWIG Wrapper Notes:
This function is attached as method eval_hp_loop() to objects of type fold_compound
PRIVATE int E_IntLoop ( int  n1,
int  n2,
int  type,
int  type_2,
int  si1,
int  sj1,
int  sp1,
int  sq1,
vrna_param_t P 
)

#include <ViennaRNA/interior_loops.h>

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()
vrna_param_t
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 FLT_OR_DBL exp_E_Hairpin ( int  u,
int  type,
short  si1,
short  sj1,
const char *  string,
vrna_exp_param_t P 
)

#include <ViennaRNA/hairpin_loops.h>

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

multiply by scale[u+2]

See also
get_scaled_pf_parameters()
vrna_exp_param_t
E_Hairpin()
Warning
Not (really) thread safe! A threadsafe implementation will replace this function in a future release!
Energy evaluation may change due to updates in global variable "tetra_loop"
Parameters
uThe size of the loop (number of unpaired nucleotides)
typeThe pair type of the base pair closing the hairpin
si1The 5'-mismatching nucleotide
sj1The 3'-mismatching nucleotide
stringThe sequence of the loop
PThe datastructure containing scaled Boltzmann weights of the energy parameters
Returns
The Boltzmann weight of the Hairpin-loop
int vrna_E_hp_loop ( vrna_fold_compound_t vc,
int  i,
int  j 
)

#include <ViennaRNA/hairpin_loops.h>

Evaluate the free energy of a hairpin loop and consider hard constraints if they apply.

This function evaluates the free energy of a hairpin loop

In case the base pair is not allowed due to a constraint conflict, this function returns INF.

Note
This function is polymorphic! The provided vrna_fold_compound_t may be of type VRNA_FC_TYPE_SINGLE or VRNA_FC_TYPE_COMPARATIVE
Parameters
vcThe vrna_fold_compound_t that stores all relevant model settings
iThe 5' nucleotide of the base pair (3' to evaluate the pair as exterior hairpin loop)
jThe 3' nucleotide of the base pair (5' to evaluate the pair as exterior hairpin loop)
Returns
The free energy of the hairpin loop in 10cal/mol
int vrna_E_ext_hp_loop ( vrna_fold_compound_t vc,
int  i,
int  j 
)

#include <ViennaRNA/hairpin_loops.h>

Evaluate the free energy of an exterior hairpin loop and consider possible hard constraints.

Note
This function is polymorphic! The provided vrna_fold_compound_t may be of type VRNA_FC_TYPE_SINGLE or VRNA_FC_TYPE_COMPARATIVE
FLT_OR_DBL vrna_exp_E_hp_loop ( vrna_fold_compound_t vc,
int  i,
int  j 
)

#include <ViennaRNA/hairpin_loops.h>

High-Level function for hairpin loop energy evaluation (partition function variant)

See also
vrna_E_hp_loop() for it's free energy counterpart
Note
This function is polymorphic! The provided vrna_fold_compound_t may be of type VRNA_FC_TYPE_SINGLE or VRNA_FC_TYPE_COMPARATIVE
int vrna_BT_hp_loop ( vrna_fold_compound_t vc,
int  i,
int  j,
int  en,
vrna_bp_stack_t bp_stack,
int *  stack_count 
)

#include <ViennaRNA/hairpin_loops.h>

Backtrack a hairpin loop closed by $ (i,j) $.

Note
This function is polymorphic! The provided vrna_fold_compound_t may be of type VRNA_FC_TYPE_SINGLE or VRNA_FC_TYPE_COMPARATIVE
PRIVATE FLT_OR_DBL exp_E_IntLoop ( int  u1,
int  u2,
int  type,
int  type2,
short  si1,
short  sj1,
short  sp1,
short  sq1,
vrna_exp_param_t P 
)

#include <ViennaRNA/interior_loops.h>

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

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

See also
get_scaled_pf_parameters()
vrna_exp_param_t
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
int vrna_eval_int_loop ( vrna_fold_compound_t vc,
int  i,
int  j,
int  k,
int  l 
)

#include <ViennaRNA/interior_loops.h>

SWIG Wrapper Notes:
This function is attached as method eval_int_loop() to objects of type fold_compound