RNAlib-2.0.2
|
00001 #ifndef __VIENNA_RNA_PACKAGE_ALIFOLD_H__ 00002 #define __VIENNA_RNA_PACKAGE_ALIFOLD_H__ 00003 00004 #include "data_structures.h" 00005 00018 extern double cv_fact; 00025 extern double nc_fact; 00026 00027 /* 00028 ############################################## 00029 # MFE VARIANTS OF THE ALIFOLD IMPLEMENTATION # 00030 ############################################## 00031 */ 00032 00039 void update_alifold_params(void); 00040 00041 00057 float alifold( const char **strings, 00058 char *structure); 00059 00060 00069 float circalifold( const char **strings, 00070 char *structure); 00071 00075 FLT_OR_DBL *alipf_export_bppm(void); 00076 00077 00081 void free_alifold_arrays(void); 00082 00092 int get_mpi(char *Alseq[], 00093 int n_seq, 00094 int length, 00095 int *mini); 00096 00100 float **readribosum(char *name); 00101 00113 float energy_of_alistruct(const char **sequences, 00114 const char *structure, 00115 int n_seq, 00116 float *energy); 00117 00118 /* 00119 ############################################################# 00120 # some helper functions that might be useful in the library # 00121 ############################################################# 00122 */ 00123 00137 void encode_ali_sequence( const char *sequence, 00138 short *S, 00139 short *s5, 00140 short *s3, 00141 char *ss, 00142 unsigned short *as, 00143 int circ); 00144 00160 void alloc_sequence_arrays(const char **sequences, 00161 short ***S, 00162 short ***S5, 00163 short ***S3, 00164 unsigned short ***a2s, 00165 char ***Ss, 00166 int circ); 00167 00182 void free_sequence_arrays( unsigned int n_seq, 00183 short ***S, 00184 short ***S5, 00185 short ***S3, 00186 unsigned short ***a2s, 00187 char ***Ss); 00188 00189 /* 00190 ############################################################# 00191 # PARTITION FUNCTION VARIANTS OF THE ALIFOLD IMPLEMENTATION # 00192 ############################################################# 00193 */ 00194 00209 float alipf_fold( const char **sequences, 00210 char *structure, 00211 plist **pl); 00212 00221 float alipf_circ_fold(const char **sequences, 00222 char *structure, 00223 plist **pl); 00224 00234 FLT_OR_DBL *export_ali_bppm(void); 00235 00239 void free_alipf_arrays(void); 00240 00247 char *alipbacktrack(double *prob) ; 00248 00249 #endif