RNAlib-2.4.14
basic.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 
84 #include <ViennaRNA/model.h>
85 #include <ViennaRNA/params/basic.h>
86 #include <ViennaRNA/dp_matrices.h>
89 #include <ViennaRNA/grammar.h>
93 
94 /*
95  * ############################################################
96  * Here are the type definitions of various datastructures
97  * shared among the Vienna RNA Package
98  * ############################################################
99  */
100 
105  int i;
106  int j;
107 };
108 
112 struct vrna_cpair_s {
113  int i, j, mfe;
114  float p, hue, sat;
115  int type;
116 };
117 
118 struct vrna_color_s {
119  float hue;
120  float sat;
121  float bri;
122 };
123 
125  unsigned int position;
126  float value;
127  vrna_color_t color;
128 };
129 
130 
134 struct vrna_sect_s {
135  int i;
136  int j;
137  int ml;
138 };
139 
144  unsigned int i;
145  unsigned int j;
146 };
147 
148 
149 /*
150  * ############################################################
151  * RNAup data structures
152  * ############################################################
153  */
154 
158 typedef struct pu_contrib {
159  double **H;
160  double **I;
161  double **M;
162  double **E;
163  int length;
164  int w;
165 } pu_contrib;
166 
170 typedef struct interact {
171  double *Pi;
172  double *Gi;
173  double Gikjl;
175  double Gikjl_wo;
176  int i;
177  int k;
178  int j;
179  int l;
180  int length;
181 } interact;
182 
186 typedef struct pu_out {
187  int len;
188  int u_vals;
189  int contribs;
190  char **header;
191  double **u_values;
192 } pu_out;
193 
197 typedef struct constrain {
198  int *indx;
199  char *ptype;
200 } constrain;
201 
202 /*
203  * ############################################################
204  * RNAduplex data structures
205  * ############################################################
206  */
207 
211 typedef struct {
212  int i;
213  int j;
214  int end;
215  char *structure;
216  double energy;
217  double energy_backtrack;
218  double opening_backtrack_x;
219  double opening_backtrack_y;
220  int offset;
221  double dG1;
222  double dG2;
223  double ddG;
224  int tb;
225  int te;
226  int qb;
227  int qe;
228 } duplexT;
229 
230 /*
231  * ############################################################
232  * RNAsnoop data structures
233  * ############################################################
234  */
235 
239 typedef struct node {
240  int k;
241  int energy;
242  struct node *next;
243 } folden;
244 
248 typedef struct {
249  int i;
250  int j;
251  int u;
252  char *structure;
253  float energy;
254  float Duplex_El;
255  float Duplex_Er;
256  float Loop_E;
257  float Loop_D;
258  float pscd;
259  float psct;
260  float pscg;
261  float Duplex_Ol;
262  float Duplex_Or;
263  float Duplex_Ot;
264  float fullStemEnergy;
265 } snoopT;
266 
267 
268 /*
269  * ############################################################
270  * PKplex data structures
271  * ############################################################
272  */
273 
277 typedef struct dupVar {
278  int i;
279  int j;
280  int end;
281  char *pk_helix;
282  char *structure;
283  double energy;
284  int offset;
285  double dG1;
286  double dG2;
287  double ddG;
288  int tb;
289  int te;
290  int qb;
291  int qe;
292  int inactive;
293  int processed;
294 } dupVar;
295 
326 #ifndef VRNA_DISABLE_C11_FEATURES
327 void vrna_C11_features(void);
328 
329 
330 #endif
331 
337 #endif
int l
j<l in shorter seq
Definition: basic.h:179
double ** M
multi loops
Definition: basic.h:161
Functions and data structures for secondary structure soft constraints.
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: basic.h:159
struct dupVar dupVar
Data structure used in RNApkplex.
struct constrain constrain
constraints for cofolding
int u_vals
number of different -u values
Definition: basic.h:188
Data structure used in RNApkplex.
Definition: basic.h:277
Energy parameter constants.
struct pu_contrib pu_contrib
contributions to p_u
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: basic.h:43
int j
j<l in shorter seq
Definition: basic.h:178
Data structure for RNAsnoop (fold energy list)
Definition: basic.h:239
contributions to p_u
Definition: basic.h:158
int contribs
[-c "SHIME"]
Definition: basic.h:189
The model details data structure and its corresponding modifiers.
int i
k<i in longer seq
Definition: basic.h:176
Data structure for RNAsnoop.
Definition: basic.h:248
double ** u_values
(the -u values * [-c "SHIME"]) * seq len
Definition: basic.h:191
Stack of partial structures for backtracking.
Definition: basic.h:134
this datastructure is used as input parameter in functions of PS_dot.c
Definition: basic.h:112
Base pair data structure used in subopt.c.
Definition: basic.h:104
int w
longest unpaired region
Definition: basic.h:164
struct pu_out pu_out
Collection of all free_energy of beeing unpaired values for output.
Definition: basic.h:124
int k
k<i in longer seq
Definition: basic.h:177
Functions and data structures for handling of secondary structure hard constraints.
Functions to modify unstructured domains, e.g. to incorporate ligands binding to unpaired stretches...
interaction data structure for RNAup
Definition: basic.h:170
double * Pi
probabilities of interaction
Definition: basic.h:171
constraints for cofolding
Definition: basic.h:197
double ** I
interior loops
Definition: basic.h:160
struct node folden
Data structure for RNAsnoop (fold energy list)
int len
sequence length
Definition: basic.h:187
int length
length of the input sequence
Definition: basic.h:163
char ** header
header line
Definition: basic.h:190
int length
length of longer sequence
Definition: basic.h:180
struct interact interact
interaction data structure for RNAup
Collection of all free_energy of beeing unpaired values for output.
Definition: basic.h:186
double Gikjl
full free energy for interaction between [k,i] k<i in longer seq and [j,l] j<l in shorter seq ...
Definition: basic.h:173
Base pair stack element.
Definition: basic.h:143
Functions to deal with sets of energy parameters.
double * Gi
free energies of interaction
Definition: basic.h:172
Definition: basic.h:118
This module provides interfaces that deal with additional structured domains in the folding grammar...
Various utility- and helper-functions for secondary structure parsing, converting, etc.
Data structure for RNAduplex.
Definition: basic.h:211
The Basic Fold Compound API.
Implementations for the RNA folding grammar.
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition: structures.h:453
double Gikjl_wo
Gikjl without contributions for prob_unpaired.
Definition: basic.h:175
double ** E
exterior loop
Definition: basic.h:162