/* function from fold.c */ #ifndef VIENNA_RNA_PACKAGE_SNOFOLD_H #define VIENNA_RNA_PACKAGE_SNOFOLD_H #include /* Normal fold */ /** *** snofold is the stem folding array for RNAsnoop **/ int snofold( const char *sequence, char *structure, const int max_assym, const int threshold, const int min_s2, const int max_s2, const int half_stem, const int max_half_stem); /** *** Free arrays and structure related to snofold **/ void snofree_arrays(const int length); /* free arrays for mfe folding */ void snoinitialize_fold(int length); /* allocate arrays for folding */ void snoupdate_fold_params(void); /* recalculate parameters */ int snoloop_energy(short *ptable, short *s, short *s1, int i); void snoexport_fold_arrays( int **indx_p, int **mLoop_p, int **cLoop, folden ***fold_p, folden ***fold_p_XS); char * snobacktrack_fold_from_pair( const char *sequence, int i, int j); /* alifold */ float alisnofold( const char **strings, const int max_assym, const int threshloop, const int min_s2, const int max_s2, const int half_stem, const int max_half_stem); void alisnofree_arrays(const int length); char *alisnobacktrack_fold_from_pair(const char **sequence, int i, int j, int *cov); extern double cv_fact /* =1 */; extern double nc_fact /* =1 */; /* max number of mismatch >>>>>..(( )).>>>> */ #define MISMATCH 3 #endif