RNAlib-2.4.14
|
|
Variations of the global partition function algorithm. More...
Variations of the global partition function algorithm.
We provide implementations of the global partition function algorithm for
Modules | |
Computing Partition Functions of a Distance Based Partitioning | |
Compute the partition function and stochastically sample secondary structures for a partitioning of the secondary structure space according to the base pair distance to two fixed reference structures. | |
Deprecated Interface for Global Partition Function Computation | |
Files | |
file | part_func.h |
Partition function implementations. | |
Data Structures | |
struct | vrna_dimer_pf_s |
Data structure returned by vrna_pf_dimer() More... | |
Functions | |
void | vrna_pf_dimer_probs (double FAB, double FA, double FB, vrna_ep_t *prAB, const vrna_ep_t *prA, const vrna_ep_t *prB, int Alength, const vrna_exp_param_t *exp_params) |
Compute Boltzmann probabilities of dimerization without homodimers. More... | |
double | vrna_pr_structure (vrna_fold_compound_t *fc, const char *structure) |
Compute the equilibrium probability of a particular secondary structure. More... | |
vrna_ep_t * | vrna_plist_from_probs (vrna_fold_compound_t *vc, double cut_off) |
Create a vrna_ep_t from base pair probability matrix. More... | |
Base pair related probability computations | |
double | vrna_mean_bp_distance_pr (int length, FLT_OR_DBL *pr) |
Get the mean base pair distance in the thermodynamic ensemble from a probability matrix. More... | |
double | vrna_mean_bp_distance (vrna_fold_compound_t *vc) |
Get the mean base pair distance in the thermodynamic ensemble. More... | |
double | vrna_ensemble_defect (vrna_fold_compound_t *fc, const char *structure) |
Compute the Ensemble Defect for a given target structure. More... | |
vrna_ep_t * | vrna_stack_prob (vrna_fold_compound_t *vc, double cutoff) |
Compute stacking probabilities. More... | |
double * | vrna_positional_entropy (vrna_fold_compound_t *fc) |
Compute a vector of positional entropies. More... | |
Basic global partition function interface | |
float | vrna_pf (vrna_fold_compound_t *vc, char *structure) |
Compute the partition function ![]() | |
vrna_dimer_pf_t | vrna_pf_dimer (vrna_fold_compound_t *vc, char *structure) |
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers. More... | |
Simplified global partition function computation using sequence(s) or multiple sequence alignment(s) | |
float | vrna_pf_fold (const char *sequence, char *structure, vrna_ep_t **pl) |
Compute Partition function ![]() | |
float | vrna_pf_circfold (const char *sequence, char *structure, vrna_ep_t **pl) |
Compute Partition function ![]() | |
float | vrna_pf_alifold (const char **sequences, char *structure, vrna_ep_t **pl) |
Compute Partition function ![]() | |
float | vrna_pf_circalifold (const char **sequences, char *structure, vrna_ep_t **pl) |
Compute Partition function ![]() | |
vrna_dimer_pf_t | vrna_pf_co_fold (const char *seq, char *structure, vrna_ep_t **pl) |
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers. More... | |
struct vrna_dimer_pf_s |
double vrna_mean_bp_distance_pr | ( | int | length, |
FLT_OR_DBL * | pr | ||
) |
#include <ViennaRNA/equilibrium_probs.h>
Get the mean base pair distance in the thermodynamic ensemble from a probability matrix.
this can be computed from the pair probs as
length | The length of the sequence |
pr | The matrix containing the base pair probabilities |
double vrna_mean_bp_distance | ( | vrna_fold_compound_t * | vc | ) |
#include <ViennaRNA/equilibrium_probs.h>
Get the mean base pair distance in the thermodynamic ensemble.
this can be computed from the pair probs as
vc | The fold compound data structure |
double vrna_ensemble_defect | ( | vrna_fold_compound_t * | fc, |
const char * | structure | ||
) |
#include <ViennaRNA/equilibrium_probs.h>
Compute the Ensemble Defect for a given target structure.
Given a target structure , compute the average dissimilarity of a randomly drawn structure from the ensemble, i.e.:
with sequence length , the probability
of a base pair
, the probability
of nucleotide
being unpaired, and the indicator variable
if
, and
otherwise.
fc
must contain a valid base pair probability matrix. This means that partition function and base pair probabilities must have been computed using fc
before execution of this function!fc | A fold_compound with pre-computed base pair probabilities |
structure | A target structure in dot-bracket notation |
vrna_ep_t* vrna_stack_prob | ( | vrna_fold_compound_t * | vc, |
double | cutoff | ||
) |
#include <ViennaRNA/equilibrium_probs.h>
Compute stacking probabilities.
For each possible base pair , compute the probability of a stack
,
.
vc | The fold compound data structure with precomputed base pair probabilities |
cutoff | A cutoff value that limits the output to stacks with ![]() |
void vrna_pf_dimer_probs | ( | double | FAB, |
double | FA, | ||
double | FB, | ||
vrna_ep_t * | prAB, | ||
const vrna_ep_t * | prA, | ||
const vrna_ep_t * | prB, | ||
int | Alength, | ||
const vrna_exp_param_t * | exp_params | ||
) |
#include <ViennaRNA/equilibrium_probs.h>
Compute Boltzmann probabilities of dimerization without homodimers.
Given the pair probabilities and free energies (in the null model) for a dimer AB and the two constituent monomers A and B, compute the conditional pair probabilities given that a dimer AB actually forms. Null model pair probabilities are given as a list as produced by vrna_plist_from_probs(), the dimer probabilities 'prAB' are modified in place.
FAB | free energy of dimer AB |
FA | free energy of monomer A |
FB | free energy of monomer B |
prAB | pair probabilities for dimer |
prA | pair probabilities monomer |
prB | pair probabilities monomer |
Alength | Length of molecule A |
exp_params | The precomputed Boltzmann factors |
double vrna_pr_structure | ( | vrna_fold_compound_t * | fc, |
const char * | structure | ||
) |
#include <ViennaRNA/equilibrium_probs.h>
Compute the equilibrium probability of a particular secondary structure.
The probability of a particular secondary structure
can be computed as
from the structures free energy and the partition function
where is the gas constant and
the thermodynamic temperature.
fc
must have went through a call to vrna_pf() to fill the dynamic programming matrices with the corresponding partition function.fc | The fold compound data structure with precomputed partition function |
structure | The secondary structure to compute the probability for in dot-bracket notation |
float vrna_pf | ( | vrna_fold_compound_t * | vc, |
char * | structure | ||
) |
#include <ViennaRNA/part_func.h>
Compute the partition function for a given RNA sequence, or sequence alignment.
If structure is not a NULL pointer on input, it contains on return a string consisting of the letters " . , | { } ( ) " denoting bases that are essentially unpaired, weakly paired, strongly paired without preference, weakly upstream (downstream) paired, or strongly up- (down-)stream paired bases, respectively. If the model's compute_bpp is set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise after calculations took place pr will contain the probability that bases i and j pair.
stdout
.[in,out] | vc | The fold compound data structure |
[in,out] | structure | A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL) |
vrna_dimer_pf_t vrna_pf_dimer | ( | vrna_fold_compound_t * | vc, |
char * | structure | ||
) |
#include <ViennaRNA/part_func.h>
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers.
This is the cofold partition function folding.
FA
, FB
, FAB
, F0AB
members of the output data structure in case of contradicting constraints or numerical over-/underflow. In the latter case, a corresponding warning will be issued to stdout
.vc | the fold compound data structure |
structure | Will hold the structure or constraints |
float vrna_pf_fold | ( | const char * | sequence, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/part_func.h>
Compute Partition function (and base pair probabilities) for an RNA sequence using a comparative method.
This simplified interface to vrna_pf() computes the partition function and, if required, base pair probabilities for an RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be allocated and free'd on-the-fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post-processing.
sequence | RNA sequence |
structure | A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL) |
pl | A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL) |
float vrna_pf_circfold | ( | const char * | sequence, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/part_func.h>
Compute Partition function (and base pair probabilities) for a circular RNA sequences using a comparative method.
This simplified interface to vrna_pf() computes the partition function and, if required, base pair probabilities for a circular RNA sequence using default options. Memory required for dynamic programming (DP) matrices will be allocated and free'd on-the-fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post-processing.
Folding of circular RNA sequences is handled as a post-processing step of the forward recursions. See [10] for further details.
sequence | A circular RNA sequence |
structure | A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL) |
pl | A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL) |
float vrna_pf_alifold | ( | const char ** | sequences, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/part_func.h>
Compute Partition function (and base pair probabilities) for an RNA sequence alignment using a comparative method.
This simplified interface to vrna_pf() computes the partition function and, if required, base pair probabilities for an RNA sequence alignment using default options. Memory required for dynamic programming (DP) matrices will be allocated and free'd on-the-fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post-processing.
sequences | RNA sequence alignment |
structure | A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL) |
pl | A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL) |
float vrna_pf_circalifold | ( | const char ** | sequences, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/part_func.h>
Compute Partition function (and base pair probabilities) for an alignment of circular RNA sequences using a comparative method.
This simplified interface to vrna_pf() computes the partition function and, if required, base pair probabilities for an RNA sequence alignment using default options. Memory required for dynamic programming (DP) matrices will be allocated and free'd on-the-fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post-processing.
Folding of circular RNA sequences is handled as a post-processing step of the forward recursions. See [10] for further details.
sequences | Sequence alignment of circular RNAs |
structure | A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL) |
pl | A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL) |
vrna_ep_t* vrna_plist_from_probs | ( | vrna_fold_compound_t * | vc, |
double | cut_off | ||
) |
#include <ViennaRNA/utils/structures.h>
Create a vrna_ep_t from base pair probability matrix.
The probability matrix provided via the vrna_fold_compound_t is parsed and all pair probabilities above the given threshold are used to create an entry in the plist
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
[in] | vc | The fold compound |
[in] | cut_off | The cutoff value |
double * vrna_positional_entropy | ( | vrna_fold_compound_t * | fc | ) |
#include <ViennaRNA/equilibrium_probs.h>
Compute a vector of positional entropies.
This function computes the positional entropies from base pair probabilities as
with unpaired probabilities .
Low entropy regions have little structural flexibility and the reliability of the predicted structure is high. High entropy implies many structural alternatives. While these alternatives may be functionally important, they make structure prediction more difficult and thus less reliable.
fc | A fold_compound with pre-computed base pair probabilities |
vrna_dimer_pf_t vrna_pf_co_fold | ( | const char * | seq, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/part_func.h>
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers.
This simplified interface to vrna_pf_dimer() computes the partition function and, if required, base pair probabilities for an RNA-RNA interaction using default options. Memory required for dynamic programming (DP) matrices will be allocated and free'd on-the-fly. Hence, after return of this function, the recursively filled matrices are not available any more for any post-processing.
seq | Two concatenated RNA sequences with a delimiting '&' in between |
structure | A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL) |
pl | A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL) |