RNAlib-2.4.14
Compute the Centroid Structure

Detailed Description

+ Collaboration diagram for Compute the Centroid Structure:

Functions

char * vrna_centroid (vrna_fold_compound_t *vc, double *dist)
 Get the centroid structure of the ensemble. More...
 
char * vrna_centroid_from_plist (int length, double *dist, vrna_ep_t *pl)
 Get the centroid structure of the ensemble. More...
 
char * vrna_centroid_from_probs (int length, double *dist, FLT_OR_DBL *probs)
 Get the centroid structure of the ensemble. More...
 

Function Documentation

char* vrna_centroid ( vrna_fold_compound_t vc,
double *  dist 
)

#include <ViennaRNA/centroid.h>

Get the centroid structure of the ensemble.

The centroid is the structure with the minimal average distance to all other structures
$ <d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij} $
Thus, the centroid is simply the structure containing all pairs with $p_ij>0.5$ The distance of the centroid to the ensemble is written to the memory adressed by dist.

Parameters
[in]vcThe fold compound data structure
[out]distA pointer to the distance variable where the centroid distance will be written to
Returns
The centroid structure of the ensemble in dot-bracket notation (NULL on error)
char* vrna_centroid_from_plist ( int  length,
double *  dist,
vrna_ep_t pl 
)

#include <ViennaRNA/centroid.h>

Get the centroid structure of the ensemble.

This function is a threadsafe replacement for centroid() with a vrna_ep_t input

The centroid is the structure with the minimal average distance to all other structures
$ <d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij} $
Thus, the centroid is simply the structure containing all pairs with $p_ij>0.5$ The distance of the centroid to the ensemble is written to the memory adressed by dist.

Parameters
[in]lengthThe length of the sequence
[out]distA pointer to the distance variable where the centroid distance will be written to
[in]plA pair list containing base pair probability information about the ensemble
Returns
The centroid structure of the ensemble in dot-bracket notation (NULL on error)
char* vrna_centroid_from_probs ( int  length,
double *  dist,
FLT_OR_DBL probs 
)

#include <ViennaRNA/centroid.h>

Get the centroid structure of the ensemble.

This function is a threadsafe replacement for centroid() with a probability array input

The centroid is the structure with the minimal average distance to all other structures
$ <d(S)> = \sum_{(i,j) \in S} (1-p_{ij}) + \sum_{(i,j) \notin S} p_{ij} $
Thus, the centroid is simply the structure containing all pairs with $p_ij>0.5$ The distance of the centroid to the ensemble is written to the memory adressed by dist.

Parameters
[in]lengthThe length of the sequence
[out]distA pointer to the distance variable where the centroid distance will be written to
[in]probsAn upper triangular matrix containing base pair probabilities (access via iindx vrna_idx_row_wise() )
Returns
The centroid structure of the ensemble in dot-bracket notation (NULL on error)