1 #ifndef VIENNA_RNA_PACKAGE_SNOOP_H 2 #define VIENNA_RNA_PACKAGE_SNOOP_H 3 4 #include <ViennaRNA/datastructures/basic.h> 5 6 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY 7 8 /** 9 *** computes snoRNA-RNA interactions in RNAduplex manner 10 **/ 11 12 snoopT snoopfold(const char *s1, 13 const char *s2, 14 const int penalty, 15 const int threshloop, 16 const int threshLE, 17 const int threshRE, 18 const int threshDE, 19 const int threshD, 20 const int half_stem, 21 const int max_half_stem, 22 const int min_s2, 23 const int max_s2, 24 const int min_s1, 25 const int max_s1, 26 const int min_d1, 27 const int min_d2, 28 const int fullStemEnergy); 29 30 31 /** 32 *** computes snoRNA-RNA suboptimal interactions in RNAduplex manner 33 **/ 34 35 36 snoopT *snoop_subopt(const char *s1, 37 const char *s2, 38 int delta, 39 int w, 40 const int penalty, 41 const int threshloop, 42 const int threshLE, 43 const int threshRE, 44 const int threshDE, 45 const int threshTE, 46 const int threshSE, 47 const int threshD, 48 const int distance, 49 const int half_stem, 50 const int max_half_stem, 51 const int min_s2, 52 const int max_s2, 53 const int min_s1, 54 const int max_s1, 55 const int min_d1, 56 const int min_d2, 57 const int fullStemEnergy); 58 59 60 /** 61 *** computes snoRNA-RNA suboptimal interactions in a RNAplex manner 62 **/ 63 64 65 void Lsnoop_subopt(const char *s1, 66 const char *s2, 67 int delta, 68 int w, 69 const int penalty, 70 const int threshloop, 71 const int threshLE, 72 const int threshRE, 73 const int threshDE, 74 const int threshTE, 75 const int threshSE, 76 const int threshD, 77 const int distance, 78 const int half_stem, 79 const int max_half_stem, 80 const int min_s2, 81 const int max_s2, 82 const int min_s1, 83 const int max_s1, 84 const int min_d1, 85 const int min_d2, 86 const int alignment_length, 87 const char *name, 88 const int fullStemEnergy); 89 90 91 /** 92 *** computes snoRNA-RNA suboptimal interactions in a RNAplex manner. The stem energy is saved into a list of struct, leading to a runtime improvement of 20% 93 **/ 94 95 96 void Lsnoop_subopt_list(const char *s1, 97 const char *s2, 98 int delta, 99 int w, 100 const int penalty, 101 const int threshloop, 102 const int threshLE, 103 const int threshRE, 104 const int threshDE, 105 const int threshTE, 106 const int threshSE, 107 const int threshD, 108 const int distance, 109 const int half_stem, 110 const int max_half_stem, 111 const int min_s2, 112 const int max_s2, 113 const int min_s1, 114 const int max_s1, 115 const int min_d1, 116 const int min_d2, 117 const int alignment_length, 118 const char *name, 119 const int fullStemEnergy); 120 121 122 /** 123 *** computes snoRNA-RNA suboptimal interactions in a RNAplex manner. The stem energy is saved into a list of struct, leading to a runtime improvement of 20%. It considers accessibility 124 **/ 125 126 127 void Lsnoop_subopt_list_XS(const char *s1, 128 const char *s2, 129 const int **access_s1, 130 int delta, 131 int w, 132 const int penalty, 133 const int threshloop, 134 const int threshLE, 135 const int threshRE, 136 const int threshDE, 137 const int threshTE, 138 const int threshSE, 139 const int threshD, 140 const int distance, 141 const int half_stem, 142 const int max_half_stem, 143 const int min_s2, 144 const int max_s2, 145 const int min_s1, 146 const int max_s1, 147 const int min_d1, 148 const int min_d2, 149 const int alignment_length, 150 const char *name, 151 const int fullStemEnergy); 152 153 154 /** 155 *** computes snoRNA-RNA suboptimal interactions in a RNAduplex manner, and considers accessibility 156 **/ 157 158 159 void snoop_subopt_XS(const char *s1, 160 const char *s2, 161 const int **access_s1, 162 int delta, 163 int w, 164 const int penalty, 165 const int threshloop, 166 const int threshLE, 167 const int threshRE, 168 const int threshDE, 169 const int threshTE, 170 const int threshSE, 171 const int threshD, 172 const int distance, 173 const int half_stem, 174 const int max_half_stem, 175 const int min_s2, 176 const int max_s2, 177 const int min_s1, 178 const int max_s1, 179 const int min_d1, 180 const int min_d2, 181 const int alignment_length, 182 const char *name, 183 const int fullStemEnergy); 184 185 186 /** 187 *** aliduplex-like alignment version of snoop_subopt 188 **/ 189 190 snoopT *alisnoop_subopt(const char **s1, 191 const char **s2, 192 int delta, 193 int w, 194 const int penalty, 195 const int threshloop, 196 const int threshLE, 197 const int threshRE, 198 const int threshDE, 199 const int threshTE, 200 const int threshSE, 201 const int threshD, 202 const int distance, 203 const int half_stem, 204 const int max_half_stem, 205 const int min_s2, 206 const int max_s2, 207 const int min_s1, 208 const int max_s1, 209 const int min_d1, 210 const int min_d2); 211 212 213 /** 214 *** RNAplex-like Alignment version of snoop_subopt 215 **/ 216 217 218 snoopT *aliLsnoop_subopt_list(const char **s1, 219 const char **s2, 220 int delta, 221 int w, 222 const int penalty, 223 const int threshloop, 224 const int threshLE, 225 const int threshRE, 226 const int threshDE, 227 const int threshTE, 228 const int threshSE, 229 const int threshD, 230 const int distance, 231 const int half_stem, 232 const int max_half_stem, 233 const int min_s2, 234 const int max_s2, 235 const int min_s1, 236 const int max_s1, 237 const int min_d1, 238 const int min_d2, 239 const int alignment_length); 240 241 242 /** 243 *** RNAaliduplex-like version of snoopfold 244 **/ 245 246 247 snoopT alisnoopfold(const char **s1, 248 const char **s2, 249 const int penalty, 250 const int threshloop, 251 const int threshLE, 252 const int threshRE, 253 const int threshDE, 254 const int threshD, 255 const int half_stem, 256 const int max_half_stem, 257 const int min_s2, 258 const int max_s2, 259 const int min_s1, 260 const int max_s1, 261 const int min_d1, 262 const int min_d2); 263 264 265 /** 266 *** RNAduplex-like version of snoopfold with accessibility information 267 **/ 268 269 snoopT snoopfold_XS(const char *s1, 270 const char *s2, 271 const int **access_s1, 272 const int pos, 273 const int max_pos_j, 274 const int penalty, 275 const int threshloop, 276 const int threshLE, 277 const int threshRE, 278 const int threshDE, 279 const int threshD, 280 const int half_stem, 281 const int max_half_stem, 282 const int min_s2, 283 const int max_s2, 284 const int min_s1, 285 const int max_s1, 286 const int min_d1, 287 const int min_d2, 288 const int fullStemEnergy); 289 290 291 extern int snoop_subopt_sorted; 292 #endif 293 294 #endif 295