RNAlib-2.6.3
 
Loading...
Searching...
No Matches
dp_matrices.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_DP_MATRICES_H
2#define VIENNA_RNA_PACKAGE_DP_MATRICES_H
3
23
26
33typedef enum {
43
52 unsigned int length;
53 unsigned int strands;
58#ifndef VRNA_DISABLE_C11_FEATURES
59 /* C11 support for unnamed unions/structs */
60 union {
61 struct {
62#endif
68 int *c;
69 int *f5;
70 int *f3;
71 int **fms5;
72 int **fms3;
73 int *fML;
74 int *fM1;
75 int *fM2;
76 int *ggg;
77 int Fc;
78 int FcH;
79 int FcI;
80 int FcM;
85#ifndef VRNA_DISABLE_C11_FEATURES
86 /* C11 support for unnamed unions/structs */
87};
88struct {
89#endif
95 int **c_local;
96 int *f3_local;
97 int **fML_local;
98 int **ggg_local;
102#ifndef VRNA_DISABLE_C11_FEATURES
103 /* C11 support for unnamed unions/structs */
104};
105struct {
106#endif
107
113 int ***E_F5;
114 int **l_min_F5;
115 int **l_max_F5;
116 int *k_min_F5;
117 int *k_max_F5;
118
119 int ***E_F3;
120 int **l_min_F3;
121 int **l_max_F3;
122 int *k_min_F3;
123 int *k_max_F3;
124
125 int ***E_C;
126 int **l_min_C;
127 int **l_max_C;
128 int *k_min_C;
129 int *k_max_C;
130
131 int ***E_M;
132 int **l_min_M;
133 int **l_max_M;
134 int *k_min_M;
135 int *k_max_M;
136
137 int ***E_M1;
138 int **l_min_M1;
139 int **l_max_M1;
140 int *k_min_M1;
141 int *k_max_M1;
142
143 int ***E_M2;
144 int **l_min_M2;
145 int **l_max_M2;
146 int *k_min_M2;
147 int *k_max_M2;
148
149 int **E_Fc;
150 int *l_min_Fc;
151 int *l_max_Fc;
152 int k_min_Fc;
153 int k_max_Fc;
154
155 int **E_FcH;
156 int *l_min_FcH;
157 int *l_max_FcH;
158 int k_min_FcH;
159 int k_max_FcH;
160
161 int **E_FcI;
162 int *l_min_FcI;
163 int *l_max_FcI;
164 int k_min_FcI;
165 int k_max_FcI;
166
167 int **E_FcM;
168 int *l_min_FcM;
169 int *l_max_FcM;
170 int k_min_FcM;
171 int k_max_FcM;
172
173 /* auxilary arrays for remaining set of coarse graining (k,l) > (k_max, l_max) */
174 int *E_F5_rem;
175 int *E_F3_rem;
176 int *E_C_rem;
177 int *E_M_rem;
178 int *E_M1_rem;
179 int *E_M2_rem;
180
181 int E_Fc_rem;
182 int E_FcH_rem;
183 int E_FcI_rem;
184 int E_FcM_rem;
185
186#ifdef COUNT_STATES
187 unsigned long ***N_F5;
188 unsigned long ***N_C;
189 unsigned long ***N_M;
190 unsigned long ***N_M1;
191#endif
192
197#ifndef VRNA_DISABLE_C11_FEATURES
198 /* C11 support for unnamed unions/structs */
199};
200};
201#endif
202};
203
212 unsigned int length;
220#ifndef VRNA_DISABLE_C11_FEATURES
221 /* C11 support for unnamed unions/structs */
222 union {
223 struct {
224#endif
225
231 FLT_OR_DBL *q;
232 FLT_OR_DBL *qb;
233 FLT_OR_DBL *qm;
234 FLT_OR_DBL *qm1;
235 FLT_OR_DBL *probs;
236 FLT_OR_DBL *q1k;
237 FLT_OR_DBL *qln;
238 FLT_OR_DBL *G;
239
240 FLT_OR_DBL qo;
241 FLT_OR_DBL *qm2;
242 FLT_OR_DBL qho;
243 FLT_OR_DBL qio;
244 FLT_OR_DBL qmo;
245
250#ifndef VRNA_DISABLE_C11_FEATURES
251 /* C11 support for unnamed unions/structs */
252};
253struct {
254#endif
255
261 FLT_OR_DBL **q_local;
262 FLT_OR_DBL **qb_local;
263 FLT_OR_DBL **qm_local;
264 FLT_OR_DBL **pR;
265 FLT_OR_DBL **qm2_local;
266 FLT_OR_DBL **QI5;
267 FLT_OR_DBL **q2l;
268 FLT_OR_DBL **qmb;
269 FLT_OR_DBL **G_local;
274#ifndef VRNA_DISABLE_C11_FEATURES
275 /* C11 support for unnamed unions/structs */
276};
277struct {
278#endif
279
285 FLT_OR_DBL ***Q;
286 int **l_min_Q;
287 int **l_max_Q;
288 int *k_min_Q;
289 int *k_max_Q;
290
291
292 FLT_OR_DBL ***Q_B;
293 int **l_min_Q_B;
294 int **l_max_Q_B;
295 int *k_min_Q_B;
296 int *k_max_Q_B;
297
298 FLT_OR_DBL ***Q_M;
299 int **l_min_Q_M;
300 int **l_max_Q_M;
301 int *k_min_Q_M;
302 int *k_max_Q_M;
303
304 FLT_OR_DBL ***Q_M1;
305 int **l_min_Q_M1;
306 int **l_max_Q_M1;
307 int *k_min_Q_M1;
308 int *k_max_Q_M1;
309
310 FLT_OR_DBL ***Q_M2;
311 int **l_min_Q_M2;
312 int **l_max_Q_M2;
313 int *k_min_Q_M2;
314 int *k_max_Q_M2;
315
316 FLT_OR_DBL **Q_c;
317 int *l_min_Q_c;
318 int *l_max_Q_c;
319 int k_min_Q_c;
320 int k_max_Q_c;
321
322 FLT_OR_DBL **Q_cH;
323 int *l_min_Q_cH;
324 int *l_max_Q_cH;
325 int k_min_Q_cH;
326 int k_max_Q_cH;
327
328 FLT_OR_DBL **Q_cI;
329 int *l_min_Q_cI;
330 int *l_max_Q_cI;
331 int k_min_Q_cI;
332 int k_max_Q_cI;
333
334 FLT_OR_DBL **Q_cM;
335 int *l_min_Q_cM;
336 int *l_max_Q_cM;
337 int k_min_Q_cM;
338 int k_max_Q_cM;
339
340 /* auxilary arrays for remaining set of coarse graining (k,l) > (k_max, l_max) */
341 FLT_OR_DBL *Q_rem;
342 FLT_OR_DBL *Q_B_rem;
343 FLT_OR_DBL *Q_M_rem;
344 FLT_OR_DBL *Q_M1_rem;
345 FLT_OR_DBL *Q_M2_rem;
346
347 FLT_OR_DBL Q_c_rem;
348 FLT_OR_DBL Q_cH_rem;
349 FLT_OR_DBL Q_cI_rem;
350 FLT_OR_DBL Q_cM_rem;
355#ifndef VRNA_DISABLE_C11_FEATURES
356 /* C11 support for unnamed unions/structs */
357};
358};
359#endif
360};
361
391int
393 vrna_mx_type_e type,
394 unsigned int options);
395
396
397int
398vrna_mx_mfe_add(vrna_fold_compound_t *fc,
399 vrna_mx_type_e mx_type,
400 unsigned int options);
401
402
403int
404vrna_mx_pf_add(vrna_fold_compound_t *fc,
405 vrna_mx_type_e mx_type,
406 unsigned int options);
407
408
409int
410vrna_mx_prepare(vrna_fold_compound_t *fc,
411 unsigned int options);
412
413
421void
423
424
432void
434
435
440#endif
Various data structures and pre-processor macros.
The Basic Fold Compound API.
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition basic.h:43
int * ggg
Energies of g-quadruplexes.
Definition dp_matrices.h:76
int * fML
Multi-loop auxiliary energy array.
Definition dp_matrices.h:73
int ** c_local
Energy array, given that i-j pair.
Definition dp_matrices.h:95
FLT_OR_DBL * scale
Definition dp_matrices.h:213
int FcH
Minimum Free Energy of hairpin loop cases in circular RNA.
Definition dp_matrices.h:78
unsigned int length
Length of the sequence, therefore an indicator of the size of the DP matrices.
Definition dp_matrices.h:52
int * f3
Energy of 3' end.
Definition dp_matrices.h:70
int * c
Energy array, given that i-j pair.
Definition dp_matrices.h:68
int * f3_local
Energy of 5' end.
Definition dp_matrices.h:96
unsigned int length
Definition dp_matrices.h:212
unsigned int strands
Definition dp_matrices.h:53
const vrna_mx_type_e type
Definition dp_matrices.h:51
int FcI
Minimum Free Energy of internal loop cases in circular RNA.
Definition dp_matrices.h:79
int FcM
Minimum Free Energy of multibranch loop cases in circular RNA.
Definition dp_matrices.h:80
int * f5
Energy of 5' end.
Definition dp_matrices.h:69
int ** fms3
nergy for connected interstrand configurations
Definition dp_matrices.h:72
int Fc
Minimum Free Energy of entire circular RNA.
Definition dp_matrices.h:77
int * fM2
Energy for a multibranch loop region with exactly two stems, extending to 3' end.
Definition dp_matrices.h:75
int ** fML_local
Multi-loop auxiliary energy array.
Definition dp_matrices.h:97
FLT_OR_DBL * expMLbase
Definition dp_matrices.h:214
int * fM1
Second ML array, only for unique multibrnach loop decomposition.
Definition dp_matrices.h:74
int ** fms5
Energy for connected interstrand configurations.
Definition dp_matrices.h:71
const vrna_mx_type_e type
Definition dp_matrices.h:211
int ** ggg_local
Energies of g-quadruplexes.
Definition dp_matrices.h:98
vrna_mx_type_e
An enumerator that is used to specify the type of a polymorphic Dynamic Programming (DP) matrix data ...
Definition dp_matrices.h:33
int vrna_mx_add(vrna_fold_compound_t *fc, vrna_mx_type_e type, unsigned int options)
Add Dynamic Programming (DP) matrices (allocate memory)
void vrna_mx_pf_free(vrna_fold_compound_t *fc)
Free memory occupied by the Partition Function (PF) Dynamic Programming (DP) matrices.
void vrna_mx_mfe_free(vrna_fold_compound_t *fc)
Free memory occupied by the Minimum Free Energy (MFE) Dynamic Programming (DP) matrices.
@ VRNA_MX_WINDOW
DP matrices suitable for local structure prediction using window approach.
Definition dp_matrices.h:35
@ VRNA_MX_DEFAULT
Default DP matrices.
Definition dp_matrices.h:34
@ VRNA_MX_2DFOLD
DP matrices suitable for distance class partitioned structure prediction.
Definition dp_matrices.h:39
Minimum Free Energy (MFE) Dynamic Programming (DP) matrices data structure required within the vrna_f...
Definition dp_matrices.h:47
Partition function (PF) Dynamic Programming (DP) matrices data structure required within the vrna_fol...
Definition dp_matrices.h:207
The most basic data structure required by many functions throughout the RNAlib.
Definition fold_compound.h:168