RNAlib-2.5.1

Implementations to predict pseudoknotted structures. More...

Detailed Description

Implementations to predict pseudoknotted structures.

+ Collaboration diagram for Pseudoknots:

Files

file  pk_plex.h
 Heuristics for two-step pseudoknot forming interaction predictions.
 

Data Structures

struct  vrna_pk_plex_result_s
 A result of the RNA PKplex interaction prediction. More...
 

Typedefs

typedef int() vrna_callback_pk_plex_score(const short *pt, int start_5, int end_5, int start_3, int end_3, void *data)
 Pseudoknot loop scoring function prototype. More...
 
typedef struct vrna_pk_plex_option_s * vrna_pk_plex_opt_t
 RNA PKplex options object. More...
 
typedef struct vrna_pk_plex_result_s vrna_pk_plex_t
 Convenience typedef for results of the RNA PKplex prediction. More...
 

Functions

vrna_pk_plex_tvrna_pk_plex (vrna_fold_compound_t *fc, const int **accessibility, vrna_pk_plex_opt_t options)
 Predict Pseudoknot interactions in terms of a two-step folding process. More...
 
int ** vrna_pk_plex_accessibility (const char *sequence, unsigned int unpaired, double cutoff)
 Obtain a list of opening energies suitable for PKplex computations. More...
 
vrna_pk_plex_opt_t vrna_pk_plex_opt_defaults (void)
 Default options for PKplex algorithm. More...
 
vrna_pk_plex_opt_t vrna_pk_plex_opt (unsigned int delta, unsigned int max_interaction_length, int pk_penalty)
 Simple options for PKplex algorithm. More...
 
vrna_pk_plex_opt_t vrna_pk_plex_opt_fun (unsigned int delta, unsigned int max_interaction_length, vrna_callback_pk_plex_score *scoring_function, void *scoring_data)
 Simple options for PKplex algorithm. More...
 

Data Structure Documentation

◆ vrna_pk_plex_result_s

struct vrna_pk_plex_result_s

A result of the RNA PKplex interaction prediction.

See also
vrna_pk_plex_t

Data Fields

char * structure
 Secondary Structure in dot-bracket notation.
 
double energy
 Net free energy in kcal/mol.
 
double dGpk
 Free energy of PK loop in kcal/mol.
 
double dGint
 Free energy of PK forming duplex interaction.
 
double dG1
 Opening energy for the 5' interaction site used in the heuristic.
 
double dG2
 Opening energy for the 3' interaction site used in the heuristic.
 
unsigned int start_5
 Start coordinate of the 5' interaction site.
 
unsigned int end_5
 End coordinate of the 5' interaction site.
 
unsigned int start_3
 Start coordinate of the 3' interaction site.
 
unsigned int end_3
 End coordinate of the 3' interaction site.
 

Typedef Documentation

◆ vrna_callback_pk_plex_score

typedef int() vrna_callback_pk_plex_score(const short *pt, int start_5, int end_5, int start_3, int end_3, void *data)

#include <ViennaRNA/pk_plex.h>

Pseudoknot loop scoring function prototype.

This function is used to evaluate a formed pseudoknot (PK) interaction in vrna_pk_plex(). It is supposed to take a PK-free secondary structure as input and coordinates of an additional interaction site. From this data, the energy (penalty) to score the PK loop is derived and returned in decakal/mol. Upon passing zero in any of the interaction site coordinates (start_5, end_5, start_3, end_3) or a NULL pointer in pt, the function must return a PK loop score. This minimum PK loop score is used in the first phase of the heuristic implemented in vrna_pk_plex() to assess whether a particular interaction is further taken into account in a later, more thorough evaluation step.

The simplest scoring function would simply return a constant score for any PK loop, no matter what type of loop is formed and how large the loop is. This is the default if vrna_pk_plex_opt_defaults() or vrna_pk_plex_opt() is used to generate options for vrna_pk_plex().

See also
vrna_pk_plex_opt_fun(), vrna_pk_plex()
Parameters
ptThe secondary structure (without pseudoknot) in pair table notation
start_5The start coordinate of the 5' site of the pseudoknot interaction
end_5The end coordinate of the 5' site of the pseudoknot interaction
start_3The start coordinate of the 3' site of the pseudoknot interaction
end_3The end coordinate of the 3' site of the pseudoknot interaction
dataAn arbitrary data structure passed from the calling function
Returns
The energy (penalty) of the resulting pseudoknot

◆ vrna_pk_plex_opt_t

◆ vrna_pk_plex_t

#include <ViennaRNA/pk_plex.h>

Convenience typedef for results of the RNA PKplex prediction.

See also
#vrna_pk_plex_results_s, vrna_pk_plex()

Function Documentation

◆ vrna_pk_plex()

vrna_pk_plex_t * vrna_pk_plex ( vrna_fold_compound_t fc,
const int **  accessibility,
vrna_pk_plex_opt_t  options 
)

#include <ViennaRNA/pk_plex.h>

Predict Pseudoknot interactions in terms of a two-step folding process.

Computes simple pseudoknot interactions according to the PKplex algorithm. This simple heuristic first compiles a list of potential interaction sites that may form a pseudoknot. The resulting candidate interactions are then fixed and an PK-free MFE structure for the remainder of the sequence is computed.

The accessibility argument is a list of opening energies for potential interaction sites. It is used in the first step of the algorithm to identify potential interactions. Upon passing NULL, the opening energies are determined automatically based on the current model settings.

Depending on the options, the function can return the MFE (incl. PK loops) or suboptimal structures within an energy band around the MFE. The PK loop is internally scored by a scoring function that in the simplest cases assigns a constant value for each PK loop. More complicated scoring functions can be passed as well, see vrna_callback_pk_plex_score and vrna_pk_plex_opt_fun().

The function returns NULL on any error. Otherwise, a list of structures and interaction coordinates with corresponding energy contributions is returned. If no PK-interaction that satisfies the options is found, the list only consists of the PK-free MFE structure.

Parameters
fcfold compound with the input sequence and model settings
accessibilityAn array of opening energies for the implemented heuristic (maybe NULL)
optionsAn vrna_pk_plex_opt_t options data structure that determines the algorithm parameters
Returns
A list of potentially pseudoknotted structures (Last element in the list indicated by NULL value in vrna_pk_plex_result_s.structure)

◆ vrna_pk_plex_accessibility()

int ** vrna_pk_plex_accessibility ( const char *  sequence,
unsigned int  unpaired,
double  cutoff 
)

#include <ViennaRNA/pk_plex.h>

Obtain a list of opening energies suitable for PKplex computations.

See also
vrna_pk_plex()
Parameters
sequenceThe RNA sequence
unpairedThe maximum number of unpaired nucleotides, i.e. length of interaction
cutoffA cutoff value for unpaired probabilities
Returns
Opening energies as required for vrna_pk_plex()

◆ vrna_pk_plex_opt_defaults()

vrna_pk_plex_opt_t vrna_pk_plex_opt_defaults ( void  )

#include <ViennaRNA/pk_plex.h>

Default options for PKplex algorithm.

See also
vrna_pk_plex(), vrna_pk_plex_opt(), vrna_pk_plex_opt_fun()
Returns
An options data structure suitabe for PKplex computations

◆ vrna_pk_plex_opt()

vrna_pk_plex_opt_t vrna_pk_plex_opt ( unsigned int  delta,
unsigned int  max_interaction_length,
int  pk_penalty 
)

#include <ViennaRNA/pk_plex.h>

Simple options for PKplex algorithm.

See also
vrna_pk_plex(), vrna_pk_plex_opt_defaults(), vrna_pk_plex_opt_fun()
Parameters
deltaSize of energy band around MFE for suboptimal results in dekacal/mol
max_interaction_lengthMaximum length of interaction
pk_penaltyEnergy constant to score the PK forming loop
Returns
An options data structure suitabe for PKplex computations

◆ vrna_pk_plex_opt_fun()

vrna_pk_plex_opt_t vrna_pk_plex_opt_fun ( unsigned int  delta,
unsigned int  max_interaction_length,
vrna_callback_pk_plex_score scoring_function,
void *  scoring_data 
)

#include <ViennaRNA/pk_plex.h>

Simple options for PKplex algorithm.

See also
vrna_pk_plex(), vrna_pk_plex_opt_defaults(), vrna_pk_plex_opt(), vrna_callback_pk_plex_score
Parameters
deltaSize of energy band around MFE for suboptimal results in dekacal/mol
max_interaction_lengthMaximum length of interaction
scoring_functionEnergy evaluating function to score the PK forming loop
scoring_dataAn arbitrary data structure passed to the scoring function (maybe NUL)
Returns
An options data structure suitabe for PKplex computations