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))
132 int mismatchExt[
NBPAIRS+1][5][5];
133 int mismatchI[
NBPAIRS+1][5][5];
134 int mismatch1nI[
NBPAIRS+1][5][5];
135 int mismatch23I[
NBPAIRS+1][5][5];
136 int mismatchH[
NBPAIRS+1][5][5];
137 int mismatchM[
NBPAIRS+1][5][5];
150 int Tetraloop_E[200];
151 char Tetraloops[1401];
155 char Hexaloops[1801];
159 int gquad [VRNA_GQUAD_MAX_STACK_SIZE + 1]
160 [3*VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
174 double exphairpin[31];
177 double expmismatchExt[
NBPAIRS+1][5][5];
178 double expmismatchI[
NBPAIRS+1][5][5];
179 double expmismatch23I[
NBPAIRS+1][5][5];
180 double expmismatch1nI[
NBPAIRS+1][5][5];
181 double expmismatchH[
NBPAIRS+1][5][5];
182 double expmismatchM[
NBPAIRS+1][5][5];
183 double expdangle5[
NBPAIRS+1][5];
184 double expdangle3[
NBPAIRS+1][5];
194 double expDuplexInit;
198 char Tetraloops[1401];
199 double expTriloop[40];
201 char Hexaloops[1801];
203 double expMultipleCA;
204 double expMultipleCB;
205 double expgquad[VRNA_GQUAD_MAX_STACK_SIZE + 1]
206 [3*VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
328 typedef struct move {
338 typedef struct intermediate {
348 typedef struct path {
421 double energy_backtrack;
422 double opening_backtrack_x;
423 double opening_backtrack_y;
443 typedef struct node {
468 float fullStemEnergy;
560 short *reference_pt1;
561 short *reference_pt2;
564 unsigned int seq_length;
583 int **l_min_values_m;
584 int **l_max_values_m;
588 int **l_min_values_m1;
589 int **l_max_values_m1;
590 int *k_min_values_m1;
591 int *k_max_values_m1;
593 int **l_min_values_f;
594 int **l_max_values_f;
598 int **l_min_values_f3;
599 int **l_max_values_f3;
600 int *k_min_values_f3;
601 int *k_max_values_f3;
603 int **l_min_values_m2;
604 int **l_max_values_m2;
605 int *k_min_values_m2;
606 int *k_max_values_m2;
608 int *l_min_values_fc;
609 int *l_max_values_fc;
613 int *l_min_values_fcH;
614 int *l_max_values_fcH;
615 int k_min_values_fcH;
616 int k_max_values_fcH;
618 int *l_min_values_fcI;
619 int *l_max_values_fcI;
620 int k_min_values_fcI;
621 int k_max_values_fcI;
623 int *l_min_values_fcM;
624 int *l_max_values_fcM;
625 int k_min_values_fcM;
626 int k_max_values_fcM;
642 unsigned long ***N_F5;
643 unsigned long ***N_C;
644 unsigned long ***N_M;
645 unsigned long ***N_M1;
691 short *reference_pt1;
692 short *reference_pt2;
703 unsigned int seq_length;
721 int **l_min_values_b;
722 int **l_max_values_b;
726 int **l_min_values_m;
727 int **l_max_values_m;
731 int **l_min_values_m1;
732 int **l_max_values_m1;
733 int *k_min_values_m1;
734 int *k_max_values_m1;
736 int **l_min_values_m2;
737 int **l_max_values_m2;
738 int *k_min_values_m2;
739 int *k_max_values_m2;
741 int *l_min_values_qc;
742 int *l_max_values_qc;
746 int *l_min_values_qcH;
747 int *l_max_values_qcH;
748 int k_min_values_qcH;
749 int k_max_values_qcH;
751 int *l_min_values_qcI;
752 int *l_max_values_qcI;
753 int k_min_values_qcI;
754 int k_max_values_qcI;
756 int *l_min_values_qcM;
757 int *l_max_values_qcM;
758 int k_min_values_qcM;
759 int k_max_values_qcM;
765 FLT_OR_DBL *Q_M1_rem;
766 FLT_OR_DBL *Q_M2_rem;
int l
Distance to second reference.
Definition: data_structures.h:529
Definition: data_structures.h:443
double temperature
Temperature used for loop contribution scaling.
Definition: data_structures.h:162
double temperature
Temperature used for loop contribution scaling.
Definition: data_structures.h:211
double FAB
all states with DuplexInit correction
Definition: data_structures.h:269
int w
longest unpaired region
Definition: data_structures.h:368
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition: data_structures.h:549
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition: data_structures.h:546
unsigned j
nucleotide position j
Definition: data_structures.h:311
char ** header
header line
Definition: data_structures.h:394
int contribs
[-c "SHIME"]
Definition: data_structures.h:393
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition: data_structures.h:556
#define MAXLOOP
Definition: energy_const.h:28
Base pair with associated energy.
Definition: data_structures.h:96
float en
Free energy in kcal/mol.
Definition: data_structures.h:530
short * S1
The input sequences in numeric form.
Definition: data_structures.h:544
Definition: data_structures.h:266
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition: data_structures.h:552
paramT * P
Precomputed energy parameters and model details.
Definition: data_structures.h:540
double FcAB
true hybrid states only
Definition: data_structures.h:270
char * ptype
Precomputed array of pair types.
Definition: data_structures.h:676
int special_hp
Include special hairpin contributions for tri, tetra and hexaloops.
Definition: data_structures.h:113
int circ
backward compatibility variable.. this does not effect anything
Solution element returned from TwoDpfoldList.
Definition: data_structures.h:661
Definition: data_structures.h:328
double * Gi
free energies of interaction
Definition: data_structures.h:376
float energy
Free Energy of structure in kcal/mol.
Definition: data_structures.h:253
The datastructure that contains temperature scaled energy parameters.
Definition: data_structures.h:126
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition: data_structures.h:694
float p
Probability.
Definition: data_structures.h:312
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition: data_structures.h:680
Definition: data_structures.h:452
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition: data_structures.h:688
model_detailsT model_details
Model details to be used in the recursions.
Definition: data_structures.h:164
double FB
monomer B
Definition: data_structures.h:272
char * s
MFE representative structure in dot-bracket notation.
Definition: data_structures.h:531
The datastructure that contains temperature scaled Boltzmann weights of the energy parameters...
Definition: data_structures.h:171
char * ptype
Precomputed array of pair types.
Definition: data_structures.h:542
int length
length of longer sequence
Definition: data_structures.h:384
Collection of all free_energy of beeing unpaired values for output.
Definition: data_structures.h:390
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:377
int noGU
Do not allow GU pairs.
Definition: data_structures.h:115
Definition: data_structures.h:486
double ** I
interior loops
Definition: data_structures.h:364
Solution element from subopt.c.
Definition: data_structures.h:252
double ** M
multi loops
Definition: data_structures.h:365
constraints for cofolding
Definition: data_structures.h:401
Definition: data_structures.h:415
int canonicalBPonly
remove non-canonical bp's from constraint structures
Definition: data_structures.h:120
int noGUclosure
Do not allow loops to be closed by GU pair.
Definition: data_structures.h:116
A base pair info structure.
Definition: data_structures.h:309
this datastructure is used as input parameter in functions of PS_dot.h and others ...
Definition: data_structures.h:52
double q
partition function
Definition: data_structures.h:664
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,j].
Definition: data_structures.h:696
double ** H
hairpin loops
Definition: data_structures.h:363
int gquad
Include G-quadruplexes in structure prediction.
Definition: data_structures.h:119
int gquad
Allow G-quadruplex formation.
Variables compound for 2Dfold MFE folding.
Definition: data_structures.h:539
double F0AB
Null model without DuplexInit.
Definition: data_structures.h:268
int dangles
Specifies the dangle model used in any energy evaluation (0,1,2 or 3)
Definition: data_structures.h:107
int k
k<i in longer seq
Definition: data_structures.h:381
char * sequence
The input sequence.
Definition: data_structures.h:543
double A0
start concentration A
Definition: data_structures.h:279
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition: data_structures.h:679
Sequence interval stack element used in subopt.c.
Definition: data_structures.h:243
Definition: data_structures.h:374
int l
j<l in shorter seq
Definition: data_structures.h:383
double ABc
End concentration AB.
Definition: data_structures.h:281
double alpha
Scaling factor for the thermodynamic temperature.
Definition: data_structures.h:212
double ** u_values
(the -u values * [-c "SHIME"]) * seq len
Definition: data_structures.h:395
Base pair.
Definition: data_structures.h:88
int l
Distance to second reference.
Definition: data_structures.h:663
int logML
Use logarithmic scaling for multi loops.
Definition: data_structures.h:117
Stack of partial structures for backtracking.
Definition: data_structures.h:79
double ** E
exterior loop
Definition: data_structures.h:366
int len
sequence length
Definition: data_structures.h:391
int k
Distance to first reference.
Definition: data_structures.h:662
#define NBPAIRS
Definition: energy_const.h:24
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition: data_structures.h:550
this datastructure is used as input parameter in functions of PS_dot.c
Definition: data_structures.h:62
int i
k<i in longer seq
Definition: data_structures.h:380
Definition: data_structures.h:348
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition: data_structures.h:698
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,j].
Definition: data_structures.h:558
int length
length of the input sequence
Definition: data_structures.h:367
double pf_scale
A scaling factor used by pf_fold() to avoid overflows.
unsigned int * referenceBPs2
Matrix containing number of basepairs of reference structure2 in interval [i,j].
Definition: data_structures.h:557
double Gikjl_wo
Gikjl without contributions for prob_unpaired.
Definition: data_structures.h:379
int noLP
Only consider canonical structures, i.e. no 'lonely' base pairs.
Definition: data_structures.h:114
int j
j<l in shorter seq
Definition: data_structures.h:382
The data structure that contains the complete model details used throughout the calculations.
Definition: data_structures.h:106
Base pair data structure used in subopt.c.
Definition: data_structures.h:235
double * Pi
probabilities of interaction
Definition: data_structures.h:375
int * jindx
Index for moving in the triangular matrix qm1.
Definition: data_structures.h:689
int circ
Assume molecule to be circular.
Definition: data_structures.h:118
int do_backtrack
Flag whether to do backtracing of the structure(s) or not.
Definition: data_structures.h:541
unsigned i
nucleotide position i
Definition: data_structures.h:310
int dangles
Switch the energy model for dangling end contributions (0, 1, 2, 3)
int k
Distance to first reference.
Definition: data_structures.h:528
short * S1
The input sequences in numeric form.
Definition: data_structures.h:678
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition: data_structures.h:545
contributions to p_u
Definition: data_structures.h:362
Definition: data_structures.h:291
double pf_scale
Scaling factor to avoid over-/underflows.
Definition: data_structures.h:209
float ent
Pseudo entropy for .
Definition: data_structures.h:313
char * sequence
The input sequence.
Definition: data_structures.h:677
double B0
start concentration B
Definition: data_structures.h:280
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition: data_structures.h:699
model_detailsT model_details
Model details to be used in the recursions.
Definition: data_structures.h:219
unsigned int * referenceBPs2
Matrix containing number of basepairs of reference structure2 in interval [i,j].
Definition: data_structures.h:695
Definition: data_structures.h:278
Solution element returned from TwoDfoldList.
Definition: data_structures.h:527
int u_vals
number of different -u values
Definition: data_structures.h:392
double temperature
Rescale energy parameters to a temperature in degC.
this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type COORD...
Definition: data_structures.h:71
double FA
monomer A
Definition: data_structures.h:271
char * structure
Structure in dot-bracket notation.
Definition: data_structures.h:254
char comp
1 iff pair is in mfe structure
Definition: data_structures.h:315
Variables compound for 2Dfold partition function folding.
Definition: data_structures.h:673