RNAlib-2.0.5
H/fold.h
Go to the documentation of this file.
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 /* finally moved the loop energy function declarations to this header...  */
00369 /* BUT: The functions only exist for backward compatibility reasons!      */
00370 /* You better include "loop_energies.h" and call the functions:           */
00371 /* E_Hairpin() and E_IntLoop() which are (almost) threadsafe as they get  */
00372 /* a pointer to the energy parameter datastructure as additional argument */
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