RNAlib-2.1.9
alifold.h
Go to the documentation of this file.
1 #ifndef __VIENNA_RNA_PACKAGE_ALIFOLD_H__
2 #define __VIENNA_RNA_PACKAGE_ALIFOLD_H__
3 
4 #include "data_structures.h"
5 
43 extern double cv_fact;
52 extern double nc_fact;
53 
54 /*
55 ##############################################
56 # MFE VARIANTS OF THE ALIFOLD IMPLEMENTATION #
57 ##############################################
58 */
59 
66 void update_alifold_params(void);
67 
68 
86 float alifold( const char **strings,
87  char *structure);
88 
89 
100 float circalifold( const char **strings,
101  char *structure);
102 
109 void free_alifold_arrays(void);
110 
122 int get_mpi(char *Alseq[],
123  int n_seq,
124  int length,
125  int *mini);
126 
133 float **readribosum(char *name);
134 
148 float energy_of_alistruct(const char **sequences,
149  const char *structure,
150  int n_seq,
151  float *energy);
152 
153 float energy_of_ali_gquad_structure(const char **sequences,
154  const char *structure,
155  int n_seq,
156  float *energy);
157 
158 /*
159 #############################################################
160 # some helper functions that might be useful in the library #
161 #############################################################
162 */
163 
180 void encode_ali_sequence( const char *sequence,
181  short *S,
182  short *s5,
183  short *s3,
184  char *ss,
185  unsigned short *as,
186  int circ);
187 
205 void alloc_sequence_arrays(const char **sequences,
206  short ***S,
207  short ***S5,
208  short ***S3,
209  unsigned short ***a2s,
210  char ***Ss,
211  int circ);
212 
229 void free_sequence_arrays( unsigned int n_seq,
230  short ***S,
231  short ***S5,
232  short ***S3,
233  unsigned short ***a2s,
234  char ***Ss);
235 
236 /*
237 #############################################################
238 # PARTITION FUNCTION VARIANTS OF THE ALIFOLD IMPLEMENTATION #
239 #############################################################
240 */
241 
242 
265 float alipf_fold_par( const char **sequences,
266  char *structure,
267  plist **pl,
268  pf_paramT *parameters,
269  int calculate_bppm,
270  int is_constrained,
271  int is_circular);
272 
289 float alipf_fold( const char **sequences,
290  char *structure,
291  plist **pl);
292 
303 float alipf_circ_fold(const char **sequences,
304  char *structure,
305  plist **pl);
306 
307 
319 FLT_OR_DBL *export_ali_bppm(void);
320 
327 void free_alipf_arrays(void);
328 
344 char *alipbacktrack(double *prob);
345 
346 
367 int get_alipf_arrays(short ***S_p,
368  short ***S5_p,
369  short ***S3_p,
370  unsigned short ***a2s_p,
371  char ***Ss_p,
372  FLT_OR_DBL **qb_p,
373  FLT_OR_DBL **qm_p,
374  FLT_OR_DBL **q1k_p,
375  FLT_OR_DBL **qln_p,
376  short **pscore);
377 
378 #endif