RNAlib-2.4.4
data_structures.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_DATA_STRUCTURES_H
2 #define VIENNA_RNA_PACKAGE_DATA_STRUCTURES_H
3 
18 /* below are several convenience typedef's we use throughout the ViennaRNA library */
19 
22 
25 
28 
30 typedef struct vrna_cpair_s vrna_cpair_t;
31 
33 typedef struct vrna_sect_s vrna_sect_t;
34 
35 typedef struct vrna_data_linear_s vrna_data_lin_t;
36 
37 typedef struct vrna_color_s vrna_color_t;
38 
40 #ifdef USE_FLOAT_PF
41 typedef float FLT_OR_DBL;
42 #else
43 typedef double FLT_OR_DBL;
44 #endif
45 
46 
47 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
48 
49 /* the following typedefs are for backward compatibility only */
50 
55 typedef struct vrna_basepair_s PAIR;
56 
61 typedef struct vrna_elem_prob_s plist;
66 typedef struct vrna_cpair_s cpair;
67 
72 typedef struct vrna_sect_s sect;
73 
78 typedef struct vrna_bp_stack_s bondT;
79 
80 #endif
81 
82 #include <ViennaRNA/energy_const.h>
84 #include <ViennaRNA/model.h>
85 #include <ViennaRNA/params.h>
86 #include <ViennaRNA/dp_matrices.h>
87 #include <ViennaRNA/constraints.h>
88 #include <ViennaRNA/grammar.h>
92 
93 /*
94  * ############################################################
95  * Here are the type definitions of various datastructures
96  * shared among the Vienna RNA Package
97  * ############################################################
98  */
99 
104  int i;
105  int j;
106 };
107 
111 struct vrna_cpair_s {
112  int i, j, mfe;
113  float p, hue, sat;
114 };
115 
116 struct vrna_color_s {
117  float hue;
118  float sat;
119  float bri;
120 };
121 
123  unsigned int position;
124  float value;
125  vrna_color_t color;
126 };
127 
128 
132 struct vrna_sect_s {
133  int i;
134  int j;
135  int ml;
136 };
137 
142  unsigned int i;
143  unsigned int j;
144 };
145 
146 
147 /*
148  * ############################################################
149  * RNAup data structures
150  * ############################################################
151  */
152 
156 typedef struct pu_contrib {
157  double **H;
158  double **I;
159  double **M;
160  double **E;
161  int length;
162  int w;
163 } pu_contrib;
164 
168 typedef struct interact {
169  double *Pi;
170  double *Gi;
171  double Gikjl;
173  double Gikjl_wo;
174  int i;
175  int k;
176  int j;
177  int l;
178  int length;
179 } interact;
180 
184 typedef struct pu_out {
185  int len;
186  int u_vals;
187  int contribs;
188  char **header;
189  double **u_values;
190 } pu_out;
191 
195 typedef struct constrain {
196  int *indx;
197  char *ptype;
198 } constrain;
199 
200 /*
201  * ############################################################
202  * RNAduplex data structures
203  * ############################################################
204  */
205 
209 typedef struct {
210  int i;
211  int j;
212  int end;
213  char *structure;
214  double energy;
215  double energy_backtrack;
216  double opening_backtrack_x;
217  double opening_backtrack_y;
218  int offset;
219  double dG1;
220  double dG2;
221  double ddG;
222  int tb;
223  int te;
224  int qb;
225  int qe;
226 } duplexT;
227 
228 /*
229  * ############################################################
230  * RNAsnoop data structures
231  * ############################################################
232  */
233 
237 typedef struct node {
238  int k;
239  int energy;
240  struct node *next;
241 } folden;
242 
246 typedef struct {
247  int i;
248  int j;
249  int u;
250  char *structure;
251  float energy;
252  float Duplex_El;
253  float Duplex_Er;
254  float Loop_E;
255  float Loop_D;
256  float pscd;
257  float psct;
258  float pscg;
259  float Duplex_Ol;
260  float Duplex_Or;
261  float Duplex_Ot;
262  float fullStemEnergy;
263 } snoopT;
264 
265 
266 /*
267  * ############################################################
268  * PKplex data structures
269  * ############################################################
270  */
271 
275 typedef struct dupVar {
276  int i;
277  int j;
278  int end;
279  char *pk_helix;
280  char *structure;
281  double energy;
282  int offset;
283  double dG1;
284  double dG2;
285  double ddG;
286  int tb;
287  int te;
288  int qb;
289  int qe;
290  int inactive;
291  int processed;
292 } dupVar;
293 
324 #ifndef VRNA_DISABLE_C11_FEATURES
325 void vrna_C11_features(void);
326 
327 
328 #endif
329 
335 #endif
int l
j<l in shorter seq
Definition: data_structures.h:177
double ** M
multi loops
Definition: data_structures.h:159
void vrna_C11_features(void)
Dummy symbol to check whether the library was build using C11/C++11 features.
Functions to deal with standard dynamic programming (DP) matrices.
double ** H
hairpin loops
Definition: data_structures.h:157
struct dupVar dupVar
Data structure used in RNApkplex.
struct constrain constrain
constraints for cofolding
int u_vals
number of different -u values
Definition: data_structures.h:186
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition: structure_utils.h:114
Data structure used in RNApkplex.
Definition: data_structures.h:275
struct pu_contrib pu_contrib
contributions to p_u
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: data_structures.h:43
int j
j<l in shorter seq
Definition: data_structures.h:176
Data structure for RNAsnoop (fold energy list)
Definition: data_structures.h:237
contributions to p_u
Definition: data_structures.h:156
int contribs
[-c "SHIME"]
Definition: data_structures.h:187
The model details data structure and its corresponding modifiers.
int i
k<i in longer seq
Definition: data_structures.h:174
Data structure for RNAsnoop.
Definition: data_structures.h:246
double ** u_values
(the -u values * [-c "SHIME"]) * seq len
Definition: data_structures.h:189
Stack of partial structures for backtracking.
Definition: data_structures.h:132
this datastructure is used as input parameter in functions of PS_dot.c
Definition: data_structures.h:111
Energy parameter constants.
Various utility- and helper-functions for secondary structure parsing, converting, etc.
Base pair data structure used in subopt.c.
Definition: data_structures.h:103
int w
longest unpaired region
Definition: data_structures.h:162
struct pu_out pu_out
Collection of all free_energy of beeing unpaired values for output.
Definition: data_structures.h:122
Functions to deal with sets of energy parameters.
int k
k<i in longer seq
Definition: data_structures.h:175
Functions to modify unstructured domains, e.g. to incorporate ligands binding to unpaired stretches...
interaction data structure for RNAup
Definition: data_structures.h:168
double * Pi
probabilities of interaction
Definition: data_structures.h:169
constraints for cofolding
Definition: data_structures.h:195
double ** I
interior loops
Definition: data_structures.h:158
struct node folden
Data structure for RNAsnoop (fold energy list)
int len
sequence length
Definition: data_structures.h:185
int length
length of the input sequence
Definition: data_structures.h:161
char ** header
header line
Definition: data_structures.h:188
int length
length of longer sequence
Definition: data_structures.h:178
struct interact interact
interaction data structure for RNAup
Collection of all free_energy of beeing unpaired values for output.
Definition: data_structures.h:184
double Gikjl
full free energy for interaction between [k,i] k<i in longer seq and [j,l] j<l in shorter seq ...
Definition: data_structures.h:171
Base pair stack element.
Definition: data_structures.h:141
Functions and data structures for constraining secondary structure predictions and evaluation...
double * Gi
free energies of interaction
Definition: data_structures.h:170
Definition: data_structures.h:116
This module provides interfaces that deal with additional structured domains in the folding grammar...
Data structure for RNAduplex.
Definition: data_structures.h:209
The Basic Fold Compound API.
Implementations for the RNA folding grammar.
double Gikjl_wo
Gikjl without contributions for prob_unpaired.
Definition: data_structures.h:173
double ** E
exterior loop
Definition: data_structures.h:160