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