RNAlib-2.4.8
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 };
116 
117 struct vrna_color_s {
118  float hue;
119  float sat;
120  float bri;
121 };
122 
124  unsigned int position;
125  float value;
126  vrna_color_t color;
127 };
128 
129 
133 struct vrna_sect_s {
134  int i;
135  int j;
136  int ml;
137 };
138 
143  unsigned int i;
144  unsigned int j;
145 };
146 
147 
148 /*
149  * ############################################################
150  * RNAup data structures
151  * ############################################################
152  */
153 
157 typedef struct pu_contrib {
158  double **H;
159  double **I;
160  double **M;
161  double **E;
162  int length;
163  int w;
164 } pu_contrib;
165 
169 typedef struct interact {
170  double *Pi;
171  double *Gi;
172  double Gikjl;
174  double Gikjl_wo;
175  int i;
176  int k;
177  int j;
178  int l;
179  int length;
180 } interact;
181 
185 typedef struct pu_out {
186  int len;
187  int u_vals;
188  int contribs;
189  char **header;
190  double **u_values;
191 } pu_out;
192 
196 typedef struct constrain {
197  int *indx;
198  char *ptype;
199 } constrain;
200 
201 /*
202  * ############################################################
203  * RNAduplex data structures
204  * ############################################################
205  */
206 
210 typedef struct {
211  int i;
212  int j;
213  int end;
214  char *structure;
215  double energy;
216  double energy_backtrack;
217  double opening_backtrack_x;
218  double opening_backtrack_y;
219  int offset;
220  double dG1;
221  double dG2;
222  double ddG;
223  int tb;
224  int te;
225  int qb;
226  int qe;
227 } duplexT;
228 
229 /*
230  * ############################################################
231  * RNAsnoop data structures
232  * ############################################################
233  */
234 
238 typedef struct node {
239  int k;
240  int energy;
241  struct node *next;
242 } folden;
243 
247 typedef struct {
248  int i;
249  int j;
250  int u;
251  char *structure;
252  float energy;
253  float Duplex_El;
254  float Duplex_Er;
255  float Loop_E;
256  float Loop_D;
257  float pscd;
258  float psct;
259  float pscg;
260  float Duplex_Ol;
261  float Duplex_Or;
262  float Duplex_Ot;
263  float fullStemEnergy;
264 } snoopT;
265 
266 
267 /*
268  * ############################################################
269  * PKplex data structures
270  * ############################################################
271  */
272 
276 typedef struct dupVar {
277  int i;
278  int j;
279  int end;
280  char *pk_helix;
281  char *structure;
282  double energy;
283  int offset;
284  double dG1;
285  double dG2;
286  double ddG;
287  int tb;
288  int te;
289  int qb;
290  int qe;
291  int inactive;
292  int processed;
293 } dupVar;
294 
325 #ifndef VRNA_DISABLE_C11_FEATURES
326 void vrna_C11_features(void);
327 
328 
329 #endif
330 
336 #endif
int l
j<l in shorter seq
Definition: basic.h:178
double ** M
multi loops
Definition: basic.h:160
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:158
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:187
Data structure used in RNApkplex.
Definition: basic.h:276
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:177
Data structure for RNAsnoop (fold energy list)
Definition: basic.h:238
contributions to p_u
Definition: basic.h:157
int contribs
[-c "SHIME"]
Definition: basic.h:188
The model details data structure and its corresponding modifiers.
int i
k<i in longer seq
Definition: basic.h:175
Data structure for RNAsnoop.
Definition: basic.h:247
double ** u_values
(the -u values * [-c "SHIME"]) * seq len
Definition: basic.h:190
Stack of partial structures for backtracking.
Definition: basic.h:133
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:163
struct pu_out pu_out
Collection of all free_energy of beeing unpaired values for output.
Definition: basic.h:123
int k
k<i in longer seq
Definition: basic.h:176
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:169
double * Pi
probabilities of interaction
Definition: basic.h:170
constraints for cofolding
Definition: basic.h:196
double ** I
interior loops
Definition: basic.h:159
struct node folden
Data structure for RNAsnoop (fold energy list)
int len
sequence length
Definition: basic.h:186
int length
length of the input sequence
Definition: basic.h:162
char ** header
header line
Definition: basic.h:189
int length
length of longer sequence
Definition: basic.h:179
struct interact interact
interaction data structure for RNAup
Collection of all free_energy of beeing unpaired values for output.
Definition: basic.h:185
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:172
Base pair stack element.
Definition: basic.h:142
Functions to deal with sets of energy parameters.
double * Gi
free energies of interaction
Definition: basic.h:171
Definition: basic.h:117
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:210
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:358
double Gikjl_wo
Gikjl without contributions for prob_unpaired.
Definition: basic.h:174
double ** E
exterior loop
Definition: basic.h:161