00001 #ifndef __VIENNA_RNA_PACKAGE_ALIFOLD_H__
00002 #define __VIENNA_RNA_PACKAGE_ALIFOLD_H__
00003
00004 #include "data_structures.h"
00005
00043 extern double cv_fact;
00052 extern double nc_fact;
00053
00054
00055
00056
00057
00058
00059
00066 void update_alifold_params(void);
00067
00068
00086 float alifold( const char **strings,
00087 char *structure);
00088
00089
00100 float circalifold( const char **strings,
00101 char *structure);
00102
00109 void free_alifold_arrays(void);
00110
00122 int get_mpi(char *Alseq[],
00123 int n_seq,
00124 int length,
00125 int *mini);
00126
00133 float **readribosum(char *name);
00134
00148 float energy_of_alistruct(const char **sequences,
00149 const char *structure,
00150 int n_seq,
00151 float *energy);
00152
00153 float energy_of_ali_gquad_structure(const char **sequences,
00154 const char *structure,
00155 int n_seq,
00156 float *energy);
00157
00158
00159
00160
00161
00162
00163
00180 void encode_ali_sequence( const char *sequence,
00181 short *S,
00182 short *s5,
00183 short *s3,
00184 char *ss,
00185 unsigned short *as,
00186 int circ);
00187
00205 void alloc_sequence_arrays(const char **sequences,
00206 short ***S,
00207 short ***S5,
00208 short ***S3,
00209 unsigned short ***a2s,
00210 char ***Ss,
00211 int circ);
00212
00229 void free_sequence_arrays( unsigned int n_seq,
00230 short ***S,
00231 short ***S5,
00232 short ***S3,
00233 unsigned short ***a2s,
00234 char ***Ss);
00235
00236
00237
00238
00239
00240
00241
00242
00265 float alipf_fold_par( const char **sequences,
00266 char *structure,
00267 plist **pl,
00268 pf_paramT *parameters,
00269 int calculate_bppm,
00270 int is_constrained,
00271 int is_circular);
00272
00289 float alipf_fold( const char **sequences,
00290 char *structure,
00291 plist **pl);
00292
00303 float alipf_circ_fold(const char **sequences,
00304 char *structure,
00305 plist **pl);
00306
00307
00319 FLT_OR_DBL *export_ali_bppm(void);
00320
00327 void free_alipf_arrays(void);
00328
00344 char *alipbacktrack(double *prob);
00345
00346
00367 int get_alipf_arrays(short ***S_p,
00368 short ***S5_p,
00369 short ***S3_p,
00370 unsigned short ***a2s_p,
00371 char ***Ss_p,
00372 FLT_OR_DBL **qb_p,
00373 FLT_OR_DBL **qm_p,
00374 FLT_OR_DBL **q1k_p,
00375 FLT_OR_DBL **qln_p,
00376 short **pscore);
00377
00378 #endif