RNAlib-2.1.9

Partition function for two RNA sequences. More...

+ Include dependency graph for part_func_co.h:

Go to the source code of this file.

Functions

cofoldF co_pf_fold (char *sequence, char *structure)
 Calculate partition function and base pair probabilities. More...
 
cofoldF co_pf_fold_par (char *sequence, char *structure, pf_paramT *parameters, int calculate_bppm, int is_constrained)
 Calculate partition function and base pair probabilities. More...
 
double * 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()
 
void update_co_pf_params (int length)
 Recalculate energy parameters. More...
 
void update_co_pf_params_par (int length, pf_paramT *parameters)
 Recalculate energy parameters. More...
 
void compute_probabilities (double FAB, double FEA, double FEB, struct plist *prAB, struct plist *prA, struct plist *prB, int Alength)
 Compute Boltzmann probabilities of dimerization without homodimers. More...
 
ConcEntget_concentrations (double FEAB, double FEAA, double FEBB, double FEA, double FEB, double *startconc)
 Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers. More...
 
plistget_plist (struct plist *pl, int length, double cut_off)
 
void init_co_pf_fold (int length)
 

Variables

int mirnatog
 Toggles no intrabp in 2nd mol.
 
double F_monomer [2]
 Free energies of the two monomers.
 

Detailed Description

Partition function for two RNA sequences.

As for folding one RNA molecule, this computes the partition function of all possible structures and the base pair probabilities. Uses the same global pf_scale variable to avoid overflows.

To simplify the implementation the partition function computation is done internally in a null model that does not include the duplex initiation energy, i.e. the entropic penalty for producing a dimer from two monomers). The resulting free energies and pair probabilities are initially relative to that null model. In a second step the free energies can be corrected to include the dimerization penalty, and the pair probabilities can be divided into the conditional pair probabilities given that a re dimer is formed or not formed.

After computing the partition functions of all possible dimeres one can compute the probabilities of base pairs, the concentrations out of start concentrations and sofar and soaway.

Dimer formation is inherently concentration dependent. Given the free energies of the monomers A and B and dimers AB, AA, and BB one can compute the equilibrium concentrations, given input concentrations of A and B, see e.g. Dimitrov & Zuker (2004)

Function Documentation

plist* get_plist ( struct plist pl,
int  length,
double  cut_off 
)

DO NOT USE THIS FUNCTION ANYMORE

Deprecated:
{ This function is deprecated and will be removed soon!} use assign_plist_from_pr() instead!
void init_co_pf_fold ( int  length)

DO NOT USE THIS FUNCTION ANYMORE

Deprecated:
{ This function is deprecated and will be removed soon!}