RNAlib-2.0.4
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 
00240 double get_subseq_F(int i, int j);
00241 
00257 char  *get_centroid_struct_pl(int length,
00258                               double *dist,
00259                               plist *pl);
00260 
00276 char  *get_centroid_struct_pr(int length,
00277                               double *dist,
00278                               FLT_OR_DBL *pr);
00279 
00290 double  mean_bp_distance(int length);
00291 
00307 double  mean_bp_distance_pr(int length,
00308                             FLT_OR_DBL *pr);
00309 
00313 void  bppm_to_structure(char *structure,
00314                         FLT_OR_DBL *pr,
00315                         unsigned int length);
00316 
00317 plist *stackProb(double cutoff);
00318 
00322 char    bppm_symbol(const float *x);
00323 
00324 
00325 /*
00326 #################################################
00327 # DEPRECATED FUNCTIONS                          #
00328 #################################################
00329 */
00330 
00336 DEPRECATED(void init_pf_fold(int length));
00337 
00342 DEPRECATED(char *centroid(int length,
00343                           double *dist));     /* mean pair distance of ensemble */
00344 
00350 DEPRECATED(double mean_bp_dist(int length));
00351 
00355 DEPRECATED(double expLoopEnergy(int u1,
00356                                 int u2,
00357                                 int type,
00358                                 int type2,
00359                                 short si1,
00360                                 short sj1,
00361                                 short sp1,
00362                                 short sq1));
00363 
00367 DEPRECATED(double expHairpinEnergy( int u,
00368                                     int type,
00369                                     short si1,
00370                                     short sj1,
00371                                     const char *string));
00372 
00373 #endif