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
00034 extern int st_back;
00035
00036
00037
00038
00039
00040
00041
00080 float pf_fold_par( const char *sequence,
00081 char *structure,
00082 pf_paramT *parameters,
00083 int calculate_bppm,
00084 int is_constrained,
00085 int is_circular);
00086
00126 float pf_fold(const char *sequence,
00127 char *structure);
00128
00154 float pf_circ_fold( const char *sequence,
00155 char *structure);
00156
00166 char *pbacktrack(char *sequence);
00167
00179 char *pbacktrack_circ(char *sequence);
00180
00196 void free_pf_arrays(void);
00197
00207 void update_pf_params(int length);
00208
00215 void update_pf_params_par(int length, pf_paramT *parameters);
00216
00233 FLT_OR_DBL *export_bppm(void);
00234
00235
00236
00237
00238
00239
00240
00258 void assign_plist_from_pr( plist **pl,
00259 FLT_OR_DBL *probs,
00260 int length,
00261 double cutoff);
00262
00263
00264 void assign_plist_gquad_from_pr(plist **pl,
00265 int length,
00266 double cut_off);
00267
00268 char *get_centroid_struct_gquad_pr(int length,
00269 double *dist);
00270
00286 int get_pf_arrays(short **S_p,
00287 short **S1_p,
00288 char **ptype_p,
00289 FLT_OR_DBL **qb_p,
00290 FLT_OR_DBL **qm_p,
00291 FLT_OR_DBL **q1k_p,
00292 FLT_OR_DBL **qln_p);
00293
00297 double get_subseq_F(int i, int j);
00298
00315 char *get_centroid_struct_pl(int length,
00316 double *dist,
00317 plist *pl);
00318
00335 char *get_centroid_struct_pr(int length,
00336 double *dist,
00337 FLT_OR_DBL *pr);
00338
00351 double mean_bp_distance(int length);
00352
00370 double mean_bp_distance_pr(int length,
00371 FLT_OR_DBL *pr);
00372
00376 void bppm_to_structure(char *structure,
00377 FLT_OR_DBL *pr,
00378 unsigned int length);
00379
00380 plist *stackProb(double cutoff);
00381
00385 char bppm_symbol(const float *x);
00386
00387
00388
00389
00390
00391
00392
00393
00399 DEPRECATED(void init_pf_fold(int length));
00400
00405 DEPRECATED(char *centroid(int length,
00406 double *dist));
00407
00413 DEPRECATED(double mean_bp_dist(int length));
00414
00418 DEPRECATED(double expLoopEnergy(int u1,
00419 int u2,
00420 int type,
00421 int type2,
00422 short si1,
00423 short sj1,
00424 short sp1,
00425 short sq1));
00426
00430 DEPRECATED(double expHairpinEnergy( int u,
00431 int type,
00432 short si1,
00433 short sj1,
00434 const char *string));
00435
00436 #endif