00001 #ifndef __VIENNA_RNA_PACKAGE_FOLD_H__
00002 #define __VIENNA_RNA_PACKAGE_FOLD_H__
00003
00004 #include "data_structures.h"
00005
00006 #ifdef __GNUC__
00007 #define DEPRECATED(func) func __attribute__ ((deprecated))
00008 #else
00009 #define DEPRECATED(func) func
00010 #endif
00011
00021 extern int logML;
00022
00024 extern int uniq_ML;
00025
00027 extern int cut_point;
00028
00030 extern int eos_debug;
00031
00073 float fold_par( const char *sequence,
00074 char *structure,
00075 paramT *parameters,
00076 int is_constrained,
00077 int is_circular);
00078
00095 float fold( const char *sequence,
00096 char *structure);
00097
00114 float circfold( const char *sequence,
00115 char *structure);
00116
00117
00134 float energy_of_structure(const char *string,
00135 const char *structure,
00136 int verbosity_level);
00137
00151 float energy_of_struct_par( const char *string,
00152 const char *structure,
00153 paramT *parameters,
00154 int verbosity_level);
00155
00172 float energy_of_circ_structure( const char *string,
00173 const char *structure,
00174 int verbosity_level);
00175
00189 float energy_of_circ_struct_par(const char *string,
00190 const char *structure,
00191 paramT *parameters,
00192 int verbosity_level);
00193
00194
00195
00214 int energy_of_structure_pt( const char *string,
00215 short *ptable,
00216 short *s,
00217 short *s1,
00218 int verbosity_level);
00219
00235 int energy_of_struct_pt_par(const char *string,
00236 short *ptable,
00237 short *s,
00238 short *s1,
00239 paramT *parameters,
00240 int verbosity_level);
00241
00245 void free_arrays(void);
00246
00247
00253 void parenthesis_structure(char *structure,
00254 bondT *bp,
00255 int length);
00256
00263 void parenthesis_zuker( char *structure,
00264 bondT *bp,
00265 int length);
00266
00267 void letter_structure(char *structure,
00268 bondT *bp,
00269 int length);
00270
00271
00275 void update_fold_params(void);
00276
00277 void update_fold_params_par(paramT *parameters);
00278
00282 char *backtrack_fold_from_pair(char *sequence,
00283 int i,
00284 int j);
00285
00289 int loop_energy(short *ptable,
00290 short *s,
00291 short *s1,
00292 int i);
00293
00297 void export_fold_arrays(int **f5_p,
00298 int **c_p,
00299 int **fML_p,
00300 int **fM1_p,
00301 int **indx_p,
00302 char **ptype_p);
00303
00307 void export_fold_arrays_par(int **f5_p,
00308 int **c_p,
00309 int **fML_p,
00310 int **fM1_p,
00311 int **indx_p,
00312 char **ptype_p,
00313 paramT **P_p);
00314
00318 void export_circfold_arrays(int *Fc_p,
00319 int *FcH_p,
00320 int *FcI_p,
00321 int *FcM_p,
00322 int **fM2_p,
00323 int **f5_p,
00324 int **c_p,
00325 int **fML_p,
00326 int **fM1_p,
00327 int **indx_p,
00328 char **ptype_p);
00329
00333 void export_circfold_arrays_par(int *Fc_p,
00334 int *FcH_p,
00335 int *FcI_p,
00336 int *FcM_p,
00337 int **fM2_p,
00338 int **f5_p,
00339 int **c_p,
00340 int **fML_p,
00341 int **fM1_p,
00342 int **indx_p,
00343 char **ptype_p,
00344 paramT **P_p);
00345
00346
00364 void assign_plist_from_db(plist **pl,
00365 const char *struc,
00366 float pr);
00367
00368
00369
00370
00371
00372
00373
00378 DEPRECATED(int LoopEnergy(int n1,
00379 int n2,
00380 int type,
00381 int type_2,
00382 int si1,
00383 int sj1,
00384 int sp1,
00385 int sq1));
00386
00391 DEPRECATED(int HairpinE(int size,
00392 int type,
00393 int si1,
00394 int sj1,
00395 const char *string));
00396
00402 DEPRECATED(void initialize_fold(int length));
00403
00418 DEPRECATED(float energy_of_struct(const char *string,
00419 const char *structure));
00420
00437 DEPRECATED(int energy_of_struct_pt( const char *string,
00438 short *ptable,
00439 short *s,
00440 short *s1));
00441
00456 DEPRECATED(float energy_of_circ_struct( const char *string,
00457 const char *structure));
00458
00459 #endif