RNAlib-2.0.3
H/part_func.h
Go to the documentation of this file.
00001 #ifndef __VIENNA_RNA_PACKAGE_PART_FUNC_H__
00002 #define __VIENNA_RNA_PACKAGE_PART_FUNC_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 
00012 
00031 extern  int st_back;
00032 
00033 /*
00034 #################################################
00035 # PARTITION FUNCTION COMPUTATION                #
00036 #################################################
00037 */
00038 
00070 float   pf_fold_par(  const char *sequence,
00071                       char *structure,
00072                       pf_paramT *parameters,
00073                       int calculate_bppm,
00074                       int is_constrained,
00075                       int is_circular);
00076 
00104 float   pf_fold(const char *sequence,
00105                 char *structure);
00106 
00116 float   pf_circ_fold( const char *sequence,
00117                       char *structure);
00118 
00131 char    *pbacktrack(char *sequence);
00132 
00145 char    *pbacktrack_circ(char *sequence);
00146 
00159 void  free_pf_arrays(void);
00160 
00167 void  update_pf_params(int length);
00168 
00169 void update_pf_params_par(int length, pf_paramT *parameters);
00170 
00183 FLT_OR_DBL  *export_bppm(void);
00184 
00185 /*
00186 #################################################
00187 # OTHER PARTITION FUNCTION RELATED DECLARATIONS #
00188 #################################################
00189 */
00190 
00208 void  assign_plist_from_pr( plist **pl,
00209                             FLT_OR_DBL *probs,
00210                             int length,
00211                             double cutoff);
00212 
00229 int get_pf_arrays(short **S_p,
00230                   short **S1_p,
00231                   char **ptype_p,
00232                   FLT_OR_DBL **qb_p,
00233                   FLT_OR_DBL **qm_p,
00234                   FLT_OR_DBL **q1k_p,
00235                   FLT_OR_DBL **qln_p);
00236 
00252 char  *get_centroid_struct_pl(int length,
00253                               double *dist,
00254                               plist *pl);
00255 
00271 char  *get_centroid_struct_pr(int length,
00272                               double *dist,
00273                               FLT_OR_DBL *pr);
00274 
00285 double  mean_bp_distance(int length);
00286 
00302 double  mean_bp_distance_pr(int length,
00303                             FLT_OR_DBL *pr);
00304 
00308 void  bppm_to_structure(char *structure,
00309                         FLT_OR_DBL *pr,
00310                         unsigned int length);
00311 
00312 plist *stackProb(double cutoff);
00313 
00317 char    bppm_symbol(const float *x);
00318 
00319 
00320 /*
00321 #################################################
00322 # DEPRECATED FUNCTIONS                          #
00323 #################################################
00324 */
00325 
00331 DEPRECATED(void init_pf_fold(int length));
00332 
00337 DEPRECATED(char *centroid(int length,
00338                           double *dist));     /* mean pair distance of ensemble */
00339 
00345 DEPRECATED(double mean_bp_dist(int length));
00346 
00350 DEPRECATED(double expLoopEnergy(int u1,
00351                                 int u2,
00352                                 int type,
00353                                 int type2,
00354                                 short si1,
00355                                 short sj1,
00356                                 short sp1,
00357                                 short sq1));
00358 
00362 DEPRECATED(double expHairpinEnergy( int u,
00363                                     int type,
00364                                     short si1,
00365                                     short sj1,
00366                                     const char *string));
00367 
00368 #endif