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
00041 extern int st_back;
00042
00043
00044
00045
00046
00047
00048
00087 float pf_fold_par( const char *sequence,
00088 char *structure,
00089 pf_paramT *parameters,
00090 int calculate_bppm,
00091 int is_constrained,
00092 int is_circular);
00093
00133 float pf_fold(const char *sequence,
00134 char *structure);
00135
00161 float pf_circ_fold( const char *sequence,
00162 char *structure);
00163
00173 char *pbacktrack(char *sequence);
00174
00186 char *pbacktrack_circ(char *sequence);
00187
00203 void free_pf_arrays(void);
00204
00214 void update_pf_params(int length);
00215
00222 void update_pf_params_par(int length, pf_paramT *parameters);
00223
00240 FLT_OR_DBL *export_bppm(void);
00241
00242
00243
00244
00245
00246
00247
00265 void assign_plist_from_pr( plist **pl,
00266 FLT_OR_DBL *probs,
00267 int length,
00268 double cutoff);
00269
00270
00271 void assign_plist_gquad_from_pr(plist **pl,
00272 int length,
00273 double cut_off);
00274
00275 char *get_centroid_struct_gquad_pr(int length,
00276 double *dist);
00277
00293 int get_pf_arrays(short **S_p,
00294 short **S1_p,
00295 char **ptype_p,
00296 FLT_OR_DBL **qb_p,
00297 FLT_OR_DBL **qm_p,
00298 FLT_OR_DBL **q1k_p,
00299 FLT_OR_DBL **qln_p);
00300
00304 double get_subseq_F(int i, int j);
00305
00322 char *get_centroid_struct_pl(int length,
00323 double *dist,
00324 plist *pl);
00325
00342 char *get_centroid_struct_pr(int length,
00343 double *dist,
00344 FLT_OR_DBL *pr);
00345
00358 double mean_bp_distance(int length);
00359
00377 double mean_bp_distance_pr(int length,
00378 FLT_OR_DBL *pr);
00379
00383 void bppm_to_structure(char *structure,
00384 FLT_OR_DBL *pr,
00385 unsigned int length);
00386
00387 plist *stackProb(double cutoff);
00388
00392 char bppm_symbol(const float *x);
00393
00394
00395
00396
00397
00398
00399
00400
00406 DEPRECATED(void init_pf_fold(int length));
00407
00412 DEPRECATED(char *centroid(int length,
00413 double *dist));
00414
00420 DEPRECATED(double mean_bp_dist(int length));
00421
00425 DEPRECATED(double expLoopEnergy(int u1,
00426 int u2,
00427 int type,
00428 int type2,
00429 short si1,
00430 short sj1,
00431 short sp1,
00432 short sq1));
00433
00437 DEPRECATED(double expHairpinEnergy( int u,
00438 int type,
00439 short si1,
00440 short sj1,
00441 const char *string));
00442
00443 #endif