Partition Function and Base Pair Probabilities for Sequence Alignment(s)

Overview

// global functions

float vrna_pf_alifold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

float vrna_pf_circalifold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

float alipf_fold_par (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl,
    vrna_exp_param_t* parameters,
    int calculate_bppm,
    int is_constrained,
    int is_circular
    )

float alipf_fold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

float alipf_circ_fold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

FLT_OR_DBL* export_ali_bppm (void)
void free_alipf_arrays (void)

Detailed Documentation

Global Functions

float vrna_pf_alifold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )
Compute Partition function \(Q\) (and base pair probabilities) for an RNA sequence alignment using a comparative method.

This simplified interface to vrna_pf() computes the partition function and, if required, base pair probabilities for an RNA sequence alignment 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.

Parameters:

sequences RNA sequence alignment
structure A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL)
pl A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL)

Returns:

The Gibbs free energy of the ensemble ( :math:`G = -RT cdot log(Q) ` ) in kcal/mol

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() , and the data structure vrna_fold_compound_t instead.

float vrna_pf_circalifold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )
Compute Partition function \(Q\) (and base pair probabilities) for an alignment of circular RNA sequences using a comparative method.

This simplified interface to vrna_pf() computes the partition function and, if required, base pair probabilities for an RNA sequence alignment 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.

Folding of circular RNA sequences is handled as a post-processing step of the forward recursions. See [7] for further details.

Parameters:

sequences Sequence alignment of circular RNAs
structure A pointer to the character array where position-wise pairing propensity will be stored. (Maybe NULL)
pl A pointer to a list of vrna_ep_t to store pairing probabilities (Maybe NULL)

Returns:

The Gibbs free energy of the ensemble ( :math:`G = -RT cdot log(Q) ` ) in kcal/mol

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() , and the data structure vrna_fold_compound_t instead.

float alipf_fold_par (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl,
    vrna_exp_param_t* parameters,
    int calculate_bppm,
    int is_constrained,
    int is_circular
    )

Deprecated Use vrna_pf() instead

Parameters:

sequences  
structure  
pl  
parameters  
calculate_bppm  
is_constrained  
is_circular  

Returns:

float alipf_fold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )
The partition function version of alifold() works in analogy to pf_fold() . Pair probabilities and information about sequence covariations are returned via the ‘pi’ variable as a list of vrna_pinfo_t structs. The list is terminated by the first entry with pi.i = 0.

Deprecated Use vrna_pf() instead

Parameters:

sequences  
structure  
pl  

Returns:

float alipf_circ_fold (
    const char** sequences,
    char* structure,
    vrna_ep_t** pl
    )

Deprecated Use vrna_pf() instead

Parameters:

sequences  
structure  
pl  

Returns:

FLT_OR_DBL* export_ali_bppm (void)
Get a pointer to the base pair probability array.

Accessing the base pair probabilities for a pair (i,j) is achieved by

FLT_OR_DBL *pr = export_bppm(); pr_ij = pr[iindx[i]-j];

Deprecated Usage of this function is discouraged! The new vrna_fold_compound_t allows direct access to the folding matrices, including the pair probabilities! The pair probability array returned here reflects the one of the latest call to vrna_pf() , or any of the old API calls for consensus structure partition function folding.

Returns:

A pointer to the base pair probability array

void free_alipf_arrays (void)
Free the memory occupied by folding matrices allocated by alipf_fold, alipf_circ_fold, etc.

Deprecated Usage of this function is discouraged! This function only free’s memory allocated by old API function calls. Memory allocated by any of the new API calls (starting with vrna_) will be not affected!

See also:

vrna_fold_compound_t , vrna_vrna_fold_compound_free()