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];
404typedef struct intermediate {
487 double energy_backtrack;
488 double opening_backtrack_x;
489 double opening_backtrack_y;
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;
#define NBPAIRS_HYBRID
Definition energy_const.h:34
#define NNUCLEOTIDES_HYBRID
Definition energy_const.h:36
#define MAXLOOP
Definition energy_const.h:28
int gquad
Allow G-quadruplex formation.
int dangles
Switch the energy model for dangling end contributions (0, 1, 2, 3)
double temperature
Rescale energy parameters to a temperature in degC.
double pf_scale
A scaling factor used by pf_fold() to avoid overflows.
int circ
backward compatibility variable.. this does not effect anything
this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type COORD...
Definition data_structures.h:67
Definition data_structures.h:344
double ABc
End concentration AB.
Definition data_structures.h:347
double A0
start concentration A
Definition data_structures.h:345
double B0
start concentration B
Definition data_structures.h:346
Sequence interval stack element used in subopt.c.
Definition data_structures.h:309
Base pair data structure used in subopt.c.
Definition data_structures.h:301
Solution element from subopt.c.
Definition data_structures.h:318
float energy
Free Energy of structure in kcal/mol.
Definition data_structures.h:319
char * structure
Structure in dot-bracket notation.
Definition data_structures.h:320
Solution element returned from TwoDfoldList.
Definition data_structures.h:593
int k
Distance to first reference.
Definition data_structures.h:594
float en
Free energy in kcal/mol.
Definition data_structures.h:596
int l
Distance to second reference.
Definition data_structures.h:595
char * s
MFE representative structure in dot-bracket notation.
Definition data_structures.h:597
Variables compound for 2Dfold MFE folding.
Definition data_structures.h:605
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition data_structures.h:612
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition data_structures.h:618
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition data_structures.h:616
char * sequence
The input sequence
Definition data_structures.h:609
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition data_structures.h:622
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition data_structures.h:611
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition data_structures.h:615
unsigned int * referenceBPs2
Matrix containing number of basepairs of reference structure2 in interval [i,j].
Definition data_structures.h:623
short * S1
The input sequences in numeric form.
Definition data_structures.h:610
paramT * P
Precomputed energy parameters and model details.
Definition data_structures.h:606
int do_backtrack
Flag whether to do backtracing of the structure(s) or not.
Definition data_structures.h:607
char * ptype
Precomputed array of pair types.
Definition data_structures.h:608
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,...
Definition data_structures.h:624
Solution element returned from TwoDpfoldList.
Definition data_structures.h:727
int k
Distance to first reference.
Definition data_structures.h:728
int l
Distance to second reference.
Definition data_structures.h:729
double q
partition function
Definition data_structures.h:730
Variables compound for 2Dfold partition function folding.
Definition data_structures.h:739
int * jindx
Index for moving in the triangular matrix qm1.
Definition data_structures.h:755
unsigned int * referenceBPs2
Matrix containing number of basepairs of reference structure2 in interval [i,j].
Definition data_structures.h:761
short * S1
The input sequences in numeric form.
Definition data_structures.h:744
char * sequence
The input sequence
Definition data_structures.h:743
char * ptype
Precomputed array of pair types.
Definition data_structures.h:742
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition data_structures.h:745
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition data_structures.h:764
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition data_structures.h:746
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition data_structures.h:754
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,...
Definition data_structures.h:762
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition data_structures.h:760
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition data_structures.h:765
Base pair with associated energy.
Definition data_structures.h:92
Base pair.
Definition data_structures.h:84
Definition data_structures.h:332
double FAB
all states with DuplexInit correction
Definition data_structures.h:335
double FA
monomer A
Definition data_structures.h:337
double FcAB
true hybrid states only
Definition data_structures.h:336
double FB
monomer B
Definition data_structures.h:338
double F0AB
Null model without DuplexInit.
Definition data_structures.h:334
constraints for cofolding
Definition data_structures.h:467
this datastructure is used as input parameter in functions of PS_dot.c
Definition data_structures.h:58
Definition data_structures.h:552
Definition data_structures.h:481
Definition data_structures.h:509
Definition data_structures.h:440
int l
j<l in shorter seq
Definition data_structures.h:449
double * Pi
probabilities of interaction
Definition data_structures.h:441
double Gikjl_wo
Gikjl without contributions for prob_unpaired.
Definition data_structures.h:445
double * Gi
free energies of interaction
Definition data_structures.h:442
int k
k<i in longer seq
Definition data_structures.h:447
int j
j<l in shorter seq
Definition data_structures.h:448
int i
k<i in longer seq
Definition data_structures.h:446
int length
length of longer sequence
Definition data_structures.h:450
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:443
The data structure that contains the complete model details used throughout the calculations.
Definition data_structures.h:102
int noGU
Do not allow GU pairs.
Definition data_structures.h:111
int canonicalBPonly
remove non-canonical bp's from constraint structures
Definition data_structures.h:116
int logML
Use logarithmic scaling for multi loops.
Definition data_structures.h:113
int circ
Assume molecule to be circular.
Definition data_structures.h:114
int noLP
Only consider canonical structures, i.e. no 'lonely' base pairs.
Definition data_structures.h:110
int dangles
Specifies the dangle model used in any energy evaluation (0,1,2 or 3)
Definition data_structures.h:103
int special_hp
Include special hairpin contributions for tri, tetra and hexaloops.
Definition data_structures.h:109
int gquad
Include G-quadruplexes in structure prediction.
Definition data_structures.h:115
int noGUclosure
Do not allow loops to be closed by GU pair.
Definition data_structures.h:112
Definition data_structures.h:394
A base pair info structure.
Definition data_structures.h:375
unsigned j
nucleotide position j
Definition data_structures.h:377
char comp
1 iff pair is in mfe structure
Definition data_structures.h:381
unsigned i
nucleotide position i
Definition data_structures.h:376
float ent
Pseudo entropy for .
Definition data_structures.h:379
float p
Probability.
Definition data_structures.h:378
Definition data_structures.h:357
The datastructure that contains temperature scaled energy parameters.
Definition data_structures.h:122
model_detailsT model_details
Model details to be used in the recursions.
Definition data_structures.h:196
Definition data_structures.h:414
The datastructure that contains temperature scaled Boltzmann weights of the energy parameters.
Definition data_structures.h:203
double alpha
Scaling factor for the thermodynamic temperature.
Definition data_structures.h:279
model_detailsT model_details
Model details to be used in the recursions.
Definition data_structures.h:286
double temperature
Temperature used for loop contribution scaling.
Definition data_structures.h:278
double pf_scale
Scaling factor to avoid over-/underflows.
Definition data_structures.h:276
this datastructure is used as input parameter in functions of PS_dot.h and others
Definition data_structures.h:48
contributions to p_u
Definition data_structures.h:428
double ** M
multi loops
Definition data_structures.h:431
int length
length of the input sequence
Definition data_structures.h:433
int w
longest unpaired region
Definition data_structures.h:434
double ** I
interior loops
Definition data_structures.h:430
double ** H
hairpin loops
Definition data_structures.h:429
double ** E
exterior loop
Definition data_structures.h:432
Collection of all free_energy of beeing unpaired values for output.
Definition data_structures.h:456
int len
sequence length
Definition data_structures.h:457
double ** u_values
(the -u values * [-c "SHIME"]) * seq len
Definition data_structures.h:461
int contribs
[-c "SHIME"]
Definition data_structures.h:459
int u_vals
number of different -u values
Definition data_structures.h:458
char ** header
header line
Definition data_structures.h:460
Stack of partial structures for backtracking.
Definition data_structures.h:75
Definition data_structures.h:518