RNAlib-2.4.8
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 
36 typedef struct vrna_param_s vrna_param_t;
39 
42 #include <ViennaRNA/model.h>
43 
44 #define VRNA_GQUAD_MAX_STACK_SIZE 7
45 #define VRNA_GQUAD_MIN_STACK_SIZE 2
46 #define VRNA_GQUAD_MAX_LINKER_LENGTH 15
47 #define VRNA_GQUAD_MIN_LINKER_LENGTH 1
48 #define VRNA_GQUAD_MIN_BOX_SIZE ((4 * VRNA_GQUAD_MIN_STACK_SIZE) + \
49  (3 * VRNA_GQUAD_MIN_LINKER_LENGTH))
50 #define VRNA_GQUAD_MAX_BOX_SIZE ((4 * VRNA_GQUAD_MAX_STACK_SIZE) + \
51  (3 * VRNA_GQUAD_MAX_LINKER_LENGTH))
52 
56 struct vrna_param_s {
57  int id;
58  int stack[NBPAIRS + 1][NBPAIRS + 1];
59  int hairpin[31];
60  int bulge[MAXLOOP + 1];
61  int internal_loop[MAXLOOP + 1];
62  int mismatchExt[NBPAIRS + 1][5][5];
63  int mismatchI[NBPAIRS + 1][5][5];
64  int mismatch1nI[NBPAIRS + 1][5][5];
65  int mismatch23I[NBPAIRS + 1][5][5];
66  int mismatchH[NBPAIRS + 1][5][5];
67  int mismatchM[NBPAIRS + 1][5][5];
68  int dangle5[NBPAIRS + 1][5];
69  int dangle3[NBPAIRS + 1][5];
70  int int11[NBPAIRS + 1][NBPAIRS + 1][5][5];
71  int int21[NBPAIRS + 1][NBPAIRS + 1][5][5][5];
72  int int22[NBPAIRS + 1][NBPAIRS + 1][5][5][5][5];
73  int ninio[5];
74  double lxc;
75  int MLbase;
76  int MLintern[NBPAIRS + 1];
77  int MLclosing;
78  int TerminalAU;
79  int DuplexInit;
80  int Tetraloop_E[200];
81  char Tetraloops[1401];
82  int Triloop_E[40];
83  char Triloops[241];
84  int Hexaloop_E[40];
85  char Hexaloops[1801];
86  int TripleC;
87  int MultipleCA;
88  int MultipleCB;
89  int gquad [VRNA_GQUAD_MAX_STACK_SIZE + 1]
90  [3 * VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
91 
92  double temperature;
95  char param_file[256];
96 };
97 
102  int id;
105  double expstack[NBPAIRS + 1][NBPAIRS + 1];
106  double exphairpin[31];
107  double expbulge[MAXLOOP + 1];
108  double expinternal[MAXLOOP + 1];
109  double expmismatchExt[NBPAIRS + 1][5][5];
110  double expmismatchI[NBPAIRS + 1][5][5];
111  double expmismatch23I[NBPAIRS + 1][5][5];
112  double expmismatch1nI[NBPAIRS + 1][5][5];
113  double expmismatchH[NBPAIRS + 1][5][5];
114  double expmismatchM[NBPAIRS + 1][5][5];
115  double expdangle5[NBPAIRS + 1][5];
116  double expdangle3[NBPAIRS + 1][5];
117  double expint11[NBPAIRS + 1][NBPAIRS + 1][5][5];
118  double expint21[NBPAIRS + 1][NBPAIRS + 1][5][5][5];
119  double expint22[NBPAIRS + 1][NBPAIRS + 1][5][5][5][5];
120  double expninio[5][MAXLOOP + 1];
121  double lxc;
122  double expMLbase;
123  double expMLintern[NBPAIRS + 1];
124  double expMLclosing;
125  double expTermAU;
126  double expDuplexInit;
127  double exptetra[40];
128  double exptri[40];
129  double exphex[40];
130  char Tetraloops[1401];
131  double expTriloop[40];
132  char Triloops[241];
133  char Hexaloops[1801];
134  double expTripleC;
135  double expMultipleCA;
136  double expMultipleCB;
137  double expgquad[VRNA_GQUAD_MAX_STACK_SIZE + 1]
138  [3 * VRNA_GQUAD_MAX_LINKER_LENGTH + 1];
139 
140  double kT;
141  double pf_scale;
143  double temperature;
144  double alpha;
152  char param_file[256];
153 };
154 
155 
167 vrna_param_t *
169 
170 
182 vrna_param_t *
184 
185 
210 
211 
226 vrna_exp_params_comparative(unsigned int n_seq,
227  vrna_md_t *md);
228 
229 
243 
244 
257 void
259  vrna_param_t *par);
260 
261 
279 void
281  vrna_exp_param_t *params);
282 
283 
321 void
323  double *mfe);
324 
325 
340  vrna_md_t *md_p);
341 
342 
358  vrna_md_t *md_p);
359 
360 
361 void vrna_params_prepare(vrna_fold_compound_t *vc,
362  unsigned int options);
363 
364 
365 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
366 
371 typedef struct vrna_param_s paramT;
372 
378 
379 DEPRECATED(vrna_param_t *get_parameter_copy(vrna_param_t *par),
380 "Use vrna_params_copy() instead");
381 
392 "Use vrna_params() instead");
393 
420  double betaScale,
421  vrna_md_t md,
422  double pf_scale),
423 "Use vrna_exp_params() instead");
424 
436 "Use vrna_exp_params_copy() instead");
437 
445 DEPRECATED(vrna_exp_param_t *get_scaled_alipf_parameters(unsigned int n_seq),
446 "Use vrna_exp_params_comparative() instead");
447 
456 DEPRECATED(vrna_exp_param_t *get_boltzmann_factors_ali(unsigned int n_seq,
457  double temperature,
458  double betaScale,
459  vrna_md_t md,
460  double pf_scale),
461 "Use vrna_exp_params_comparative() instead");
462 
474 DEPRECATED(vrna_param_t *scale_parameters(void),
475 "Use vrna_params() instead");
476 
494  vrna_md_t md),
495 "Usee vrna_params() instead");
496 
497 DEPRECATED(vrna_param_t *copy_parameters(void), "Use vrna_params_copy() instead");
498 DEPRECATED(vrna_param_t *set_parameters(vrna_param_t *dest), "Use vrna_params_copy() instead");
499 DEPRECATED(vrna_exp_param_t *scale_pf_parameters(void), "Use vrna_exp_params() instead");
500 DEPRECATED(vrna_exp_param_t *copy_pf_param(void), "Use vrna_exp_params_copy() instead");
501 DEPRECATED(vrna_exp_param_t *set_pf_param(vrna_param_t *dest), "Use vrna_exp_params_copy() instead");
502 
503 #endif
504 
510 #endif
vrna_param_t * vrna_params(vrna_md_t *md)
Get a data structure containing prescaled free energy parameters.
vrna_param_t * get_scaled_parameters(double temperature, vrna_md_t md)
Get precomputed energy contributions for all the known loop types.
vrna_md_t model_details
Model details to be used in the recursions.
Definition: basic.h:94
#define NBPAIRS
Definition: constants.h:25
double pf_scale
Scaling factor to avoid over-/underflows.
Definition: basic.h:141
Energy parameter constants.
vrna_md_t model_details
Model details to be used in the recursions.
Definition: basic.h:151
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:132
double temperature
Temperature used for loop contribution scaling.
Definition: basic.h:143
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) ...
double temperature
Rescale energy parameters to a temperature in degC.
The model details data structure and its corresponding modifiers.
The datastructure that contains temperature scaled energy parameters.
Definition: basic.h:56
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) ...
void vrna_exp_params_subst(vrna_fold_compound_t *vc, vrna_exp_param_t *params)
Update the energy parameters for subsequent partition function computations.
#define MAXLOOP
Definition: constants.h:29
char param_file[256]
The filename the parameters were derived from, or empty string if they represent the default...
Definition: basic.h:152
char param_file[256]
The filename the parameters were derived from, or empty string if they represent the default...
Definition: basic.h:95
vrna_param_t * vrna_params_copy(vrna_param_t *par)
Get a copy of the provided free energy parameters.
Various data structures and pre-processor macros.
void vrna_exp_params_rescale(vrna_fold_compound_t *vc, double *mfe)
Rescale Boltzmann factors for partition function computations.
The data structure that contains the complete model details used throughout the calculations.
Definition: model.h:177
double alpha
Scaling factor for the thermodynamic temperature.
Definition: basic.h:144
The data structure that contains temperature scaled Boltzmann weights of the energy parameters...
Definition: basic.h:101
double pf_scale
A scaling factor used by pf_fold() to avoid overflows.
vrna_exp_param_t * get_scaled_pf_parameters(void)
double temperature
Temperature used for loop contribution scaling.
Definition: basic.h:92
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_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...
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 * 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 * 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...
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...
int id
An identifier for the data structure.
Definition: basic.h:102
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_param_t * scale_parameters(void)
Get precomputed energy contributions for all the known loop types.
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.