RNAlib-2.0.2
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 
00059 float fold( const char *sequence,
00060             char *structure);
00061 
00073 float energy_of_structure(const char *string,
00074                           const char *structure,
00075                           int verbosity_level);
00076 
00077 
00091 int   energy_of_structure_pt( const char *string,
00092                               short *ptable,
00093                               short *s,
00094                               short *s1,
00095                               int verbosity_level);
00096 
00100 void  free_arrays(void);
00101 
00102 
00108 void  parenthesis_structure(char *structure,
00109                             bondT *bp,
00110                             int length);
00111 
00118 void parenthesis_zuker( char *structure,
00119                         bondT *bp,
00120                         int length);
00121 
00122 void letter_structure(char *structure,
00123                       bondT *bp,
00124                       int length);
00125 
00126 
00130 void  update_fold_params(void);
00131 
00135 char  *backtrack_fold_from_pair(char *sequence,
00136                                 int i,
00137                                 int j);
00138 
00142 int   loop_energy(short *ptable,
00143                   short *s,
00144                   short *s1,
00145                   int i);
00146 
00150 void  export_fold_arrays( int **f5_p,
00151                           int **c_p,
00152                           int **fML_p,
00153                           int **fM1_p,
00154                           int **indx_p,
00155                           char **ptype_p);
00165 float circfold( const char *string,
00166                 char *structure);
00167 
00178 float energy_of_circ_structure( const char *string,
00179                                 const char *structure,
00180                                 int verbosity_level);
00181 
00185 void  export_circfold_arrays( int *Fc_p,
00186                               int *FcH_p,
00187                               int *FcI_p,
00188                               int *FcM_p,
00189                               int **fM2_p,
00190                               int **f5_p,
00191                               int **c_p,
00192                               int **fML_p,
00193                               int **fM1_p,
00194                               int **indx_p,
00195                               char **ptype_p);
00196 
00214 void assign_plist_from_db(plist **pl,
00215                           const char *struc,
00216                           float pr);
00217 
00218 /* finally moved the loop energy function declarations to this header...  */
00219 /* BUT: The functions only exist for backward compatibility reasons!      */
00220 /* You better include "loop_energies.h" and call the functions:           */
00221 /* E_Hairpin() and E_IntLoop() which are (almost) threadsafe as they get  */
00222 /* a pointer to the energy parameter datastructure as additional argument */
00223 
00228 DEPRECATED(int LoopEnergy(int n1,
00229                           int n2,
00230                           int type,
00231                           int type_2,
00232                           int si1,
00233                           int sj1,
00234                           int sp1,
00235                           int sq1));
00236 
00241 DEPRECATED(int HairpinE(int size,
00242                         int type,
00243                         int si1,
00244                         int sj1,
00245                         const char *string));
00246 
00252 DEPRECATED(void initialize_fold(int length));
00253 
00268 DEPRECATED(float energy_of_struct(const char *string,
00269                                   const char *structure));
00270 
00287 DEPRECATED(int energy_of_struct_pt( const char *string,
00288                                     short *ptable,
00289                                     short *s,
00290                                     short *s1));
00291 
00306 DEPRECATED(float energy_of_circ_struct( const char *string,
00307                                         const char *structure));
00308 
00309 #endif