RNAlib-2.4.14
|
|
Files | |
file | part_func_co.h |
Partition function for two RNA sequences. | |
Functions | |
float | pf_fold_par (const char *sequence, char *structure, vrna_exp_param_t *parameters, int calculate_bppm, int is_constrained, int is_circular) |
Compute the partition function ![]() | |
float | pf_fold (const char *sequence, char *structure) |
Compute the partition function ![]() | |
float | pf_circ_fold (const char *sequence, char *structure) |
Compute the partition function of a circular RNA sequence. More... | |
void | free_pf_arrays (void) |
Free arrays for the partition function recursions. More... | |
void | update_pf_params (int length) |
Recalculate energy parameters. More... | |
void | update_pf_params_par (int length, vrna_exp_param_t *parameters) |
Recalculate energy parameters. More... | |
FLT_OR_DBL * | export_bppm (void) |
Get a pointer to the base pair probability array. More... | |
int | get_pf_arrays (short **S_p, short **S1_p, char **ptype_p, FLT_OR_DBL **qb_p, FLT_OR_DBL **qm_p, FLT_OR_DBL **q1k_p, FLT_OR_DBL **qln_p) |
Get the pointers to (almost) all relavant computation arrays used in partition function computation. More... | |
double | get_subseq_F (int i, int j) |
Get the free energy of a subsequence from the q[] array. | |
double | mean_bp_distance (int length) |
Get the mean base pair distance of the last partition function computation. More... | |
double | mean_bp_distance_pr (int length, FLT_OR_DBL *pr) |
Get the mean base pair distance in the thermodynamic ensemble. More... | |
vrna_ep_t * | stackProb (double cutoff) |
Get the probability of stacks. More... | |
void | init_pf_fold (int length) |
Allocate space for pf_fold() More... | |
vrna_dimer_pf_t | co_pf_fold (char *sequence, char *structure) |
Calculate partition function and base pair probabilities. More... | |
vrna_dimer_pf_t | co_pf_fold_par (char *sequence, char *structure, vrna_exp_param_t *parameters, int calculate_bppm, int is_constrained) |
Calculate partition function and base pair probabilities. More... | |
void | compute_probabilities (double FAB, double FEA, double FEB, vrna_ep_t *prAB, vrna_ep_t *prA, vrna_ep_t *prB, int Alength) |
Compute Boltzmann probabilities of dimerization without homodimers. More... | |
void | init_co_pf_fold (int length) |
FLT_OR_DBL * | export_co_bppm (void) |
Get a pointer to the base pair probability array. More... | |
void | free_co_pf_arrays (void) |
Free the memory occupied by co_pf_fold() More... | |
void | update_co_pf_params (int length) |
Recalculate energy parameters. More... | |
void | update_co_pf_params_par (int length, vrna_exp_param_t *parameters) |
Recalculate energy parameters. More... | |
void | assign_plist_from_db (vrna_ep_t **pl, const char *struc, float pr) |
Create a vrna_ep_t from a dot-bracket string. More... | |
void | assign_plist_from_pr (vrna_ep_t **pl, FLT_OR_DBL *probs, int length, double cutoff) |
Create a vrna_ep_t from a probability matrix. More... | |
float | alipf_fold_par (const char **sequences, char *structure, vrna_ep_t **pl, vrna_exp_param_t *parameters, int calculate_bppm, int is_constrained, int is_circular) |
float | alipf_fold (const char **sequences, char *structure, vrna_ep_t **pl) |
The partition function version of alifold() works in analogy to pf_fold(). Pair probabilities and information about sequence covariations are returned via the 'pi' variable as a list of vrna_pinfo_t structs. The list is terminated by the first entry with pi.i = 0. More... | |
float | alipf_circ_fold (const char **sequences, char *structure, vrna_ep_t **pl) |
FLT_OR_DBL * | export_ali_bppm (void) |
Get a pointer to the base pair probability array. More... | |
void | free_alipf_arrays (void) |
Free the memory occupied by folding matrices allocated by alipf_fold, alipf_circ_fold, etc. More... | |
char * | alipbacktrack (double *prob) |
Sample a consensus secondary structure from the Boltzmann ensemble according its probability. More... | |
int | get_alipf_arrays (short ***S_p, short ***S5_p, short ***S3_p, unsigned short ***a2s_p, char ***Ss_p, FLT_OR_DBL **qb_p, FLT_OR_DBL **qm_p, FLT_OR_DBL **q1k_p, FLT_OR_DBL **qln_p, short **pscore) |
Get pointers to (almost) all relavant arrays used in alifold's partition function computation. More... | |
float alipf_fold_par | ( | const char ** | sequences, |
char * | structure, | ||
vrna_ep_t ** | pl, | ||
vrna_exp_param_t * | parameters, | ||
int | calculate_bppm, | ||
int | is_constrained, | ||
int | is_circular | ||
) |
#include <ViennaRNA/alifold.h>
sequences | |
structure | |
pl | |
parameters | |
calculate_bppm | |
is_constrained | |
is_circular |
float pf_fold_par | ( | const char * | sequence, |
char * | structure, | ||
vrna_exp_param_t * | parameters, | ||
int | calculate_bppm, | ||
int | is_constrained, | ||
int | is_circular | ||
) |
#include <ViennaRNA/part_func.h>
Compute the partition function for a given RNA sequence.
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 fold_constrained is not 0, the structure string is interpreted on input as a list of constraints for the folding. The character "x" marks bases that must be unpaired, matching brackets " ( ) " denote base pairs, all other characters are ignored. Any pairs conflicting with the constraint will be forbidden. This is usually sufficient to ensure the constraints are honored. If the parameter calculate_bppm 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.
[in] | sequence | The RNA sequence input |
[in,out] | structure | A pointer to a char array where a base pair probability information can be stored in a pseudo-dot-bracket notation (may be NULL, too) |
[in] | parameters | Data structure containing the precalculated Boltzmann factors |
[in] | calculate_bppm | Switch to Base pair probability calculations on/off (0==off) |
[in] | is_constrained | Switch to indicate that a structure contraint is passed via the structure argument (0==off) |
[in] | is_circular | Switch to (de-)activate postprocessing steps in case RNA sequence is circular (0==off) |
float pf_fold | ( | const char * | sequence, |
char * | structure | ||
) |
#include <ViennaRNA/part_func.h>
Compute the partition function of an RNA sequence.
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 fold_constrained is not 0, the structure string is interpreted on input as a list of constraints for the folding. The character "x" marks bases that must be unpaired, matching brackets " ( ) " denote base pairs, all other characters are ignored. Any pairs conflicting with the constraint will be forbidden. This is usually sufficient to ensure the constraints are honored. If do_backtrack has been set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise pr will contain the probability that bases i and j pair.
sequence | The RNA sequence input |
structure | A pointer to a char array where a base pair probability information can be stored in a pseudo-dot-bracket notation (may be NULL, too) |
float pf_circ_fold | ( | const char * | sequence, |
char * | structure | ||
) |
#include <ViennaRNA/part_func.h>
Compute the partition function of a circular RNA sequence.
[in] | sequence | The RNA sequence input |
[in,out] | structure | A pointer to a char array where a base pair probability information can be stored in a pseudo-dot-bracket notation (may be NULL, too) |
void free_pf_arrays | ( | void | ) |
#include <ViennaRNA/part_func.h>
Free arrays for the partition function recursions.
Call this function if you want to free all allocated memory associated with the partition function forward recursion.
void update_pf_params | ( | int | length | ) |
#include <ViennaRNA/part_func.h>
Recalculate energy parameters.
Call this function to recalculate the pair matrix and energy parameters after a change in folding parameters like temperature
void update_pf_params_par | ( | int | length, |
vrna_exp_param_t * | parameters | ||
) |
#include <ViennaRNA/part_func.h>
Recalculate energy parameters.
FLT_OR_DBL* export_bppm | ( | void | ) |
#include <ViennaRNA/part_func.h>
Get a pointer to the base pair probability array.
Accessing the base pair probabilities for a pair (i,j) is achieved by
int get_pf_arrays | ( | short ** | S_p, |
short ** | S1_p, | ||
char ** | ptype_p, | ||
FLT_OR_DBL ** | qb_p, | ||
FLT_OR_DBL ** | qm_p, | ||
FLT_OR_DBL ** | q1k_p, | ||
FLT_OR_DBL ** | qln_p | ||
) |
#include <ViennaRNA/part_func.h>
Get the pointers to (almost) all relavant computation arrays used in partition function computation.
[out] | S_p | A pointer to the 'S' array (integer representation of nucleotides) |
[out] | S1_p | A pointer to the 'S1' array (2nd integer representation of nucleotides) |
[out] | ptype_p | A pointer to the pair type matrix |
[out] | qb_p | A pointer to the QB matrix |
[out] | qm_p | A pointer to the QM matrix |
[out] | q1k_p | A pointer to the 5' slice of the Q matrix ( ![]() |
[out] | qln_p | A pointer to the 3' slice of the Q matrix ( ![]() |
double mean_bp_distance | ( | int | length | ) |
#include <ViennaRNA/part_func.h>
Get the mean base pair distance of the last partition function computation.
length |
double mean_bp_distance_pr | ( | int | length, |
FLT_OR_DBL * | pr | ||
) |
#include <ViennaRNA/part_func.h>
Get the mean base pair distance in the thermodynamic ensemble.
This is a threadsafe implementation of mean_bp_dist() !
this can be computed from the pair probs as
length | The length of the sequence |
pr | The matrix containing the base pair probabilities |
vrna_ep_t* stackProb | ( | double | cutoff | ) |
#include <ViennaRNA/part_func.h>
Get the probability of stacks.
void init_pf_fold | ( | int | length | ) |
#include <ViennaRNA/part_func.h>
Allocate space for pf_fold()
vrna_dimer_pf_t co_pf_fold | ( | char * | sequence, |
char * | structure | ||
) |
#include <ViennaRNA/part_func_co.h>
Calculate partition function and base pair probabilities.
This is the cofold partition function folding. The second molecule starts at the cut_point nucleotide.
sequence | Concatenated RNA sequences |
structure | Will hold the structure or constraints |
vrna_dimer_pf_t co_pf_fold_par | ( | char * | sequence, |
char * | structure, | ||
vrna_exp_param_t * | parameters, | ||
int | calculate_bppm, | ||
int | is_constrained | ||
) |
#include <ViennaRNA/part_func_co.h>
Calculate partition function and base pair probabilities.
This is the cofold partition function folding. The second molecule starts at the cut_point nucleotide.
sequence | Concatenated RNA sequences |
structure | Pointer to the structure constraint |
parameters | Data structure containing the precalculated Boltzmann factors |
calculate_bppm | Switch to turn Base pair probability calculations on/off (0==off) |
is_constrained | Switch to indicate that a structure contraint is passed via the structure argument (0==off) |
void compute_probabilities | ( | double | FAB, |
double | FEA, | ||
double | FEB, | ||
vrna_ep_t * | prAB, | ||
vrna_ep_t * | prA, | ||
vrna_ep_t * | prB, | ||
int | Alength | ||
) |
#include <ViennaRNA/part_func_co.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 assign_plist_from_pr(), the dimer probabilities 'prAB' are modified in place.
FAB | free energy of dimer AB |
FEA | free energy of monomer A |
FEB | free energy of monomer B |
prAB | pair probabilities for dimer |
prA | pair probabilities monomer |
prB | pair probabilities monomer |
Alength | Length of molecule A |
void init_co_pf_fold | ( | int | length | ) |
#include <ViennaRNA/part_func_co.h>
DO NOT USE THIS FUNCTION ANYMORE
FLT_OR_DBL* export_co_bppm | ( | void | ) |
#include <ViennaRNA/part_func_co.h>
Get a pointer to the base pair probability array.
Accessing the base pair probabilities for a pair (i,j) is achieved by
FLT_OR_DBL *pr = export_bppm(); pr_ij = pr[iindx[i]-j];
void free_co_pf_arrays | ( | void | ) |
#include <ViennaRNA/part_func_co.h>
Free the memory occupied by co_pf_fold()
void update_co_pf_params | ( | int | length | ) |
#include <ViennaRNA/part_func_co.h>
Recalculate energy parameters.
This function recalculates all energy parameters given the current model settings.
length | Length of the current RNA sequence |
void update_co_pf_params_par | ( | int | length, |
vrna_exp_param_t * | parameters | ||
) |
#include <ViennaRNA/part_func_co.h>
Recalculate energy parameters.
This function recalculates all energy parameters given the current model settings. It's second argument can either be NULL or a data structure containing the precomputed Boltzmann factors. In the first scenario, the necessary data structure will be created automatically according to the current global model settings, i.e. this mode might not be threadsafe. However, if the provided data structure is not NULL, threadsafety for the model parameters dangles, pf_scale and temperature is regained, since their values are taken from this data structure during subsequent calculations.
length | Length of the current RNA sequence |
parameters | data structure containing the precomputed Boltzmann factors |
void assign_plist_from_db | ( | vrna_ep_t ** | pl, |
const char * | struc, | ||
float | pr | ||
) |
#include <ViennaRNA/utils/structures.h>
Create a vrna_ep_t from a dot-bracket string.
The dot-bracket string is parsed and for each base pair an entry in the plist is created. The probability of each pair in the list is set by a function parameter.
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
pl | A pointer to the vrna_ep_t that is to be created |
struc | The secondary structure in dot-bracket notation |
pr | The probability for each base pair |
void assign_plist_from_pr | ( | vrna_ep_t ** | pl, |
FLT_OR_DBL * | probs, | ||
int | length, | ||
double | cutoff | ||
) |
#include <ViennaRNA/utils/structures.h>
Create a vrna_ep_t from a probability matrix.
The probability matrix given 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
[out] | pl | A pointer to the vrna_ep_t that is to be created |
[in] | probs | The probability matrix used for creating the plist |
[in] | length | The length of the RNA sequence |
[in] | cutoff | The cutoff value |
float alipf_fold | ( | const char ** | sequences, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/alifold.h>
The partition function version of alifold() works in analogy to pf_fold(). Pair probabilities and information about sequence covariations are returned via the 'pi' variable as a list of vrna_pinfo_t structs. The list is terminated by the first entry with pi.i = 0.
sequences | |
structure | |
pl |
float alipf_circ_fold | ( | const char ** | sequences, |
char * | structure, | ||
vrna_ep_t ** | pl | ||
) |
#include <ViennaRNA/alifold.h>
sequences | |
structure | |
pl |
FLT_OR_DBL* export_ali_bppm | ( | void | ) |
#include <ViennaRNA/alifold.h>
Get a pointer to the base pair probability array.
Accessing the base pair probabilities for a pair (i,j) is achieved by
FLT_OR_DBL *pr = export_bppm(); pr_ij = pr[iindx[i]-j];
void free_alipf_arrays | ( | void | ) |
#include <ViennaRNA/alifold.h>
Free the memory occupied by folding matrices allocated by alipf_fold, alipf_circ_fold, etc.
char* alipbacktrack | ( | double * | prob | ) |
#include <ViennaRNA/alifold.h>
Sample a consensus secondary structure from the Boltzmann ensemble according its probability.
prob | to be described (berni) |
int get_alipf_arrays | ( | short *** | S_p, |
short *** | S5_p, | ||
short *** | S3_p, | ||
unsigned short *** | a2s_p, | ||
char *** | Ss_p, | ||
FLT_OR_DBL ** | qb_p, | ||
FLT_OR_DBL ** | qm_p, | ||
FLT_OR_DBL ** | q1k_p, | ||
FLT_OR_DBL ** | qln_p, | ||
short ** | pscore | ||
) |
#include <ViennaRNA/alifold.h>
Get pointers to (almost) all relavant arrays used in alifold's partition function computation.
S_p | A pointer to the 'S' array (integer representation of nucleotides) |
S5_p | A pointer to the 'S5' array |
S3_p | A pointer to the 'S3' array |
a2s_p | A pointer to the alignment-column to sequence position mapping array |
Ss_p | A pointer to the 'Ss' array |
qb_p | A pointer to the QB matrix |
qm_p | A pointer to the QM matrix |
q1k_p | A pointer to the 5' slice of the Q matrix ( ![]() |
qln_p | A pointer to the 3' slice of the Q matrix ( ![]() |
pscore | A pointer to the start of a pscore list |