RNAlib-2.5.1
2Dfold.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_TWO_D_FOLD_H
2#define VIENNA_RNA_PACKAGE_TWO_D_FOLD_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
38
53typedef struct vrna_sol_TwoD_t {
54 int k;
55 int l;
56 float en;
57 char *s;
59
60
90 int distance1,
91 int distance2);
92
93
112char *
114 int k,
115 int l,
116 unsigned int j);
117
118
119#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
120
121#define TwoDfold_solution vrna_sol_TwoD_t /* restore compatibility of struct rename */
122
130typedef struct TwoDfold_vars {
133 char *ptype;
134 char *sequence;
135 short *S, *S1;
136 unsigned int maxD1;
137 unsigned int maxD2;
140 unsigned int *mm1;
141 unsigned int *mm2;
143 int *my_iindx;
145 double temperature;
146
147 unsigned int *referenceBPs1;
148 unsigned int *referenceBPs2;
149 unsigned int *bpdist;
151 short *reference_pt1;
152 short *reference_pt2;
153 int circ;
154 int dangles;
155 unsigned int seq_length;
156
157 int ***E_F5;
158 int ***E_F3;
159 int ***E_C;
160 int ***E_M;
161 int ***E_M1;
162 int ***E_M2;
163
164 int **E_Fc;
165 int **E_FcH;
166 int **E_FcI;
167 int **E_FcM;
168
169 int **l_min_values;
170 int **l_max_values;
171 int *k_min_values;
172 int *k_max_values;
173
174 int **l_min_values_m;
175 int **l_max_values_m;
176 int *k_min_values_m;
177 int *k_max_values_m;
178
179 int **l_min_values_m1;
180 int **l_max_values_m1;
181 int *k_min_values_m1;
182 int *k_max_values_m1;
183
184 int **l_min_values_f;
185 int **l_max_values_f;
186 int *k_min_values_f;
187 int *k_max_values_f;
188
189 int **l_min_values_f3;
190 int **l_max_values_f3;
191 int *k_min_values_f3;
192 int *k_max_values_f3;
193
194 int **l_min_values_m2;
195 int **l_max_values_m2;
196 int *k_min_values_m2;
197 int *k_max_values_m2;
198
199 int *l_min_values_fc;
200 int *l_max_values_fc;
201 int k_min_values_fc;
202 int k_max_values_fc;
203
204 int *l_min_values_fcH;
205 int *l_max_values_fcH;
206 int k_min_values_fcH;
207 int k_max_values_fcH;
208
209 int *l_min_values_fcI;
210 int *l_max_values_fcI;
211 int k_min_values_fcI;
212 int k_max_values_fcI;
213
214 int *l_min_values_fcM;
215 int *l_max_values_fcM;
216 int k_min_values_fcM;
217 int k_max_values_fcM;
218
219 /* auxilary arrays for remaining set of coarse graining (k,l) > (k_max, l_max) */
220 int *E_F5_rem;
221 int *E_F3_rem;
222 int *E_C_rem;
223 int *E_M_rem;
224 int *E_M1_rem;
225 int *E_M2_rem;
226
227 int E_Fc_rem;
228 int E_FcH_rem;
229 int E_FcI_rem;
230 int E_FcM_rem;
231
232#ifdef COUNT_STATES
233 unsigned long ***N_F5;
234 unsigned long ***N_C;
235 unsigned long ***N_M;
236 unsigned long ***N_M1;
237#endif
238
239 vrna_fold_compound_t *compatibility;
241
260DEPRECATED(TwoDfold_vars *
261 get_TwoDfold_variables(const char *seq,
262 const char *structure1,
263 const char *structure2,
264 int circ),
265 "Use the new API and corresponding functions vrna_fold_compound_TwoD(), etc. instead");
266
277DEPRECATED(void
279 "Use the new API and vrna_fold_compound_free() instead");
280
306DEPRECATED(TwoDfold_solution *
308 int distance1,
309 int distance2),
310 "Use the new API and vrna_mfe_TwoD() instead");
311
332DEPRECATED(char *TwoDfold_backtrack_f5(unsigned int j,
333 int k,
334 int l,
335 TwoDfold_vars *vars),
336 "Use the new API and vrna_backtrack5_TwoD() instead");
337
341DEPRECATED(TwoDfold_solution **TwoDfold(TwoDfold_vars *our_variables,
342 int distance1,
343 int distance2),
344 "Use the new API and vrna_mfe_TwoD() instead");
345
346
347#endif
348
353#endif
Various data structures and pre-processor macros.
The Basic Fold Compound API.
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
unsigned int maxD2
Maximum allowed base pair distance to second reference.
Definition: 2Dfold.h:137
int * my_iindx
Index for moving in quadratic distancy dimensions.
Definition: 2Dfold.h:143
unsigned int * mm2
Maximum matching matrix, reference struct 2 disallowed.
Definition: 2Dfold.h:141
char * sequence
The input sequence
Definition: 2Dfold.h:134
unsigned int * referenceBPs1
Matrix containing number of basepairs of reference structure1 in interval [i,j].
Definition: 2Dfold.h:147
unsigned int maxD1
Maximum allowed base pair distance to first reference.
Definition: 2Dfold.h:136
vrna_param_t * P
Precomputed energy parameters and model details.
Definition: 2Dfold.h:131
float en
Free energy in kcal/mol.
Definition: 2Dfold.h:56
unsigned int * mm1
Maximum matching matrix, reference struct 1 disallowed.
Definition: 2Dfold.h:140
unsigned int * referenceBPs2
Matrix containing number of basepairs of reference structure2 in interval [i,j].
Definition: 2Dfold.h:148
int l
Distance to second reference.
Definition: 2Dfold.h:55
short * S1
The input sequences in numeric form.
Definition: 2Dfold.h:135
int k
Distance to first reference.
Definition: 2Dfold.h:54
char * s
MFE representative structure in dot-bracket notation.
Definition: 2Dfold.h:57
int do_backtrack
Flag whether to do backtracing of the structure(s) or not.
Definition: 2Dfold.h:132
char * ptype
Precomputed array of pair types.
Definition: 2Dfold.h:133
unsigned int * bpdist
Matrix containing base pair distance of reference structure 1 and 2 on interval [i,...
Definition: 2Dfold.h:149
void destroy_TwoDfold_variables(TwoDfold_vars *our_variables)
Destroy a TwoDfold_vars datastructure without memory loss.
vrna_sol_TwoD_t * vrna_mfe_TwoD(vrna_fold_compound_t *vc, int distance1, int distance2)
Compute MFE's and representative for distance partitioning.
vrna_sol_TwoD_t * TwoDfoldList(TwoDfold_vars *vars, int distance1, int distance2)
Compute MFE's and representative for distance partitioning.
struct vrna_sol_TwoD_t vrna_sol_TwoD_t
Solution element returned from vrna_mfe_TwoD()
char * vrna_backtrack5_TwoD(vrna_fold_compound_t *vc, int k, int l, unsigned int j)
Backtrack a minimum free energy structure from a 5' section of specified length.
char * TwoDfold_backtrack_f5(unsigned int j, int k, int l, TwoDfold_vars *vars)
Backtrack a minimum free energy structure from a 5' section of specified length.
TwoDfold_vars * get_TwoDfold_variables(const char *seq, const char *structure1, const char *structure2, int circ)
Get a structure of type TwoDfold_vars prefilled with current global settings.
struct TwoDfold_vars TwoDfold_vars
Variables compound for 2Dfold MFE folding.
Variables compound for 2Dfold MFE folding.
Definition: 2Dfold.h:130
Solution element returned from vrna_mfe_TwoD()
Definition: 2Dfold.h:53
int circ
backward compatibility variable.. this does not effect anything
Functions to deal with sets of energy parameters.