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
30 #define VRNA_GQUAD_MAX_STACK_SIZE 7
31 #define VRNA_GQUAD_MIN_STACK_SIZE 2
32 #define VRNA_GQUAD_MAX_LINKER_LENGTH 15
33 #define VRNA_GQUAD_MIN_LINKER_LENGTH 1
34 #define VRNA_GQUAD_MIN_BOX_SIZE ((4*VRNA_GQUAD_MIN_STACK_SIZE)+(3*VRNA_GQUAD_MIN_LINKER_LENGTH))
35 #define VRNA_GQUAD_MAX_BOX_SIZE ((4*VRNA_GQUAD_MAX_STACK_SIZE)+(3*VRNA_GQUAD_MAX_LINKER_LENGTH))
142 int gquad [VRNA_GQUAD_MAX_STACK_SIZE + 1]
143 [3*VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
159 int Tetraloop_E[200];
160 char Tetraloops[1401];
164 char Hexaloops[1801];
169 int internal_loop_RD[
MAXLOOP+1];
174 int Tetraloop_E_RD[200];
175 char Tetraloops_RD[1401];
176 int Triloop_E_RD[40];
177 char Triloops_RD[241];
178 int Hexaloop_E_RD[40];
179 char Hexaloops_RD[1801];
184 int internal_loop_D[
MAXLOOP+1];
189 int Tetraloop_E_D[200];
190 char Tetraloops_D[1401];
192 char Triloops_D[241];
193 int Hexaloop_E_D[40];
194 char Hexaloops_D[1801];
221 double expDuplexInit;
225 double exphairpin[31];
235 char Tetraloops[1401];
237 char Hexaloops[1801];
240 double exphairpin_RD[31];
242 double expinternal_RD[
MAXLOOP+1];
243 double expninio_RD[5][
MAXLOOP+1];
246 double expMLclosing_RD;
247 double exptetra_RD[40];
248 double exptri_RD[40];
249 double exphex_RD[40];
250 char Tetraloops_RD[1401];
251 char Triloops_RD[241];
252 char Hexaloops_RD[1801];
255 double exphairpin_D[31];
257 double expinternal_D[
MAXLOOP+1];
258 double expninio_D[5][
MAXLOOP+1];
261 double expMLclosing_D;
262 double exptetra_D[40];
265 char Tetraloops_D[1401];
266 char Triloops_D[241];
267 char Hexaloops_D[1801];
270 double expMultipleCA;
271 double expMultipleCB;
272 double expgquad[VRNA_GQUAD_MAX_STACK_SIZE + 1]
273 [3*VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
394 typedef struct move {
404 typedef struct intermediate {
414 typedef struct path {
487 double energy_backtrack;
488 double opening_backtrack_x;
489 double opening_backtrack_y;
509 typedef struct node {
534 float fullStemEnergy;
626 short *reference_pt1;
627 short *reference_pt2;
630 unsigned int seq_length;
649 int **l_min_values_m;
650 int **l_max_values_m;
654 int **l_min_values_m1;
655 int **l_max_values_m1;
656 int *k_min_values_m1;
657 int *k_max_values_m1;
659 int **l_min_values_f;
660 int **l_max_values_f;
664 int **l_min_values_f3;
665 int **l_max_values_f3;
666 int *k_min_values_f3;
667 int *k_max_values_f3;
669 int **l_min_values_m2;
670 int **l_max_values_m2;
671 int *k_min_values_m2;
672 int *k_max_values_m2;
674 int *l_min_values_fc;
675 int *l_max_values_fc;
679 int *l_min_values_fcH;
680 int *l_max_values_fcH;
681 int k_min_values_fcH;
682 int k_max_values_fcH;
684 int *l_min_values_fcI;
685 int *l_max_values_fcI;
686 int k_min_values_fcI;
687 int k_max_values_fcI;
689 int *l_min_values_fcM;
690 int *l_max_values_fcM;
691 int k_min_values_fcM;
692 int k_max_values_fcM;
708 unsigned long ***N_F5;
709 unsigned long ***N_C;
710 unsigned long ***N_M;
711 unsigned long ***N_M1;
757 short *reference_pt1;
758 short *reference_pt2;
769 unsigned int seq_length;
787 int **l_min_values_b;
788 int **l_max_values_b;
792 int **l_min_values_m;
793 int **l_max_values_m;
797 int **l_min_values_m1;
798 int **l_max_values_m1;
799 int *k_min_values_m1;
800 int *k_max_values_m1;
802 int **l_min_values_m2;
803 int **l_max_values_m2;
804 int *k_min_values_m2;
805 int *k_max_values_m2;
807 int *l_min_values_qc;
808 int *l_max_values_qc;
812 int *l_min_values_qcH;
813 int *l_max_values_qcH;
814 int k_min_values_qcH;
815 int k_max_values_qcH;
817 int *l_min_values_qcI;
818 int *l_max_values_qcI;
819 int k_min_values_qcI;
820 int k_max_values_qcI;
822 int *l_min_values_qcM;
823 int *l_max_values_qcM;
824 int k_min_values_qcM;
825 int k_max_values_qcM;
831 FLT_OR_DBL *Q_M1_rem;
832 FLT_OR_DBL *Q_M2_rem;
int l
Distance to second reference.
Definition: data_structures.h:595
Definition: data_structures.h:509
double temperature
Temperature used for loop contribution scaling.
Definition: data_structures.h:278
double FAB
all states with DuplexInit correction
Definition: data_structures.h:335
int w
longest unpaired region
Definition: data_structures.h:434
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition: data_structures.h:615
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition: data_structures.h:612
unsigned j
nucleotide position j
Definition: data_structures.h:377
char ** header
header line
Definition: data_structures.h:460
int contribs
[-c "SHIME"]
Definition: data_structures.h:459
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition: data_structures.h:622
#define MAXLOOP
Definition: energy_const.h:28
Base pair with associated energy.
Definition: data_structures.h:92
float en
Free energy in kcal/mol.
Definition: data_structures.h:596
short * S1
The input sequences in numeric form.
Definition: data_structures.h:610
Definition: data_structures.h:332
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition: data_structures.h:618
paramT * P
Precomputed energy parameters and model details.
Definition: data_structures.h:606
double FcAB
true hybrid states only
Definition: data_structures.h:336
char * ptype
Precomputed array of pair types.
Definition: data_structures.h:742
int special_hp
Include special hairpin contributions for tri, tetra and hexaloops.
Definition: data_structures.h:109
int circ
backward compatibility variable.. this does not effect anything
Solution element returned from TwoDpfoldList.
Definition: data_structures.h:727
Definition: data_structures.h:394
double * Gi
free energies of interaction
Definition: data_structures.h:442
float energy
Free Energy of structure in kcal/mol.
Definition: data_structures.h:319
The datastructure that contains temperature scaled energy parameters.
Definition: data_structures.h:122
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition: data_structures.h:760
float p
Probability.
Definition: data_structures.h:378
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition: data_structures.h:746
Definition: data_structures.h:518
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition: data_structures.h:754
model_detailsT model_details
Model details to be used in the recursions.
Definition: data_structures.h:196
double FB
monomer B
Definition: data_structures.h:338
#define NNUCLEOTIDES_HYBRID
Definition: energy_const.h:36
char * s
MFE representative structure in dot-bracket notation.
Definition: data_structures.h:597
The datastructure that contains temperature scaled Boltzmann weights of the energy parameters...
Definition: data_structures.h:203
char * ptype
Precomputed array of pair types.
Definition: data_structures.h:608
int length
length of longer sequence
Definition: data_structures.h:450
Collection of all free_energy of beeing unpaired values for output.
Definition: data_structures.h:456
double Gikjl
full free energy for interaction between [k,i] k
Definition: data_structures.h:443
int noGU
Do not allow GU pairs.
Definition: data_structures.h:111
Definition: data_structures.h:552
double ** I
interior loops
Definition: data_structures.h:430
Solution element from subopt.c.
Definition: data_structures.h:318
double ** M
multi loops
Definition: data_structures.h:431
constraints for cofolding
Definition: data_structures.h:467
Definition: data_structures.h:481
int canonicalBPonly
remove non-canonical bp's from constraint structures
Definition: data_structures.h:116
int noGUclosure
Do not allow loops to be closed by GU pair.
Definition: data_structures.h:112
A base pair info structure.
Definition: data_structures.h:375
this datastructure is used as input parameter in functions of PS_dot.h and others ...
Definition: data_structures.h:48
double q
partition function
Definition: data_structures.h:730
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,j].
Definition: data_structures.h:762
double ** H
hairpin loops
Definition: data_structures.h:429
int gquad
Include G-quadruplexes in structure prediction.
Definition: data_structures.h:115
int gquad
Allow G-quadruplex formation.
Variables compound for 2Dfold MFE folding.
Definition: data_structures.h:605
double F0AB
Null model without DuplexInit.
Definition: data_structures.h:334
int dangles
Specifies the dangle model used in any energy evaluation (0,1,2 or 3)
Definition: data_structures.h:103
int k
k
Definition: data_structures.h:447
char * sequence
The input sequence.
Definition: data_structures.h:609
double A0
start concentration A
Definition: data_structures.h:345
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition: data_structures.h:745
Sequence interval stack element used in subopt.c.
Definition: data_structures.h:309
Definition: data_structures.h:440
int l
j
Definition: data_structures.h:449
double ABc
End concentration AB.
Definition: data_structures.h:347
double alpha
Scaling factor for the thermodynamic temperature.
Definition: data_structures.h:279
#define NBPAIRS_HYBRID
Definition: energy_const.h:34
double ** u_values
(the -u values * [-c "SHIME"]) * seq len
Definition: data_structures.h:461
Base pair.
Definition: data_structures.h:84
int l
Distance to second reference.
Definition: data_structures.h:729
int logML
Use logarithmic scaling for multi loops.
Definition: data_structures.h:113
Stack of partial structures for backtracking.
Definition: data_structures.h:75
double ** E
exterior loop
Definition: data_structures.h:432
int len
sequence length
Definition: data_structures.h:457
int k
Distance to first reference.
Definition: data_structures.h:728
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition: data_structures.h:616
this datastructure is used as input parameter in functions of PS_dot.c
Definition: data_structures.h:58
int i
k
Definition: data_structures.h:446
Definition: data_structures.h:414
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition: data_structures.h:764
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,j].
Definition: data_structures.h:624
int length
length of the input sequence
Definition: data_structures.h:433
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:623
double Gikjl_wo
Gikjl without contributions for prob_unpaired.
Definition: data_structures.h:445
int noLP
Only consider canonical structures, i.e. no 'lonely' base pairs.
Definition: data_structures.h:110
int j
j
Definition: data_structures.h:448
The data structure that contains the complete model details used throughout the calculations.
Definition: data_structures.h:102
Base pair data structure used in subopt.c.
Definition: data_structures.h:301
double * Pi
probabilities of interaction
Definition: data_structures.h:441
int * jindx
Index for moving in the triangular matrix qm1.
Definition: data_structures.h:755
int circ
Assume molecule to be circular.
Definition: data_structures.h:114
int do_backtrack
Flag whether to do backtracing of the structure(s) or not.
Definition: data_structures.h:607
unsigned i
nucleotide position i
Definition: data_structures.h:376
int dangles
Switch the energy model for dangling end contributions (0, 1, 2, 3)
int k
Distance to first reference.
Definition: data_structures.h:594
short * S1
The input sequences in numeric form.
Definition: data_structures.h:744
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition: data_structures.h:611
contributions to p_u
Definition: data_structures.h:428
Definition: data_structures.h:357
double pf_scale
Scaling factor to avoid over-/underflows.
Definition: data_structures.h:276
float ent
Pseudo entropy for .
Definition: data_structures.h:379
char * sequence
The input sequence.
Definition: data_structures.h:743
double B0
start concentration B
Definition: data_structures.h:346
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition: data_structures.h:765
model_detailsT model_details
Model details to be used in the recursions.
Definition: data_structures.h:286
unsigned int * referenceBPs2
Matrix containing number of basepairs of reference structure2 in interval [i,j].
Definition: data_structures.h:761
Definition: data_structures.h:344
Solution element returned from TwoDfoldList.
Definition: data_structures.h:593
int u_vals
number of different -u values
Definition: data_structures.h:458
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:67
double FA
monomer A
Definition: data_structures.h:337
char * structure
Structure in dot-bracket notation.
Definition: data_structures.h:320
char comp
1 iff pair is in mfe structure
Definition: data_structures.h:381
Variables compound for 2Dfold partition function folding.
Definition: data_structures.h:739