RNAlib-2.4.14
(Abstract) Data Structures

All datastructures and typedefs shared among the ViennaRNA Package can be found here. More...

Detailed Description

All datastructures and typedefs shared among the ViennaRNA Package can be found here.

+ Collaboration diagram for (Abstract) Data Structures:

Modules

 The Fold Compound
 This module provides interfaces that deal with the most basic data structure used in structure predicting and energy evaluating function of the RNAlib.
 
 The Dynamic Programming Matrices
 This module provides interfaces that deal with creation and destruction of dynamic programming matrices used within the RNAlib.
 
 Hash Tables
 Various implementations of hash table functions.
 
 Heaps
 Interface for an abstract implementation of a heap data structure.
 
 Buffers
 Functions that provide dynamically buffered stream-like data structures.
 

Files

file  dp_matrices.h
 Functions to deal with standard dynamic programming (DP) matrices.
 
file  basic.h
 Various data structures and pre-processor macros.
 

Data Structures

struct  vrna_basepair_s
 Base pair data structure used in subopt.c. More...
 
struct  vrna_cpair_s
 this datastructure is used as input parameter in functions of PS_dot.c More...
 
struct  vrna_color_s
 
struct  vrna_data_linear_s
 
struct  vrna_sect_s
 Stack of partial structures for backtracking. More...
 
struct  vrna_bp_stack_s
 Base pair stack element. More...
 
struct  pu_contrib
 contributions to p_u More...
 
struct  interact
 interaction data structure for RNAup More...
 
struct  pu_out
 Collection of all free_energy of beeing unpaired values for output. More...
 
struct  constrain
 constraints for cofolding More...
 
struct  duplexT
 Data structure for RNAduplex. More...
 
struct  node
 Data structure for RNAsnoop (fold energy list) More...
 
struct  snoopT
 Data structure for RNAsnoop. More...
 
struct  dupVar
 Data structure used in RNApkplex. More...
 

Typedefs

typedef struct vrna_basepair_s vrna_basepair_t
 Typename for the base pair repesenting data structure vrna_basepair_s.
 
typedef struct vrna_elem_prob_s vrna_plist_t
 Typename for the base pair list repesenting data structure vrna_elem_prob_s.
 
typedef struct vrna_bp_stack_s vrna_bp_stack_t
 Typename for the base pair stack repesenting data structure vrna_bp_stack_s.
 
typedef struct vrna_cpair_s vrna_cpair_t
 Typename for data structure vrna_cpair_s.
 
typedef struct vrna_sect_s vrna_sect_t
 Typename for stack of partial structures vrna_sect_s.
 
typedef double FLT_OR_DBL
 Typename for floating point number in partition function computations.
 
typedef struct vrna_basepair_s PAIR
 Old typename of vrna_basepair_s. More...
 
typedef struct vrna_elem_prob_s plist
 Old typename of vrna_elem_prob_s. More...
 
typedef struct vrna_cpair_s cpair
 Old typename of vrna_cpair_s. More...
 
typedef struct vrna_sect_s sect
 Old typename of vrna_sect_s. More...
 
typedef struct vrna_bp_stack_s bondT
 Old typename of vrna_bp_stack_s. More...
 
typedef struct pu_contrib pu_contrib
 contributions to p_u
 
typedef struct interact interact
 interaction data structure for RNAup
 
typedef struct pu_out pu_out
 Collection of all free_energy of beeing unpaired values for output.
 
typedef struct constrain constrain
 constraints for cofolding
 
typedef struct node folden
 Data structure for RNAsnoop (fold energy list)
 
typedef struct dupVar dupVar
 Data structure used in RNApkplex.
 

Functions

void vrna_C11_features (void)
 Dummy symbol to check whether the library was build using C11/C++11 features. More...
 

Data Structure Documentation

struct vrna_basepair_s

Base pair data structure used in subopt.c.

struct vrna_cpair_s

this datastructure is used as input parameter in functions of PS_dot.c

struct vrna_color_s
struct vrna_data_linear_s
+ Collaboration diagram for vrna_data_linear_s:
struct vrna_sect_s

Stack of partial structures for backtracking.

struct vrna_bp_stack_s

Base pair stack element.

struct pu_contrib

contributions to p_u

Data Fields

double ** H
 hairpin loops
 
double ** I
 interior loops
 
double ** M
 multi loops
 
double ** E
 exterior loop
 
int length
 length of the input sequence
 
int w
 longest unpaired region
 
struct interact

interaction data structure for RNAup

Data Fields

double * Pi
 probabilities of interaction
 
double * Gi
 free energies of interaction
 
double Gikjl
 full free energy for interaction between [k,i] k<i in longer seq and [j,l] j<l in shorter seq
 
double Gikjl_wo
 Gikjl without contributions for prob_unpaired.
 
int i
 k<i in longer seq
 
int k
 k<i in longer seq
 
int j
 j<l in shorter seq
 
int l
 j<l in shorter seq
 
int length
 length of longer sequence
 
struct pu_out

Collection of all free_energy of beeing unpaired values for output.

Data Fields

int len
 sequence length
 
int u_vals
 number of different -u values
 
int contribs
 [-c "SHIME"]
 
char ** header
 header line
 
double ** u_values
 (the -u values * [-c "SHIME"]) * seq len
 
struct constrain

constraints for cofolding

struct duplexT

Data structure for RNAduplex.

struct node

Data structure for RNAsnoop (fold energy list)

+ Collaboration diagram for node:
struct snoopT

Data structure for RNAsnoop.

struct dupVar

Data structure used in RNApkplex.

Typedef Documentation

typedef struct vrna_basepair_s PAIR
typedef struct vrna_cpair_s cpair

#include <ViennaRNA/datastructures/basic.h>

Old typename of vrna_cpair_s.

Deprecated:
Use vrna_cpair_t instead!
typedef struct vrna_sect_s sect

#include <ViennaRNA/datastructures/basic.h>

Old typename of vrna_sect_s.

Deprecated:
Use vrna_sect_t instead!
typedef struct vrna_bp_stack_s bondT

Function Documentation

void vrna_C11_features ( void  )

#include <ViennaRNA/datastructures/basic.h>

Dummy symbol to check whether the library was build using C11/C++11 features.

By default, several data structures of our new v3.0 API use C11/C++11 features, such as unnamed unions, unnamed structs. However, these features can be deactivated at compile time to allow building the library and executables with compilers that do not support these features.

Now, the problem arises that once our static library is compiled and a third-party application is supposed to link against it, it needs to know, at compile time, how to correctly address particular data structures. This is usually implicitely taken care of through the API exposed in our header files. Unfortunately, we had some preprocessor directives in our header files that changed the API depending on the capabilities of the compiler the third-party application is build with. This in turn prohibited the use of an RNAlib compiled without C11/C++11 support in a program that compiles/links with enabled C11/C++11 support and vice-versa.

Therefore, we introduce this dummy symbol which can be used to check, whether the static library was build with C11/C++11 features.

Note
If the symbol is present, the library was build with enabled C11/C++11 features support and no action is required. However, if the symbol is missing in RNAlib >= 2.2.9, programs that link to RNAlib must define a pre-processor identifier VRNA_DISABLE_C11_FEATURES before including any ViennaRNA Package header file, for instance by adding a CPPFLAG
1 CPPFLAGS+=-DVRNA_DISABLE_C11_FEATURES
Since
v2.2.9