// global functions vrna_ep_t* vrna_pfl_fold ( const char* sequence, int window_size, int max_bp_span, float cutoff ) void vrna_pfl_fold_cb ( const char* sequence, int window_size, int max_bp_span, vrna_probs_window_callback* cb, void* data ) double** vrna_pfl_fold_up ( const char* sequence, int ulength, int window_size, int max_bp_span ) 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 ) void vrna_probs_window ( vrna_fold_compound_t* fc, int ulength, unsigned int options, vrna_probs_window_callback* cb, void* data ) void update_pf_paramsLP (int length) void update_pf_paramsLP_par ( int length, vrna_exp_param_t* parameters ) vrna_ep_t* pfl_fold ( char* sequence, int winSize, int pairSize, float cutoffb, double** pU, vrna_ep_t** dpp2, FILE* pUfp, FILE* spup ) vrna_ep_t* pfl_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 ) void putoutpU_prob ( double** pU, int length, int ulength, FILE* fp, int energies ) void putoutpU_prob_bin ( double** pU, int length, int ulength, FILE* fp, int energies ) // macros #define VRNA_PROBS_WINDOW_BPP #define VRNA_PROBS_WINDOW_STACKP #define VRNA_PROBS_WINDOW_UP #define VRNA_PROBS_WINDOW_UP_SPLIT
vrna_ep_t* vrna_pfl_fold ( const char* sequence, int window_size, int max_bp_span, float cutoff )
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.
Parameters:
sequence | The nucleic acid input sequence |
window_size | The size of the sliding window |
max_bp_span | The maximum distance along the backbone between two nucleotides that form a base pairs |
cutoff | A 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
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()
void vrna_pfl_fold_cb ( const char* sequence, int window_size, int max_bp_span, vrna_probs_window_callback* cb, void* data )
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!
Parameters:
sequence | The nucleic acid input sequence |
window_size | The size of the sliding window |
max_bp_span | The maximum distance along the backbone between two nucleotides that form a base pairs |
cb | The callback function which collects the pair probability data for further processing |
data | Some arbitrary data structure that is passed to the callback cb |
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()
double** vrna_pfl_fold_up ( const char* sequence, int ulength, int window_size, int max_bp_span )
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 :math:` 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.
Parameters:
sequence | The nucleic acid input sequence |
ulength | The maximal length of an unpaired segment |
window_size | The size of the sliding window |
max_bp_span | The 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
Note
This function uses default model settings! For custom model settings, we refer to the function vrna_probs_window() .
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 )
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!
Parameters:
sequence | The nucleic acid input sequence |
ulength | The maximal length of an unpaired segment |
window_size | The size of the sliding window |
max_bp_span | The maximum distance along the backbone between two nucleotides that form a base pairs |
cb | The callback function which collects the pair probability data for further processing |
data | Some arbitrary data structure that is passed to the callback cb |
Returns:
The probabilities to be unpaired for any segment not exceeding ulength
Note
This function uses default model settings! For custom model settings, we refer to the function vrna_probs_window() .
void vrna_probs_window ( vrna_fold_compound_t* fc, int ulength, unsigned int options, vrna_probs_window_callback* cb, void* data )
Parameters:
fc | The fold compound with sequence data, model settings and precomputed energy parameters |
ulength | The maximal length of an unpaired segment (only for unpaired probability computations) |
cb | The callback function which collects the pair probability data for further processing |
data | Some arbitrary data structure that is passed to the callback cb |
options | Option flags to control the behavior of this function |
void update_pf_paramsLP (int length)
Parameters:
length |
vrna_ep_t* pfl_fold ( char* sequence, int winSize, int pairSize, float cutoffb, double** pU, vrna_ep_t** dpp2, FILE* pUfp, FILE* spup )
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:
sequence | RNA sequence |
winSize | size of the window |
pairSize | maximum size of base pair |
cutoffb | cutoffb for base pairs |
pU | array holding all unpaired probabilities |
dpp2 | array of dependent pair probabilities |
pUfp | file pointer for pU |
spup | file pointer for pair probabilities |
Returns:
list of pair probabilities
vrna_ep_t* pfl_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 )
void putoutpU_prob ( double** pU, int length, int ulength, FILE* fp, int energies )
Can write either the unpaired probabilities (accessibilities) pU or the opening energies -log(pU)kT into a file
Parameters:
pU | pair probabilities |
length | length of RNA sequence |
ulength | maximum length of unpaired stretch |
fp | file pointer of destination file |
energies | switch to put out as opening energies |
void putoutpU_prob_bin ( double** pU, int length, int ulength, FILE* fp, int energies )
Can write either the unpaired probabilities (accessibilities) pU or the opening energies -log(pU)kT into a file
Parameters:
pU | pair probabilities |
length | length of RNA sequence |
ulength | maximum length of unpaired stretch |
fp | file pointer of destination file |
energies | switch to put out as opening energies |
#define VRNA_PROBS_WINDOW_BPP
See also:
#define VRNA_PROBS_WINDOW_STACKP
See also:
#define VRNA_PROBS_WINDOW_UP
See also:
#define VRNA_PROBS_WINDOW_UP_SPLIT
See also:
vrna_probs_window() , VRNA_EXT_LOOP , VRNA_HP_LOOP , VRNA_INT_LOOP , VRNA_MB_LOOP , VRNA_ANY_LOOP