RNAlib-2.4.4
|
|
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... | |
Functions | |
int | vrna_E_ext_stem (unsigned int type, int n5d, int n3d, vrna_param_t *p) |
Evaluate a stem branching off the exterior loop. More... | |
FLT_OR_DBL | vrna_exp_E_ext_stem (unsigned int type, int n5d, int n3d, vrna_exp_param_t *p) |
Evaluate a stem branching off the exterior loop (Boltzmann factor version) More... | |
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. More... | |
FLT_OR_DBL | exp_E_ExtLoop (int type, int si1, int sj1, vrna_exp_param_t *P) |
FLT_OR_DBL | exp_E_Stem (int type, int si1, int sj1, int extLoop, vrna_exp_param_t *P) |
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... | |
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 ![]() | |
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... | |
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... | |
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 ![]() | |
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) |
Evaluate the free energy contribution of an interior loop with delimiting base pairs ![]() ![]() | |
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 ![]() | |
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 ![]() | |
int | vrna_E_mb_loop_stack (vrna_fold_compound_t *vc, int i, int j) |
Evaluate energy of a multi branch helices stacking onto closing pair (i,j) More... | |
int | vrna_BT_mb_loop (vrna_fold_compound_t *vc, int *i, int *j, int *k, int en, int *component1, int *component2) |
Backtrack the decomposition of a multi branch loop closed by ![]() | |
struct vrna_mx_pf_aux_el_t |
Auxiliary helper arrays for fast exterior loop computations.
struct vrna_mx_pf_aux_ml_t |
Auxiliary helper arrays for fast exterior loop computations.
int vrna_E_ext_stem | ( | unsigned int | type, |
int | n5d, | ||
int | n3d, | ||
vrna_param_t * | p | ||
) |
#include <ViennaRNA/exterior_loops.h>
Evaluate a stem branching off the exterior loop.
Given a base pair encoded by type, compute the energy contribution including dangling-end/terminal-mismatch contributions. Instead of returning the energy contribution per-se, this function returns the corresponding Boltzmann factor. If either of the adjacent nucleotides
and
must not contribute stacking energy, the corresponding encoding must be
.
type | The base pair encoding |
n5d | The encoded nucleotide directly adjacent at the 5' side of the base pair (may be -1) |
n3d | The encoded nucleotide directly adjacent at the 3' side of the base pair (may be -1) |
p | The pre-computed energy parameters |
FLT_OR_DBL vrna_exp_E_ext_stem | ( | unsigned int | type, |
int | n5d, | ||
int | n3d, | ||
vrna_exp_param_t * | p | ||
) |
#include <ViennaRNA/exterior_loops.h>
Evaluate a stem branching off the exterior loop (Boltzmann factor version)
Given a base pair encoded by type, compute the energy contribution including dangling-end/terminal-mismatch contributions. Instead of returning the energy contribution per-se, this function returns the corresponding Boltzmann factor. If either of the adjacent nucleotides
and
must not contribute stacking energy, the corresponding encoding must be
.
type | The base pair encoding |
n5d | The encoded nucleotide directly adjacent at the 5' side of the base pair (may be -1) |
n3d | The encoded nucleotide directly adjacent at the 3' side of the base pair (may be -1) |
p | The pre-computed energy parameters (Boltzmann factor version) |
int E_Stem | ( | int | type, |
int | si1, | ||
int | sj1, | ||
int | extLoop, | ||
vrna_param_t * | P | ||
) |
#include <ViennaRNA/exterior_loops.h>
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.
type | The pair type of the first base pair un the stem |
si1 | The 5'-mismatching nucleotide |
sj1 | The 3'-mismatching nucleotide |
extLoop | A flag that indicates whether the contribution reflects the one of an exterior loop or not |
P | The data structure containing scaled energy parameters |
FLT_OR_DBL exp_E_ExtLoop | ( | int | type, |
int | si1, | ||
int | sj1, | ||
vrna_exp_param_t * | P | ||
) |
#include <ViennaRNA/exterior_loops.h>
This is the partition function variant of E_ExtLoop()
FLT_OR_DBL exp_E_Stem | ( | int | type, |
int | si1, | ||
int | sj1, | ||
int | extLoop, | ||
vrna_exp_param_t * | P | ||
) |
#include <ViennaRNA/exterior_loops.h>
This is the partition function variant of E_Stem()
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"
size | The size of the loop (number of unpaired nucleotides) |
type | The pair type of the base pair closing the hairpin |
si1 | The 5'-mismatching nucleotide |
sj1 | The 3'-mismatching nucleotide |
string | The sequence of the loop |
P | The datastructure containing scaled energy parameters |
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 of a hairpin loop.
multiply by scale[u+2]
u | The size of the loop (number of unpaired nucleotides) |
type | The pair type of the base pair closing the hairpin |
si1 | The 5'-mismatching nucleotide |
sj1 | The 3'-mismatching nucleotide |
string | The sequence of the loop |
P | The datastructure containing scaled Boltzmann weights of the energy parameters |
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.
vc | The vrna_fold_compound_t that stores all relevant model settings |
i | The 5' nucleotide of the base pair (3' to evaluate the pair as exterior hairpin loop) |
j | The 3' nucleotide of the base pair (5' to evaluate the pair as exterior hairpin loop) |
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.
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.
vc | The vrna_fold_compound_t for the particular energy evaluation |
i | 5'-position of the base pair |
j | 3'-position of the base pair |
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)
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 .
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>
This function computes the free energy 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 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
n1 | The size of the 'left'-loop (number of unpaired nucleotides) |
n2 | The size of the 'right'-loop (number of unpaired nucleotides) |
type | The pair type of the base pair closing the interior loop |
type_2 | The pair type of the enclosed base pair |
si1 | The 5'-mismatching nucleotide of the closing pair |
sj1 | The 3'-mismatching nucleotide of the closing pair |
sp1 | The 3'-mismatching nucleotide of the enclosed pair |
sq1 | The 5'-mismatching nucleotide of the enclosed pair |
P | The datastructure containing scaled energy parameters |
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>
multiply by scale[u1+u2+2] for scaling
u1 | The size of the 'left'-loop (number of unpaired nucleotides) |
u2 | The size of the 'right'-loop (number of unpaired nucleotides) |
type | The pair type of the base pair closing the interior loop |
type2 | The pair type of the enclosed base pair |
si1 | The 5'-mismatching nucleotide of the closing pair |
sj1 | The 3'-mismatching nucleotide of the closing pair |
sp1 | The 3'-mismatching nucleotide of the enclosed pair |
sq1 | The 5'-mismatching nucleotide of the enclosed pair |
P | The datastructure containing scaled Boltzmann weights of the energy parameters |
int vrna_eval_int_loop | ( | vrna_fold_compound_t * | vc, |
int | i, | ||
int | j, | ||
int | k, | ||
int | l | ||
) |
#include <ViennaRNA/interior_loops.h>
Evaluate the free energy contribution of an interior loop with delimiting base pairs and
.
int vrna_E_mb_loop_stack | ( | vrna_fold_compound_t * | vc, |
int | i, | ||
int | j | ||
) |
#include <ViennaRNA/multibranch_loops.h>
Evaluate energy of a multi branch helices stacking onto closing pair (i,j)
Computes total free energy for coaxial stacking of (i.j) with (i+1.k) or (k+1.j-1)
int vrna_BT_mb_loop | ( | vrna_fold_compound_t * | vc, |
int * | i, | ||
int * | j, | ||
int * | k, | ||
int | en, | ||
int * | component1, | ||
int * | component2 | ||
) |
#include <ViennaRNA/multibranch_loops.h>
Backtrack the decomposition of a multi branch loop closed by .
vc | The vrna_fold_compound_t filled with all relevant data for backtracking |
i | 5' position of base pair closing the loop (will be set to 5' position of leftmost decomposed block upon successful backtracking) |
j | 3' position of base pair closing the loop (will be set to 3' position of rightmost decomposed block upon successful backtracking) |
k | Split position that delimits leftmost from rightmost block, [i,k] and [k+1, j], respectively. (Will be set upon successful backtracking) |
en | The energy contribution of the substructure enclosed by ![]() |
component1 | Type of leftmost block (1 = ML, 2 = C) |
component2 | Type of rightmost block (1 = ML, 2 = C) |