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