(Abstract) Data Structures

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

Typedefs

typedef struct vrna_basepair_s vrna_basepair_t
#include <ViennaRNA/datastructures/basic.h>

Typename for the base pair repesenting data structure vrna_basepair_s.

typedef struct vrna_elem_prob_s vrna_plist_t
#include <ViennaRNA/datastructures/basic.h>

Typename for the base pair list repesenting data structure vrna_elem_prob_s.

typedef struct vrna_bp_stack_s vrna_bp_stack_t
#include <ViennaRNA/datastructures/basic.h>

Typename for the base pair stack repesenting data structure vrna_bp_stack_s.

typedef struct vrna_cpair_s vrna_cpair_t
#include <ViennaRNA/datastructures/basic.h>

Typename for data structure vrna_cpair_s.

typedef struct vrna_sect_s vrna_sect_t
#include <ViennaRNA/datastructures/basic.h>

Typename for stack of partial structures vrna_sect_s.

typedef struct vrna_data_linear_s vrna_data_lin_t
#include <ViennaRNA/datastructures/basic.h>
typedef struct vrna_color_s vrna_color_t
#include <ViennaRNA/datastructures/basic.h>
typedef double FLT_OR_DBL
#include <ViennaRNA/datastructures/basic.h>

Typename for floating point number in partition function computations.

typedef struct vrna_basepair_s PAIR
#include <ViennaRNA/datastructures/basic.h>

Old typename of vrna_basepair_s.

Deprecated:

Use vrna_basepair_t instead!

typedef struct vrna_elem_prob_s plist
#include <ViennaRNA/datastructures/basic.h>

Old typename of vrna_elem_prob_s.

Deprecated:

Use vrna_ep_t or vrna_elem_prob_s instead!

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
#include <ViennaRNA/datastructures/basic.h>

Old typename of vrna_bp_stack_s.

Deprecated:

Use vrna_bp_stack_t instead!

typedef struct pu_contrib pu_contrib
#include <ViennaRNA/datastructures/basic.h>

contributions to p_u

typedef struct interact interact
#include <ViennaRNA/datastructures/basic.h>

interaction data structure for RNAup

typedef struct pu_out pu_out
#include <ViennaRNA/datastructures/basic.h>

Collection of all free_energy of beeing unpaired values for output.

typedef struct constrain constrain
#include <ViennaRNA/datastructures/basic.h>

constraints for cofolding

typedef struct node folden
#include <ViennaRNA/datastructures/basic.h>

Data structure for RNAsnoop (fold energy list)

typedef struct dupVar dupVar
#include <ViennaRNA/datastructures/basic.h>

Data structure used in RNApkplex.

Functions

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.

Since

v2.2.9

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

CPPFLAGS+=-DVRNA_DISABLE_C11_FEATURES

struct vrna_basepair_s
#include <ViennaRNA/datastructures/basic.h>

Base pair data structure used in subopt.c.

Public Members

int i
int j
struct vrna_cpair_s
#include <ViennaRNA/datastructures/basic.h>

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

Public Members

int i
int j
int mfe
float p
float hue
float sat
int type
struct vrna_color_s

Public Members

float hue
float sat
float bri
struct vrna_data_linear_s

Public Members

unsigned int position
float value
vrna_color_t color
struct vrna_sect_s
#include <ViennaRNA/datastructures/basic.h>

Stack of partial structures for backtracking.

Public Members

int i
int j
int ml
struct vrna_bp_stack_s
#include <ViennaRNA/datastructures/basic.h>

Base pair stack element.

Public Members

unsigned int i
unsigned int j
struct pu_contrib
#include <ViennaRNA/datastructures/basic.h>

contributions to p_u

Public Members

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
#include <ViennaRNA/datastructures/basic.h>

interaction data structure for RNAup

Public Members

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
#include <ViennaRNA/datastructures/basic.h>

Collection of all free_energy of beeing unpaired values for output.

Public Members

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
#include <ViennaRNA/datastructures/basic.h>

constraints for cofolding

Public Members

int *indx
char *ptype
struct duplexT
#include <ViennaRNA/datastructures/basic.h>

Data structure for RNAduplex.

Public Members

int i
int j
int end
char *structure
double energy
double energy_backtrack
double opening_backtrack_x
double opening_backtrack_y
int offset
double dG1
double dG2
double ddG
int tb
int te
int qb
int qe
struct node
#include <ViennaRNA/datastructures/basic.h>

Data structure for RNAsnoop (fold energy list)

Public Members

int k
int energy
struct node *next
struct snoopT
#include <ViennaRNA/datastructures/basic.h>

Data structure for RNAsnoop.

Public Members

int i
int j
int u
char *structure
float energy
float Duplex_El
float Duplex_Er
float Loop_E
float Loop_D
float pscd
float psct
float pscg
float Duplex_Ol
float Duplex_Or
float Duplex_Ot
float fullStemEnergy
struct dupVar
#include <ViennaRNA/datastructures/basic.h>

Data structure used in RNApkplex.

Public Members

int i
int j
int end
char *pk_helix
char *structure
double energy
int offset
double dG1
double dG2
double ddG
int tb
int te
int qb
int qe
int inactive
int processed