RNAlib-2.4.5
fold.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_FOLD_H
2 #define VIENNA_RNA_PACKAGE_FOLD_H
3 
5 #include <ViennaRNA/params.h>
6 #include <ViennaRNA/mfe.h>
7 #include <ViennaRNA/eval.h>
8 
9 #ifdef VRNA_WARN_DEPRECATED
10 # if defined(__clang__)
11 # define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
12 # elif defined(__GNUC__)
13 # define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
14 # else
15 # define DEPRECATED(func, msg) func
16 # endif
17 #else
18 # define DEPRECATED(func, msg) func
19 #endif
20 
55 float
56 vrna_fold(const char *sequence,
57  char *structure);
58 
81 float
82 vrna_circfold(const char *sequence,
83  char *structure);
84 
85 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
86 
130 DEPRECATED(float
131 fold_par( const char *sequence,
132  char *structure,
133  vrna_param_t *parameters,
134  int is_constrained,
135  int is_circular),
136 "Use the new API and vrna_mfe() instead");
137 
154 DEPRECATED(float fold( const char *sequence, char *structure),
155 "Use vrna_fold() or vrna_mfe() instead");
156 
173 DEPRECATED(float circfold( const char *sequence, char *structure),
174 "Use vrna_circfold() or vrna_mfe() instead");
175 
176 
183 DEPRECATED(void free_arrays(void),
184 "This function is obsolete");
185 
186 
187 
194 DEPRECATED(void update_fold_params(void),
195 "This function is obsolete");
196 
203 DEPRECATED(void update_fold_params_par(vrna_param_t *parameters),
204 "Use the new API with vrna_fold_compound_t datastructure instead");
205 
211 DEPRECATED(void
212 export_fold_arrays( int **f5_p,
213  int **c_p,
214  int **fML_p,
215  int **fM1_p,
216  int **indx_p,
217  char **ptype_p),
218 "Use the new API with vrna_fold_compound_t datastructure instead");
219 
225 DEPRECATED(void
226 export_fold_arrays_par( int **f5_p,
227  int **c_p,
228  int **fML_p,
229  int **fM1_p,
230  int **indx_p,
231  char **ptype_p,
232  vrna_param_t **P_p),
233 "Use the new API with vrna_fold_compound_t datastructure instead");
234 
240 DEPRECATED(void
241 export_circfold_arrays( int *Fc_p,
242  int *FcH_p,
243  int *FcI_p,
244  int *FcM_p,
245  int **fM2_p,
246  int **f5_p,
247  int **c_p,
248  int **fML_p,
249  int **fM1_p,
250  int **indx_p,
251  char **ptype_p),
252 "Use the new API with vrna_fold_compound_t datastructure instead");
253 
259 DEPRECATED(void
260 export_circfold_arrays_par( int *Fc_p,
261  int *FcH_p,
262  int *FcI_p,
263  int *FcM_p,
264  int **fM2_p,
265  int **f5_p,
266  int **c_p,
267  int **fML_p,
268  int **fM1_p,
269  int **indx_p,
270  char **ptype_p,
271  vrna_param_t **P_p),
272 "Use the new API with vrna_fold_compound_t datastructure instead");
273 
274 
275 
276 /* finally moved the loop energy function declarations to this header... */
277 /* BUT: The functions only exist for backward compatibility reasons! */
278 /* You better include "loop_energies.h" and call the functions: */
279 /* E_Hairpin() and E_IntLoop() which are (almost) threadsafe as they get */
280 /* a pointer to the energy parameter data structure as additional argument */
281 
286 DEPRECATED(int LoopEnergy(int n1,
287  int n2,
288  int type,
289  int type_2,
290  int si1,
291  int sj1,
292  int sp1,
293  int sq1),
294 "This function is obsolete");
295 
300 DEPRECATED(int HairpinE(int size,
301  int type,
302  int si1,
303  int sj1,
304  const char *string),
305 "Use E_Hairpin() instead");
306 
312 DEPRECATED(void initialize_fold(int length),
313 "This function is obsolete");
314 
318 DEPRECATED(char *backtrack_fold_from_pair(char *sequence,
319  int i,
320  int j),
321 "This function is obsolete. Consider using vrna_backtrack_from_intervals() instead");
322 
323 
324 #endif
325 
330 #endif
void free_arrays(void)
Free arrays for mfe folding.
int HairpinE(int size, int type, int si1, int sj1, const char *string)
void update_fold_params_par(vrna_param_t *parameters)
Recalculate energy parameters.
void initialize_fold(int length)
float vrna_circfold(const char *sequence, char *structure)
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for a circular RNA sequenc...
float circfold(const char *sequence, char *structure)
Compute minimum free energy and an appropriate secondary structure of a circular RNA sequence...
The datastructure that contains temperature scaled energy parameters.
Definition: params.h:56
Various data structures and pre-processor macros.
Functions to deal with sets of energy parameters.
float vrna_fold(const char *sequence, char *structure)
Compute Minimum Free Energy (MFE), and a corresponding secondary structure for an RNA sequence...
void export_fold_arrays(int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p)
float fold(const char *sequence, char *structure)
Compute minimum free energy and an appropriate secondary structure of an RNA sequence.
void export_circfold_arrays(int *Fc_p, int *FcH_p, int *FcI_p, int *FcM_p, int **fM2_p, int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p)
void update_fold_params(void)
Recalculate energy parameters.
int LoopEnergy(int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1)
float fold_par(const char *sequence, char *structure, vrna_param_t *parameters, int is_constrained, int is_circular)
Compute minimum free energy and an appropriate secondary structure of an RNA sequence.
Compute Minimum Free energy (MFE) and backtrace corresponding secondary structures from RNA sequence ...
void export_circfold_arrays_par(int *Fc_p, int *FcH_p, int *FcI_p, int *FcM_p, int **fM2_p, int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p, vrna_param_t **P_p)
void export_fold_arrays_par(int **f5_p, int **c_p, int **fML_p, int **fM1_p, int **indx_p, char **ptype_p, vrna_param_t **P_p)
Functions and variables related to energy evaluation of sequence/structure pairs. ...