RNAlib-2.5.1
basic.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_PARAMS_H
2#define VIENNA_RNA_PACKAGE_PARAMS_H
3
4#ifdef VRNA_WARN_DEPRECATED
5# if defined(__clang__)
6# define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
7# elif defined(__GNUC__)
8# define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
9# else
10# define DEPRECATED(func, msg) func
11# endif
12#else
13# define DEPRECATED(func, msg) func
14#endif
15
39
43#include <ViennaRNA/model.h>
44
45#define VRNA_GQUAD_MAX_STACK_SIZE 7
46#define VRNA_GQUAD_MIN_STACK_SIZE 2
47#define VRNA_GQUAD_MAX_LINKER_LENGTH 15
48#define VRNA_GQUAD_MIN_LINKER_LENGTH 1
49#define VRNA_GQUAD_MIN_BOX_SIZE ((4 * VRNA_GQUAD_MIN_STACK_SIZE) + \
50 (3 * VRNA_GQUAD_MIN_LINKER_LENGTH))
51#define VRNA_GQUAD_MAX_BOX_SIZE ((4 * VRNA_GQUAD_MAX_STACK_SIZE) + \
52 (3 * VRNA_GQUAD_MAX_LINKER_LENGTH))
53
58 int id;
59 int stack[NBPAIRS + 1][NBPAIRS + 1];
60 int hairpin[31];
61 int bulge[MAXLOOP + 1];
62 int internal_loop[MAXLOOP + 1];
63 int mismatchExt[NBPAIRS + 1][5][5];
64 int mismatchI[NBPAIRS + 1][5][5];
65 int mismatch1nI[NBPAIRS + 1][5][5];
66 int mismatch23I[NBPAIRS + 1][5][5];
67 int mismatchH[NBPAIRS + 1][5][5];
68 int mismatchM[NBPAIRS + 1][5][5];
69 int dangle5[NBPAIRS + 1][5];
70 int dangle3[NBPAIRS + 1][5];
71 int int11[NBPAIRS + 1][NBPAIRS + 1][5][5];
72 int int21[NBPAIRS + 1][NBPAIRS + 1][5][5][5];
73 int int22[NBPAIRS + 1][NBPAIRS + 1][5][5][5][5];
74 int ninio[5];
75 double lxc;
76 int MLbase;
77 int MLintern[NBPAIRS + 1];
78 int MLclosing;
79 int TerminalAU;
80 int DuplexInit;
81 int Tetraloop_E[200];
82 char Tetraloops[1401];
83 int Triloop_E[40];
84 char Triloops[241];
85 int Hexaloop_E[40];
86 char Hexaloops[1801];
87 int TripleC;
88 int MultipleCA;
89 int MultipleCB;
90 int gquad[VRNA_GQUAD_MAX_STACK_SIZE + 1][3 * VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
91 int gquadLayerMismatch;
92 int gquadLayerMismatchMax;
93
94 double temperature;
97 char param_file[256];
98};
99
104 int id;
107 double expstack[NBPAIRS + 1][NBPAIRS + 1];
108 double exphairpin[31];
109 double expbulge[MAXLOOP + 1];
110 double expinternal[MAXLOOP + 1];
111 double expmismatchExt[NBPAIRS + 1][5][5];
112 double expmismatchI[NBPAIRS + 1][5][5];
113 double expmismatch23I[NBPAIRS + 1][5][5];
114 double expmismatch1nI[NBPAIRS + 1][5][5];
115 double expmismatchH[NBPAIRS + 1][5][5];
116 double expmismatchM[NBPAIRS + 1][5][5];
117 double expdangle5[NBPAIRS + 1][5];
118 double expdangle3[NBPAIRS + 1][5];
119 double expint11[NBPAIRS + 1][NBPAIRS + 1][5][5];
120 double expint21[NBPAIRS + 1][NBPAIRS + 1][5][5][5];
121 double expint22[NBPAIRS + 1][NBPAIRS + 1][5][5][5][5];
122 double expninio[5][MAXLOOP + 1];
123 double lxc;
124 double expMLbase;
125 double expMLintern[NBPAIRS + 1];
126 double expMLclosing;
127 double expTermAU;
128 double expDuplexInit;
129 double exptetra[40];
130 double exptri[40];
131 double exphex[40];
132 char Tetraloops[1401];
133 double expTriloop[40];
134 char Triloops[241];
135 char Hexaloops[1801];
136 double expTripleC;
137 double expMultipleCA;
138 double expMultipleCB;
139 double expgquad[VRNA_GQUAD_MAX_STACK_SIZE + 1][3 * VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
140 double expgquadLayerMismatch;
141 int gquadLayerMismatchMax;
142
143 double kT;
144 double pf_scale;
146 double temperature;
147 double alpha;
155 char param_file[256];
156};
157
158
172
173
187
188
213
214
230 vrna_md_t *md);
231
232
246
247
260void
262 vrna_param_t *par);
263
264
282void
284 vrna_exp_param_t *params);
285
286
324void
326 double *mfe);
327
328
342void
344 vrna_md_t *md_p);
345
346
361void
363 vrna_md_t *md_p);
364
365
366void
367vrna_params_prepare(vrna_fold_compound_t *vc,
368 unsigned int options);
369
370
371#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
372
377typedef struct vrna_param_s paramT;
378
384
385DEPRECATED(vrna_param_t *get_parameter_copy(vrna_param_t *par),
386 "Use vrna_params_copy() instead");
387
398 "Use vrna_params() instead");
399
426 double betaScale,
427 vrna_md_t md,
428 double pf_scale),
429 "Use vrna_exp_params() instead");
430
442 "Use vrna_exp_params_copy() instead");
443
451DEPRECATED(vrna_exp_param_t *get_scaled_alipf_parameters(unsigned int n_seq),
452 "Use vrna_exp_params_comparative() instead");
453
462DEPRECATED(vrna_exp_param_t *get_boltzmann_factors_ali(unsigned int n_seq,
463 double temperature,
464 double betaScale,
465 vrna_md_t md,
466 double pf_scale),
467 "Use vrna_exp_params_comparative() instead");
468
480DEPRECATED(vrna_param_t *scale_parameters(void),
481 "Use vrna_params() instead");
482
500 vrna_md_t md),
501 "Usee vrna_params() instead");
502
503DEPRECATED(vrna_param_t *copy_parameters(void), "Use vrna_params_copy() instead");
504DEPRECATED(vrna_param_t *set_parameters(vrna_param_t *dest), "Use vrna_params_copy() instead");
505DEPRECATED(vrna_exp_param_t *scale_pf_parameters(void), "Use vrna_exp_params() instead");
506DEPRECATED(vrna_exp_param_t *copy_pf_param(void), "Use vrna_exp_params_copy() instead");
507DEPRECATED(vrna_exp_param_t *set_pf_param(vrna_param_t *dest),
508 "Use vrna_exp_params_copy() instead");
509
510#endif
511
517#endif
Energy parameter constants.
#define NBPAIRS
Definition: constants.h:25
#define MAXLOOP
Definition: constants.h:29
Various data structures and pre-processor macros.
The Basic Fold Compound API.
int id
An identifier for the data structure.
Definition: basic.h:104
double pf_scale
Scaling factor to avoid over-/underflows.
Definition: basic.h:144
double temperature
Temperature used for loop contribution scaling.
Definition: basic.h:146
double alpha
Scaling factor for the thermodynamic temperature.
Definition: basic.h:147
vrna_md_t model_details
Model details to be used in the recursions.
Definition: basic.h:96
char param_file[256]
The filename the parameters were derived from, or empty string if they represent the default.
Definition: basic.h:155
vrna_md_t model_details
Model details to be used in the recursions.
Definition: basic.h:154
char param_file[256]
The filename the parameters were derived from, or empty string if they represent the default.
Definition: basic.h:97
double temperature
Temperature used for loop contribution scaling.
Definition: basic.h:94
vrna_exp_param_t * get_boltzmann_factors_ali(unsigned int n_seq, double temperature, double betaScale, vrna_md_t md, double pf_scale)
Get precomputed Boltzmann factors of the loop type dependent energy contributions (alifold variant) w...
vrna_exp_param_t * vrna_exp_params(vrna_md_t *md)
Get a data structure containing prescaled free energy parameters already transformed to Boltzmann fac...
vrna_exp_param_t * get_scaled_pf_parameters(void)
vrna_exp_param_t * get_scaled_alipf_parameters(unsigned int n_seq)
Get precomputed Boltzmann factors of the loop type dependent energy contributions (alifold variant)
vrna_param_t * vrna_params_copy(vrna_param_t *par)
Get a copy of the provided free energy parameters.
vrna_exp_param_t * get_boltzmann_factor_copy(vrna_exp_param_t *parameters)
Get a copy of already precomputed Boltzmann factors.
vrna_exp_param_t * vrna_exp_params_copy(vrna_exp_param_t *par)
Get a copy of the provided free energy parameters (provided as Boltzmann factors)
vrna_param_t * vrna_params(vrna_md_t *md)
Get a data structure containing prescaled free energy parameters.
void vrna_params_subst(vrna_fold_compound_t *vc, vrna_param_t *par)
Update/Reset energy parameters data structure within a vrna_fold_compound_t.
vrna_param_t * scale_parameters(void)
Get precomputed energy contributions for all the known loop types.
vrna_exp_param_t * vrna_exp_params_comparative(unsigned int n_seq, vrna_md_t *md)
Get a data structure containing prescaled free energy parameters already transformed to Boltzmann fac...
void vrna_exp_params_subst(vrna_fold_compound_t *vc, vrna_exp_param_t *params)
Update the energy parameters for subsequent partition function computations.
void vrna_exp_params_reset(vrna_fold_compound_t *vc, vrna_md_t *md_p)
Reset Boltzmann factors for partition function computations within a vrna_fold_compound_t according t...
void vrna_params_reset(vrna_fold_compound_t *vc, vrna_md_t *md_p)
Reset free energy parameters within a vrna_fold_compound_t according to provided, or default model de...
vrna_param_t * get_scaled_parameters(double temperature, vrna_md_t md)
Get precomputed energy contributions for all the known loop types.
void vrna_exp_params_rescale(vrna_fold_compound_t *vc, double *mfe)
Rescale Boltzmann factors for partition function computations.
vrna_exp_param_t * get_boltzmann_factors(double temperature, double betaScale, vrna_md_t md, double pf_scale)
Get precomputed Boltzmann factors of the loop type dependent energy contributions with independent th...
The data structure that contains temperature scaled Boltzmann weights of the energy parameters.
Definition: basic.h:103
The datastructure that contains temperature scaled energy parameters.
Definition: basic.h:57
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:148
double temperature
Rescale energy parameters to a temperature in degC.
double pf_scale
A scaling factor used by pf_fold() to avoid overflows.
The data structure that contains the complete model details used throughout the calculations.
Definition: model.h:180
The model details data structure and its corresponding modifiers.