RNAlib-2.4.5
Partition Function for two hybridized Sequences

Partition Function Cofolding. More...

Detailed Description

Partition Function Cofolding.

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. See [1] for further details.

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)

+ Collaboration diagram for Partition Function for two hybridized Sequences:

Files

file  concentrations.h
 Concentration computations for RNA-RNA interactions.
 
file  part_func_co.h
 Partition function for two RNA sequences.
 
file  part_func_up.h
 Implementations for accessibility and RNA-RNA interaction as a stepwise process.
 

Data Structures

struct  vrna_dimer_pf_s
 Data structure returned by vrna_pf_dimer() More...
 

Typedefs

typedef struct vrna_dimer_pf_s vrna_dimer_pf_t
 Typename for the data structure that stores the dimer partition functions, vrna_dimer_pf_s, as returned by vrna_pf_dimer()
 
typedef struct vrna_dimer_pf_s cofoldF
 Backward compatibility typedef for vrna_dimer_pf_s.
 

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...
 
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...
 
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...
 

Variables

int mirnatog
 Toggles no intrabp in 2nd mol.
 
double F_monomer [2]
 Free energies of the two monomers.
 
typedef struct vrna_dimer_conc_s vrna_dimer_conc_t
 Typename for the data structure that stores the dimer concentrations, vrna_dimer_conc_s, as required by vrna_pf_dimer_concentration()
 
typedef struct vrna_dimer_conc_s ConcEnt
 Backward compatibility typedef for vrna_dimer_conc_s.
 
vrna_dimer_conc_tvrna_pf_dimer_concentrations (double FcAB, double FcAA, double FcBB, double FEA, double FEB, const double *startconc, const vrna_exp_param_t *exp_params)
 Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers. More...
 

Data Structure Documentation

◆ vrna_dimer_pf_s

struct vrna_dimer_pf_s

Data structure returned by vrna_pf_dimer()

Data Fields

double F0AB
 Null model without DuplexInit.
 
double FAB
 all states with DuplexInit correction
 
double FcAB
 true hybrid states only
 
double FA
 monomer A
 
double FB
 monomer B
 

Function Documentation

◆ vrna_pf_dimer_probs()

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.

Parameters
FABfree energy of dimer AB
FAfree energy of monomer A
FBfree energy of monomer B
prABpair probabilities for dimer
prApair probabilities monomer
prBpair probabilities monomer
AlengthLength of molecule A
exp_paramsThe precomputed Boltzmann factors

◆ vrna_pf_dimer()

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.

See also
vrna_fold_compound() for how to retrieve the necessary data structure
Parameters
vcthe fold compound data structure
structureWill hold the structure or constraints
Returns
vrna_dimer_pf_t structure containing a set of energies needed for concentration computations.
SWIG Wrapper Notes:
This function is attached as method pf_dimer() to objects of type fold_compound

◆ vrna_pf_co_fold()

vrna_dimer_pf_t vrna_pf_co_fold ( const char *  seq,
char *  structure,
vrna_ep_t **  pl 
)

#include <ViennaRNA/part_func_co.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.

Note
In case you want to use the filled DP matrices for any subsequent post-processing step, or you require other conditions than specified by the default model details, use vrna_pf_dimer(), and the data structure vrna_fold_compound_t instead.
See also
vrna_pf_dimer()
Parameters
seqTwo concatenated RNA sequences with a delimiting '&' in between
structureA pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL)
plA pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL)
Returns
vrna_dimer_pf_t structure containing a set of energies needed for concentration computations.

◆ vrna_pf_dimer_concentrations()

vrna_dimer_conc_t* vrna_pf_dimer_concentrations ( double  FcAB,
double  FcAA,
double  FcBB,
double  FEA,
double  FEB,
const double *  startconc,
const vrna_exp_param_t exp_params 
)

#include <ViennaRNA/concentrations.h>

Given two start monomer concentrations a and b, compute the concentrations in thermodynamic equilibrium of all dimers and the monomers.

This function takes an array 'startconc' of input concentrations with alternating entries for the initial concentrations of molecules A and B (terminated by two zeroes), then computes the resulting equilibrium concentrations from the free energies for the dimers. Dimer free energies should be the dimer-only free energies, i.e. the FcAB entries from the vrna_dimer_pf_t struct.

Parameters
FcABFree energy of AB dimer (FcAB entry)
FcAAFree energy of AA dimer (FcAB entry)
FcBBFree energy of BB dimer (FcAB entry)
FEAFree energy of monomer A
FEBFree energy of monomer B
startconcList of start concentrations [a0],[b0],[a1],[b1],...,[an][bn],[0],[0]
exp_paramsThe precomputed Boltzmann factors
Returns
vrna_dimer_conc_t array containing the equilibrium energies and start concentrations