1 #ifndef __VIENNA_RNA_PACKAGE_DATA_STRUCTURES_H__
2 #define __VIENNA_RNA_PACKAGE_DATA_STRUCTURES_H__
13 #define FLT_OR_DBL double
15 #define FLT_OR_DBL float
34 #define VRNA_GQUAD_MAX_STACK_SIZE 7
35 #define VRNA_GQUAD_MIN_STACK_SIZE 2
36 #define VRNA_GQUAD_MAX_LINKER_LENGTH 15
37 #define VRNA_GQUAD_MIN_LINKER_LENGTH 1
38 #define VRNA_GQUAD_MIN_BOX_SIZE ((4*VRNA_GQUAD_MIN_STACK_SIZE)+(3*VRNA_GQUAD_MIN_LINKER_LENGTH))
39 #define VRNA_GQUAD_MAX_BOX_SIZE ((4*VRNA_GQUAD_MAX_STACK_SIZE)+(3*VRNA_GQUAD_MAX_LINKER_LENGTH))
131 int mismatchExt[
NBPAIRS+1][5][5];
132 int mismatchI[
NBPAIRS+1][5][5];
133 int mismatch1nI[
NBPAIRS+1][5][5];
134 int mismatch23I[
NBPAIRS+1][5][5];
135 int mismatchH[
NBPAIRS+1][5][5];
136 int mismatchM[
NBPAIRS+1][5][5];
149 int Tetraloop_E[200];
150 char Tetraloops[1401];
154 char Hexaloops[1801];
158 int gquad [VRNA_GQUAD_MAX_STACK_SIZE + 1]
159 [3*VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
173 double exphairpin[31];
176 double expmismatchExt[
NBPAIRS+1][5][5];
177 double expmismatchI[
NBPAIRS+1][5][5];
178 double expmismatch23I[
NBPAIRS+1][5][5];
179 double expmismatch1nI[
NBPAIRS+1][5][5];
180 double expmismatchH[
NBPAIRS+1][5][5];
181 double expmismatchM[
NBPAIRS+1][5][5];
182 double expdangle5[
NBPAIRS+1][5];
183 double expdangle3[
NBPAIRS+1][5];
193 double expDuplexInit;
197 char Tetraloops[1401];
198 double expTriloop[40];
200 char Hexaloops[1801];
202 double expMultipleCA;
203 double expMultipleCB;
204 double expgquad[VRNA_GQUAD_MAX_STACK_SIZE + 1]
205 [3*VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
327 typedef struct move {
337 typedef struct intermediate {
347 typedef struct path {
420 double energy_backtrack;
421 double opening_backtrack_x;
422 double opening_backtrack_y;
442 typedef struct node {
467 float fullStemEnergy;
559 short *reference_pt1;
560 short *reference_pt2;
563 unsigned int seq_length;
582 int **l_min_values_m;
583 int **l_max_values_m;
587 int **l_min_values_m1;
588 int **l_max_values_m1;
589 int *k_min_values_m1;
590 int *k_max_values_m1;
592 int **l_min_values_f;
593 int **l_max_values_f;
597 int **l_min_values_f3;
598 int **l_max_values_f3;
599 int *k_min_values_f3;
600 int *k_max_values_f3;
602 int **l_min_values_m2;
603 int **l_max_values_m2;
604 int *k_min_values_m2;
605 int *k_max_values_m2;
607 int *l_min_values_fc;
608 int *l_max_values_fc;
612 int *l_min_values_fcH;
613 int *l_max_values_fcH;
614 int k_min_values_fcH;
615 int k_max_values_fcH;
617 int *l_min_values_fcI;
618 int *l_max_values_fcI;
619 int k_min_values_fcI;
620 int k_max_values_fcI;
622 int *l_min_values_fcM;
623 int *l_max_values_fcM;
624 int k_min_values_fcM;
625 int k_max_values_fcM;
641 unsigned long ***N_F5;
642 unsigned long ***N_C;
643 unsigned long ***N_M;
644 unsigned long ***N_M1;
690 short *reference_pt1;
691 short *reference_pt2;
702 unsigned int seq_length;
720 int **l_min_values_b;
721 int **l_max_values_b;
725 int **l_min_values_m;
726 int **l_max_values_m;
730 int **l_min_values_m1;
731 int **l_max_values_m1;
732 int *k_min_values_m1;
733 int *k_max_values_m1;
735 int **l_min_values_m2;
736 int **l_max_values_m2;
737 int *k_min_values_m2;
738 int *k_max_values_m2;
740 int *l_min_values_qc;
741 int *l_max_values_qc;
745 int *l_min_values_qcH;
746 int *l_max_values_qcH;
747 int k_min_values_qcH;
748 int k_max_values_qcH;
750 int *l_min_values_qcI;
751 int *l_max_values_qcI;
752 int k_min_values_qcI;
753 int k_max_values_qcI;
755 int *l_min_values_qcM;
756 int *l_max_values_qcM;
757 int k_min_values_qcM;
758 int k_max_values_qcM;
764 FLT_OR_DBL *Q_M1_rem;
765 FLT_OR_DBL *Q_M2_rem;