RNAlib-2.4.4
Partition Function and Equilibrium Probabilities for Locally Stable Secondary Structures

Detailed Description

+ Collaboration diagram for Partition Function and Equilibrium Probabilities for Locally Stable Secondary Structures:

Macros

#define VRNA_PROBS_WINDOW_BPP   4096U
 Option flag to activate callback triggers for pairing probabilities. More...
 
#define VRNA_PROBS_WINDOW_UP   8192U
 Option flag to activate callback triggers for unpaired probabilities. More...
 
#define VRNA_PROBS_WINDOW_STACKP   16384U
 Option flag to activate callback triggers for stacking probabilities. More...
 
#define VRNA_PROBS_WINDOW_UP_SPLIT   32768U
 Option flag to activate callback triggers for unpaired probabilities (split up into different loop types) More...
 

Functions

vrna_ep_tvrna_pfl_fold (const char *sequence, int window_size, int max_bp_span, float cutoff)
 Compute base pair probabilities using a sliding-window approach. More...
 
void vrna_pfl_fold_cb (const char *sequence, int window_size, int max_bp_span, vrna_probs_window_callback *cb, void *data)
 Compute base pair probabilities using a sliding-window approach (callback version) More...
 
double ** vrna_pfl_fold_up (const char *sequence, int ulength, int window_size, int max_bp_span)
 Compute probability of contiguous unpaired segments. More...
 
void vrna_pfl_fold_up_cb (const char *sequence, int ulength, int window_size, int max_bp_span, vrna_probs_window_callback *cb, void *data)
 Compute probability of contiguous unpaired segments. More...
 
void vrna_probs_window (vrna_fold_compound_t *fc, int ulength, unsigned int options, vrna_probs_window_callback *cb, void *data)
 Compute various equilibrium probabilities under a sliding window approach. More...
 
void update_pf_paramsLP (int length)
 
vrna_ep_tpfl_fold (char *sequence, int winSize, int pairSize, float cutoffb, double **pU, vrna_ep_t **dpp2, FILE *pUfp, FILE *spup)
 Compute partition functions for locally stable secondary structures. More...
 
vrna_ep_tpfl_fold_par (char *sequence, int winSize, int pairSize, float cutoffb, double **pU, vrna_ep_t **dpp2, FILE *pUfp, FILE *spup, vrna_exp_param_t *parameters)
 Compute partition functions for locally stable secondary structures.
 
void putoutpU_prob (double **pU, int length, int ulength, FILE *fp, int energies)
 Writes the unpaired probabilities (pU) or opening energies into a file. More...
 
void putoutpU_prob_bin (double **pU, int length, int ulength, FILE *fp, int energies)
 Writes the unpaired probabilities (pU) or opening energies into a binary file. More...
 

Macro Definition Documentation

◆ VRNA_PROBS_WINDOW_BPP

#define VRNA_PROBS_WINDOW_BPP   4096U

#include <ViennaRNA/LPfold.h>

Option flag to activate callback triggers for pairing probabilities.

See also
vrna_probs_window()

◆ VRNA_PROBS_WINDOW_UP

#define VRNA_PROBS_WINDOW_UP   8192U

#include <ViennaRNA/LPfold.h>

Option flag to activate callback triggers for unpaired probabilities.

See also
vrna_probs_window()

◆ VRNA_PROBS_WINDOW_STACKP

#define VRNA_PROBS_WINDOW_STACKP   16384U

#include <ViennaRNA/LPfold.h>

Option flag to activate callback triggers for stacking probabilities.

See also
vrna_probs_window()

◆ VRNA_PROBS_WINDOW_UP_SPLIT

#define VRNA_PROBS_WINDOW_UP_SPLIT   32768U

#include <ViennaRNA/LPfold.h>

Option flag to activate callback triggers for unpaired probabilities (split up into different loop types)

See also
vrna_probs_window(), #VRNA_EXT_LOOP, #VRNA_HP_LOOP, #VRNA_INT_LOOP, #VRNA_MB_LOOP, #VRNA_ANY_LOOP

Function Documentation

◆ vrna_pfl_fold()

vrna_ep_t* vrna_pfl_fold ( const char *  sequence,
int  window_size,
int  max_bp_span,
float  cutoff 
)

#include <ViennaRNA/LPfold.h>

Compute base pair probabilities using a sliding-window approach.

This is a simplified wrapper to vrna_probs_window() that given a nucleid acid sequence, a window size, a maximum base pair span, and a cutoff value computes the pair probabilities for any base pair in any window. The pair probabilities are returned as a list and the user has to take care to free() the memory occupied by the list.

Note
This function uses default model settings! For custom model settings, we refer to the function vrna_probs_window().
See also
vrna_probs_window(), vrna_pfl_fold_cb(), vrna_pfl_fold_up()
Parameters
sequenceThe nucleic acid input sequence
window_sizeThe size of the sliding window
max_bp_spanThe maximum distance along the backbone between two nucleotides that form a base pairs
cutoffA cutoff value that omits all pairs with lower probability
Returns
A list of base pair probabilities, terminated by an entry with #vrna_ep_t.i and #vrna_ep_t.j set to 0

◆ vrna_pfl_fold_cb()

void vrna_pfl_fold_cb ( const char *  sequence,
int  window_size,
int  max_bp_span,
vrna_probs_window_callback cb,
void *  data 
)

#include <ViennaRNA/LPfold.h>

Compute base pair probabilities using a sliding-window approach (callback version)

This is a simplified wrapper to vrna_probs_window() that given a nucleid acid sequence, a window size, a maximum base pair span, and a cutoff value computes the pair probabilities for any base pair in any window. It is similar to vrna_pfl_fold() but uses a callback mechanism to return the pair probabilities.

Read the details for vrna_probs_window() for details on the callback implementation!

Note
This function uses default model settings! For custom model settings, we refer to the function vrna_probs_window().
See also
vrna_probs_window(), vrna_pfl_fold(), vrna_pfl_fold_up_cb()
Parameters
sequenceThe nucleic acid input sequence
window_sizeThe size of the sliding window
max_bp_spanThe maximum distance along the backbone between two nucleotides that form a base pairs
cbThe callback function which collects the pair probability data for further processing
dataSome arbitrary data structure that is passed to the callback cb

◆ vrna_pfl_fold_up()

double** vrna_pfl_fold_up ( const char *  sequence,
int  ulength,
int  window_size,
int  max_bp_span 
)

#include <ViennaRNA/LPfold.h>

Compute probability of contiguous unpaired segments.

This is a simplified wrapper to vrna_probs_window() that given a nucleic acid sequence, a maximum length of unpaired segments (ulength), a window size, and a maximum base pair span computes the equilibrium probability of any segment not exceeding ulength. The probabilities to be unpaired are returned as a 1-based, 2-dimensional matrix with dimensions $ N \times M $, where $N$ is the length of the sequence and $M$ is the maximum segment length. As an example, the probability of a segment of size 5 starting at position 100 is stored in the matrix entry $X[100][5]$.

It is the users responsibility to free the memory occupied by this matrix.

Note
This function uses default model settings! For custom model settings, we refer to the function vrna_probs_window().
Parameters
sequenceThe nucleic acid input sequence
ulengthThe maximal length of an unpaired segment
window_sizeThe size of the sliding window
max_bp_spanThe maximum distance along the backbone between two nucleotides that form a base pairs
Returns
The probabilities to be unpaired for any segment not exceeding ulength

◆ vrna_pfl_fold_up_cb()

void vrna_pfl_fold_up_cb ( const char *  sequence,
int  ulength,
int  window_size,
int  max_bp_span,
vrna_probs_window_callback cb,
void *  data 
)

#include <ViennaRNA/LPfold.h>

Compute probability of contiguous unpaired segments.

This is a simplified wrapper to vrna_probs_window() that given a nucleic acid sequence, a maximum length of unpaired segments (ulength), a window size, and a maximum base pair span computes the equilibrium probability of any segment not exceeding ulength. It is similar to vrna_pfl_fold_up() but uses a callback mechanism to return the unpaired probabilities.

Read the details for vrna_probs_window() for details on the callback implementation!

Note
This function uses default model settings! For custom model settings, we refer to the function vrna_probs_window().
Parameters
sequenceThe nucleic acid input sequence
ulengthThe maximal length of an unpaired segment
window_sizeThe size of the sliding window
max_bp_spanThe maximum distance along the backbone between two nucleotides that form a base pairs
cbThe callback function which collects the pair probability data for further processing
dataSome arbitrary data structure that is passed to the callback cb
Returns
The probabilities to be unpaired for any segment not exceeding ulength

◆ vrna_probs_window()

void vrna_probs_window ( vrna_fold_compound_t fc,
int  ulength,
unsigned int  options,
vrna_probs_window_callback cb,
void *  data 
)

#include <ViennaRNA/LPfold.h>

Compute various equilibrium probabilities under a sliding window approach.

See also
vrna_pfl_fold_cb(), vrna_pfl_fold_up_cb(), VRNA_PROBS_WINDOW_BPP, VRNA_PROBS_WINDOW_UP, VRNA_PROBS_WINDOW_UP_SPLIT
Parameters
fcThe fold compound with sequence data, model settings and precomputed energy parameters
ulengthThe maximal length of an unpaired segment (only for unpaired probability computations)
cbThe callback function which collects the pair probability data for further processing
dataSome arbitrary data structure that is passed to the callback cb
optionsOption flags to control the behavior of this function

◆ update_pf_paramsLP()

void update_pf_paramsLP ( int  length)

#include <ViennaRNA/LPfold.h>

Parameters
length

◆ pfl_fold()

vrna_ep_t* pfl_fold ( char *  sequence,
int  winSize,
int  pairSize,
float  cutoffb,
double **  pU,
vrna_ep_t **  dpp2,
FILE *  pUfp,
FILE *  spup 
)

#include <ViennaRNA/LPfold.h>

Compute partition functions for locally stable secondary structures.

pfl_fold computes partition functions for every window of size 'winSize' possible in a RNA molecule, allowing only pairs with a span smaller than 'pairSize'. It returns the mean pair probabilities averaged over all windows containing the pair in 'pl'. 'winSize' should always be >= 'pairSize'. Note that in contrast to Lfold(), bases outside of the window do not influence the structure at all. Only probabilities higher than 'cutoffb' are kept.

If 'pU' is supplied (i.e is not the NULL pointer), pfl_fold() will also compute the mean probability that regions of length 'u' and smaller are unpaired. The parameter 'u' is supplied in 'pup[0][0]'. On return the 'pup' array will contain these probabilities, with the entry on 'pup[x][y]' containing the mean probability that x and the y-1 preceding bases are unpaired. The 'pU' array needs to be large enough to hold n+1 float* entries, where n is the sequence length.

If an array dpp2 is supplied, the probability of base pair (i,j) given that there already exists a base pair (i+1,j-1) is also computed and saved in this array. If pUfp is given (i.e. not NULL), pU is not saved but put out imediately. If spup is given (i.e. is not NULL), the pair probabilities in pl are not saved but put out imediately.

Parameters
sequenceRNA sequence
winSizesize of the window
pairSizemaximum size of base pair
cutoffbcutoffb for base pairs
pUarray holding all unpaired probabilities
dpp2array of dependent pair probabilities
pUfpfile pointer for pU
spupfile pointer for pair probabilities
Returns
list of pair probabilities

◆ putoutpU_prob()

void putoutpU_prob ( double **  pU,
int  length,
int  ulength,
FILE *  fp,
int  energies 
)

#include <ViennaRNA/LPfold.h>

Writes the unpaired probabilities (pU) or opening energies into a file.

Can write either the unpaired probabilities (accessibilities) pU or the opening energies -log(pU)kT into a file

Parameters
pUpair probabilities
lengthlength of RNA sequence
ulengthmaximum length of unpaired stretch
fpfile pointer of destination file
energiesswitch to put out as opening energies

◆ putoutpU_prob_bin()

void putoutpU_prob_bin ( double **  pU,
int  length,
int  ulength,
FILE *  fp,
int  energies 
)

#include <ViennaRNA/LPfold.h>

Writes the unpaired probabilities (pU) or opening energies into a binary file.

Can write either the unpaired probabilities (accessibilities) pU or the opening energies -log(pU)kT into a file

Parameters
pUpair probabilities
lengthlength of RNA sequence
ulengthmaximum length of unpaired stretch
fpfile pointer of destination file
energiesswitch to put out as opening energies