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
00061 extern int logML;
00062
00064 extern int uniq_ML;
00065
00067 extern int cut_point;
00068
00073 extern int eos_debug;
00074
00075
00119 float fold_par( const char *sequence,
00120 char *structure,
00121 paramT *parameters,
00122 int is_constrained,
00123 int is_circular);
00124
00143 float fold( const char *sequence,
00144 char *structure);
00145
00164 float circfold( const char *sequence,
00165 char *structure);
00166
00167
00195 float energy_of_structure(const char *string,
00196 const char *structure,
00197 int verbosity_level);
00198
00214 float energy_of_struct_par( const char *string,
00215 const char *structure,
00216 paramT *parameters,
00217 int verbosity_level);
00218
00237 float energy_of_circ_structure( const char *string,
00238 const char *structure,
00239 int verbosity_level);
00240
00256 float energy_of_circ_struct_par(const char *string,
00257 const char *structure,
00258 paramT *parameters,
00259 int verbosity_level);
00260
00261
00262 float energy_of_gquad_structure(const char *string,
00263 const char *structure,
00264 int verbosity_level);
00265
00286 int energy_of_structure_pt( const char *string,
00287 short *ptable,
00288 short *s,
00289 short *s1,
00290 int verbosity_level);
00291
00309 int energy_of_struct_pt_par(const char *string,
00310 short *ptable,
00311 short *s,
00312 short *s1,
00313 paramT *parameters,
00314 int verbosity_level);
00315
00322 void free_arrays(void);
00323
00324
00330 void parenthesis_structure(char *structure,
00331 bondT *bp,
00332 int length);
00333
00340 void parenthesis_zuker( char *structure,
00341 bondT *bp,
00342 int length);
00343
00344 void letter_structure(char *structure,
00345 bondT *bp,
00346 int length);
00347
00348
00354 void update_fold_params(void);
00355
00361 void update_fold_params_par(paramT *parameters);
00362
00368 char *backtrack_fold_from_pair(char *sequence,
00369 int i,
00370 int j);
00371
00385 float energy_of_move( const char *string,
00386 const char *structure,
00387 int m1,
00388 int m2);
00389
00390
00406 int energy_of_move_pt(short *pt,
00407 short *s,
00408 short *s1,
00409 int m1,
00410 int m2);
00411
00421 int loop_energy(short *ptable,
00422 short *s,
00423 short *s1,
00424 int i);
00425
00431 void export_fold_arrays(int **f5_p,
00432 int **c_p,
00433 int **fML_p,
00434 int **fM1_p,
00435 int **indx_p,
00436 char **ptype_p);
00437
00443 void export_fold_arrays_par(int **f5_p,
00444 int **c_p,
00445 int **fML_p,
00446 int **fM1_p,
00447 int **indx_p,
00448 char **ptype_p,
00449 paramT **P_p);
00450
00456 void export_circfold_arrays(int *Fc_p,
00457 int *FcH_p,
00458 int *FcI_p,
00459 int *FcM_p,
00460 int **fM2_p,
00461 int **f5_p,
00462 int **c_p,
00463 int **fML_p,
00464 int **fM1_p,
00465 int **indx_p,
00466 char **ptype_p);
00467
00473 void export_circfold_arrays_par(int *Fc_p,
00474 int *FcH_p,
00475 int *FcI_p,
00476 int *FcM_p,
00477 int **fM2_p,
00478 int **f5_p,
00479 int **c_p,
00480 int **fML_p,
00481 int **fM1_p,
00482 int **indx_p,
00483 char **ptype_p,
00484 paramT **P_p);
00485
00486
00504 void assign_plist_from_db(plist **pl,
00505 const char *struc,
00506 float pr);
00507
00508
00509
00510
00511
00512
00513
00518 DEPRECATED(int LoopEnergy(int n1,
00519 int n2,
00520 int type,
00521 int type_2,
00522 int si1,
00523 int sj1,
00524 int sp1,
00525 int sq1));
00526
00531 DEPRECATED(int HairpinE(int size,
00532 int type,
00533 int si1,
00534 int sj1,
00535 const char *string));
00536
00542 DEPRECATED(void initialize_fold(int length));
00543
00558 DEPRECATED(float energy_of_struct(const char *string,
00559 const char *structure));
00560
00577 DEPRECATED(int energy_of_struct_pt( const char *string,
00578 short *ptable,
00579 short *s,
00580 short *s1));
00581
00596 DEPRECATED(float energy_of_circ_struct( const char *string,
00597 const char *structure));
00598
00599 #endif