1 /* function from fold.c */ 2 #ifndef VIENNA_RNA_PACKAGE_SNOFOLD_H 3 #define VIENNA_RNA_PACKAGE_SNOFOLD_H 4 5 #include <ViennaRNA/datastructures/basic.h> 6 7 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY 8 9 /* Normal fold */ 10 11 /** 12 *** snofold is the stem folding array for RNAsnoop 13 **/ 14 int snofold(const char *sequence, 15 char *structure, 16 const int max_assym, 17 const int threshold, 18 const int min_s2, 19 const int max_s2, 20 const int half_stem, 21 const int max_half_stem); 22 23 24 /** 25 *** Free arrays and structure related to snofold 26 **/ 27 28 void snofree_arrays(const int length); /* free arrays for mfe folding */ 29 30 31 void snoinitialize_fold(int length); /* allocate arrays for folding */ 32 33 34 void snoupdate_fold_params(void); /* recalculate parameters */ 35 36 37 int snoloop_energy(short *ptable, 38 short *s, 39 short *s1, 40 int i); 41 42 43 void snoexport_fold_arrays(int **indx_p, 44 int **mLoop_p, 45 int **cLoop, 46 folden ***fold_p, 47 folden ***fold_p_XS); 48 49 50 char *snobacktrack_fold_from_pair(const char *sequence, 51 int i, 52 int j); 53 54 55 /* alifold */ 56 float alisnofold(const char **strings, 57 const int max_assym, 58 const int threshloop, 59 const int min_s2, 60 const int max_s2, 61 const int half_stem, 62 const int max_half_stem); 63 64 65 void alisnofree_arrays(const int length); 66 67 68 char *alisnobacktrack_fold_from_pair(const char **sequence, 69 int i, 70 int j, 71 int *cov); 72 73 74 extern double cv_fact /* =1 */; 75 extern double nc_fact /* =1 */; 76 77 /* max number of mismatch >>>>>..(( )).>>>> */ 78 #define MISMATCH 3 79 80 #endif 81 82 #endif 83