Replace Progs/RNAalifold with x64 binary and add all other programs
[jabaws.git] / binaries / src / ViennaRNA / lib / energy_par.c
1
2
3 /*
4     Automatically generated using the TurnerParser
5     TurnerParser (c) 2008,2009,2010
6       Christian Hoener zu Siederdissen, TBI Vienna
7       choener (at) tbi.univie.ac.at
8
9     The library enabling this can be found at:
10     http://hackage.haskell.org/package/BiobaseVienna
11     the program can be found at:
12     (sorry, not yet)
13     install using cabal: cabal install (sorry, not yet)
14 */
15
16 /*
17      Current free energy parameters are summarized in:
18
19      D.H.Mathews, J. Sabina, M. ZUker, D.H. Turner
20      "Expanded sequence dependence of thermodynamic parameters improves
21      prediction of RNA secondary structure"
22      JMB, 288, pp 911-940, 1999
23
24      Enthalpies taken from:
25
26      A. Walter, D Turner, J Kim, M Lyttle, P M"uller, D Mathews, M Zuker
27      "Coaxial stacking of helices enhances binding of oligoribonucleotides.."
28      PNAS, 91, pp 9218-9222, 1994
29
30      D.H. Turner, N. Sugimoto, and S.M. Freier.
31      "RNA Structure Prediction",
32      Ann. Rev. Biophys. Biophys. Chem. 17, 167-192, 1988.
33
34      John A.Jaeger, Douglas H.Turner, and Michael Zuker.
35      "Improved predictions of secondary structures for RNA",
36      PNAS, 86, 7706-7710, October 1989.
37
38      L. He, R. Kierzek, J. SantaLucia, A.E. Walter, D.H. Turner
39      "Nearest-Neighbor Parameters for GU Mismatches...."
40      Biochemistry 1991, 30 11124-11132
41
42      A.E. Peritz, R. Kierzek, N, Sugimoto, D.H. Turner
43      "Thermodynamic Study of Internal Loops in Oligoribonucleotides..."
44      Biochemistry 1991, 30, 6428--6435
45 */
46
47
48
49 #include "energy_const.h"
50 /*@unused@*/
51 static char rcsid[] = "$Id: energy_par.c,v 1.6 2004/08/12 12:11:57 ivo Exp $";
52
53 #define NST 0     /* Energy for nonstandard stacked pairs */
54 #define DEF -50   /* Default terminal mismatch, used for I */
55                   /* and any non_pairing bases */
56 #define NSM 0     /* terminal mismatch for non standard pairs */
57
58 #define PUBLIC
59
60 PUBLIC double Tmeasure = 37+K0;  /* temperature of param measurements */
61
62
63 /* PUBLIC double lxc37=107.9; */
64 PUBLIC double lxc37=107.856;
65 PUBLIC int ML_intern37=-90;
66 PUBLIC int ML_interndH=-220;
67 PUBLIC int ML_closing37=930;
68 PUBLIC int ML_closingdH=3000;
69 PUBLIC int ML_BASE37=0;
70 PUBLIC int ML_BASEdH=0;
71 PUBLIC int MAX_NINIO=300;
72 PUBLIC int ninio37=60;
73 PUBLIC int niniodH=320;
74 PUBLIC int TerminalAU37=50;
75 PUBLIC int TerminalAUdH=370;
76 PUBLIC int DuplexInit37=410;
77 PUBLIC int DuplexInitdH=360;
78 PUBLIC int TripleC37=100;
79 PUBLIC int TripleCdH=1860;
80 PUBLIC int MultipleCA37=30;
81 PUBLIC int MultipleCAdH=340;
82 PUBLIC int MultipleCB37=160;
83 PUBLIC int MultipleCBdH=760;
84
85 PUBLIC int GQuadAlpha37 = -1800;
86 PUBLIC int GQuadAlphadH = -11934;
87 PUBLIC int GQuadBeta37 = 1200;
88 PUBLIC int GQuadBetadH = 0;
89
90 PUBLIC int stack37[NBPAIRS+1][NBPAIRS+1] =
91 {{   INF,   INF,   INF,   INF,   INF,   INF,   INF,   INF}
92 ,{   INF,  -240,  -330,  -210,  -140,  -210,  -210,  -140}
93 ,{   INF,  -330,  -340,  -250,  -150,  -220,  -240,  -150}
94 ,{   INF,  -210,  -250,   130,   -50,  -140,  -130,   130}
95 ,{   INF,  -140,  -150,   -50,    30,   -60,  -100,    30}
96 ,{   INF,  -210,  -220,  -140,   -60,  -110,   -90,   -60}
97 ,{   INF,  -210,  -240,  -130,  -100,   -90,  -130,   -90}
98 ,{   INF,  -140,  -150,   130,    30,   -60,   -90,   130}};
99 PUBLIC int stackdH[NBPAIRS+1][NBPAIRS+1] =
100 {{   INF,   INF,   INF,   INF,   INF,   INF,   INF,   INF}
101 ,{   INF, -1060, -1340, -1210,  -560, -1050, -1040,  -560}
102 ,{   INF, -1340, -1490, -1260,  -830, -1140, -1240,  -830}
103 ,{   INF, -1210, -1260, -1460, -1350,  -880, -1280,  -880}
104 ,{   INF,  -560,  -830, -1350,  -930,  -320,  -700,  -320}
105 ,{   INF, -1050, -1140,  -880,  -320,  -940,  -680,  -320}
106 ,{   INF, -1040, -1240, -1280,  -700,  -680,  -770,  -680}
107 ,{   INF,  -560,  -830,  -880,  -320,  -320,  -680,  -320}};
108
109 PUBLIC int hairpin37[31] = {   INF,   INF,   INF,   540,   560,   570,   540,   600,   550,   640,   650,   660,   670,   680,   690,   690,   700,   710,   710,   720,   720,   730,   730,   740,   740,   750,   750,   750,   760,   760,   770};
110 PUBLIC int hairpindH[31] = {   INF,   INF,   INF,   130,   480,   360,  -290,   130,  -290,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500,   500};
111 PUBLIC int bulge37[31] = {   INF,   380,   280,   320,   360,   400,   440,   460,   470,   480,   490,   500,   510,   520,   530,   540,   540,   550,   550,   560,   570,   570,   580,   580,   580,   590,   590,   600,   600,   600,   610};
112 PUBLIC int bulgedH[31] = {   INF,  1060,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710,   710};
113 PUBLIC int internal_loop37[31] = {   INF,   INF,   100,   100,   110,   200,   200,   210,   230,   240,   250,   260,   270,   280,   290,   290,   300,   310,   310,   320,   330,   330,   340,   340,   350,   350,   350,   360,   360,   370,   370};
114 PUBLIC int internal_loopdH[31] = {   INF,   INF,   -720,   -720,  -720,  -680,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130,  -130};
115
116 PUBLIC int mismatchI37[NBPAIRS+1][5][5] =
117 {{{   INF,   INF,   INF,   INF,   INF}
118  ,{   INF,   INF,   INF,   INF,   INF}
119  ,{   INF,   INF,   INF,   INF,   INF}
120  ,{   INF,   INF,   INF,   INF,   INF}
121  ,{   INF,   INF,   INF,   INF,   INF}
122  }
123 ,{{     0,     0,     0,     0,     0}
124  ,{     0,     0,     0,   -80,     0}
125  ,{     0,     0,     0,     0,     0}
126  ,{     0,  -100,     0,  -100,     0}
127  ,{     0,     0,     0,     0,   -60}
128  }
129 ,{{     0,     0,     0,     0,     0}
130  ,{     0,     0,     0,   -80,     0}
131  ,{     0,     0,     0,     0,     0}
132  ,{     0,  -100,     0,  -100,     0}
133  ,{     0,     0,     0,     0,   -60}
134  }
135 ,{{    70,    70,    70,    70,    70}
136  ,{    70,    70,    70,   -10,    70}
137  ,{    70,    70,    70,    70,    70}
138  ,{    70,   -30,    70,   -30,    70}
139  ,{    70,    70,    70,    70,    10}
140  }
141 ,{{    70,    70,    70,    70,    70}
142  ,{    70,    70,    70,   -10,    70}
143  ,{    70,    70,    70,    70,    70}
144  ,{    70,   -30,    70,   -30,    70}
145  ,{    70,    70,    70,    70,    10}
146  }
147 ,{{    70,    70,    70,    70,    70}
148  ,{    70,    70,    70,   -10,    70}
149  ,{    70,    70,    70,    70,    70}
150  ,{    70,   -30,    70,   -30,    70}
151  ,{    70,    70,    70,    70,    10}
152  }
153 ,{{    70,    70,    70,    70,    70}
154  ,{    70,    70,    70,   -10,    70}
155  ,{    70,    70,    70,    70,    70}
156  ,{    70,   -30,    70,   -30,    70}
157  ,{    70,    70,    70,    70,    10}
158  }
159 ,{{    70,    70,    70,    70,    70}
160  ,{    70,    70,    70,   -10,    70}
161  ,{    70,    70,    70,    70,    70}
162  ,{    70,   -30,    70,   -30,    70}
163  ,{    70,    70,    70,    70,    10}
164  }};
165 PUBLIC int mismatchIdH[NBPAIRS+1][5][5] =
166 {{{   INF,   INF,   INF,   INF,   INF}
167  ,{   INF,   INF,   INF,   INF,   INF}
168  ,{   INF,   INF,   INF,   INF,   INF}
169  ,{   INF,   INF,   INF,   INF,   INF}
170  ,{   INF,   INF,   INF,   INF,   INF}
171  }
172 ,{{   280,     0,     0,   280,     0}
173  ,{     0,     0,     0,  -340,     0}
174  ,{     0,     0,     0,     0,     0}
175  ,{   280,  -760,     0,   280,     0}
176  ,{     0,     0,     0,     0,  -580}
177  }
178 ,{{   280,     0,     0,   280,     0}
179  ,{     0,     0,     0,  -340,     0}
180  ,{     0,     0,     0,     0,     0}
181  ,{   280,  -760,     0,   280,     0}
182  ,{     0,     0,     0,     0,  -580}
183  }
184 ,{{   790,   500,   500,   790,   500}
185  ,{   500,   500,   500,   170,   500}
186  ,{   500,   500,   500,   500,   500}
187  ,{   790,  -260,   500,   790,   500}
188  ,{   500,   500,   500,   500,   -80}
189  }
190 ,{{   790,   500,   500,   790,   500}
191  ,{   500,   500,   500,   170,   500}
192  ,{   500,   500,   500,   500,   500}
193  ,{   790,  -260,   500,   790,   500}
194  ,{   500,   500,   500,   500,   -80}
195  }
196 ,{{   790,   500,   500,   790,   500}
197  ,{   500,   500,   500,   170,   500}
198  ,{   500,   500,   500,   500,   500}
199  ,{   790,  -260,   500,   790,   500}
200  ,{   500,   500,   500,   500,   -80}
201  }
202 ,{{   790,   500,   500,   790,   500}
203  ,{   500,   500,   500,   170,   500}
204  ,{   500,   500,   500,   500,   500}
205  ,{   790,  -260,   500,   790,   500}
206  ,{   500,   500,   500,   500,   -80}
207  }
208 ,{{   790,   500,   500,   790,   500}
209  ,{   500,   500,   500,   170,   500}
210  ,{   500,   500,   500,   500,   500}
211  ,{   790,  -260,   500,   790,   500}
212  ,{   500,   500,   500,   500,   -80}
213  }};
214
215 PUBLIC int mismatchH37[NBPAIRS+1][5][5] =
216 {{{   INF,   INF,   INF,   INF,   INF}
217  ,{   INF,   INF,   INF,   INF,   INF}
218  ,{   INF,   INF,   INF,   INF,   INF}
219  ,{   INF,   INF,   INF,   INF,   INF}
220  ,{   INF,   INF,   INF,   INF,   INF}
221  }
222 ,{{   -80,  -100,  -110,  -100,   -80}
223  ,{  -140,  -150,  -150,  -140,  -150}
224  ,{   -80,  -100,  -110,  -100,   -80}
225  ,{  -150,  -230,  -150,  -240,  -150}
226  ,{  -100,  -100,  -140,  -100,  -210}
227  }
228 ,{{   -50,  -110,   -70,  -110,   -50}
229  ,{  -110,  -110,  -150,  -130,  -150}
230  ,{   -50,  -110,   -70,  -110,   -50}
231  ,{  -150,  -250,  -150,  -220,  -150}
232  ,{  -100,  -110,  -100,  -110,  -160}
233  }
234 ,{{    20,    20,   -20,   -10,   -20}
235  ,{    20,    20,   -50,   -30,   -50}
236  ,{   -10,   -10,   -20,   -10,   -20}
237  ,{   -50,  -100,   -50,  -110,   -50}
238  ,{   -10,   -10,   -30,   -10,  -100}
239  }
240 ,{{     0,   -20,   -10,   -20,     0}
241  ,{   -30,   -50,   -30,   -60,   -30}
242  ,{     0,   -20,   -10,   -20,     0}
243  ,{   -30,   -90,   -30,  -110,   -30}
244  ,{   -10,   -20,   -10,   -20,   -90}
245  }
246 ,{{   -10,   -10,   -20,   -10,   -20}
247  ,{   -30,   -30,   -50,   -30,   -50}
248  ,{   -10,   -10,   -20,   -10,   -20}
249  ,{   -50,  -120,   -50,  -110,   -50}
250  ,{   -10,   -10,   -30,   -10,  -120}
251  }
252 ,{{     0,   -20,   -10,   -20,     0}
253  ,{   -30,   -50,   -30,   -50,   -30}
254  ,{     0,   -20,   -10,   -20,     0}
255  ,{   -30,  -150,   -30,  -150,   -30}
256  ,{   -10,   -20,   -10,   -20,   -90}
257  }
258 ,{{    20,    20,   -10,   -10,     0}
259  ,{    20,    20,   -30,   -30,   -30}
260  ,{     0,   -10,   -10,   -10,     0}
261  ,{   -30,   -90,   -30,  -110,   -30}
262  ,{   -10,   -10,   -10,   -10,   -90}
263  }};
264 PUBLIC int mismatchHdH[NBPAIRS+1][5][5] =
265 {{{   INF,   INF,   INF,   INF,   INF}
266  ,{   INF,   INF,   INF,   INF,   INF}
267  ,{   INF,   INF,   INF,   INF,   INF}
268  ,{   INF,   INF,   INF,   INF,   INF}
269  ,{   INF,   INF,   INF,   INF,   INF}
270  }
271 ,{{   560,  -570,   560,  -560,  -270}
272  ,{  -560,  -910,  -560,  -560,  -560}
273  ,{  -270,  -570,  -340,  -570,  -270}
274  ,{   560, -1400,   560,  -920,  -560}
275  ,{  -530,  -570,  -530,  -570, -1440}
276  }
277 ,{{    50,  -520,    50,  -560,  -400}
278  ,{  -400,  -520,  -400,  -560,  -400}
279  ,{    50,  -720,    50,  -720,  -420}
280  ,{  -400, -1290,  -400,  -620,  -400}
281  ,{   -30,  -720,   -30,  -720, -1080}
282  }
283 ,{{   970,   140,   970,   140,   570}
284  ,{   570,    30,   570,    20,   570}
285  ,{   970,   140,   970,   140,   340}
286  ,{   570,  -270,   570,    20,   570}
287  ,{   830,   140,   830,   140,   -50}
288  }
289 ,{{   230,   100,   230,   220,   190}
290  ,{  -110,  -110,  -260,  -520,  -260}
291  ,{   190,   -60,  -140,   -60,   190}
292  ,{   220,   100,  -260,   220,  -260}
293  ,{   230,   -60,   230,   -60,   -70}
294  }
295 ,{{   970,   140,   970,   140,   570}
296  ,{   570,   -20,   570,    20,   570}
297  ,{   970,   140,   970,   140,   340}
298  ,{   570,  -520,   570,    20,   570}
299  ,{   830,   140,   830,   140,  -380}
300  }
301 ,{{   230,   -30,   230,   -60,   190}
302  ,{   -30,   -30,  -260,  -520,  -260}
303  ,{   190,   -60,  -140,   -60,   190}
304  ,{  -260,  -590,  -260,  -520,  -260}
305  ,{   230,   -60,   230,   -60,   -70}
306  }
307 ,{{   970,   140,   970,   220,   570}
308  ,{   570,    30,   570,    20,   570}
309  ,{   970,   140,   970,   140,   340}
310  ,{   570,   100,   570,   220,   570}
311  ,{   830,   140,   830,   140,   -50}
312  }};
313
314 PUBLIC int mismatchM37[NBPAIRS+1][5][5] =
315 {{{   INF,   INF,   INF,   INF,   INF}
316  ,{   INF,   INF,   INF,   INF,   INF}
317  ,{   INF,   INF,   INF,   INF,   INF}
318  ,{   INF,   INF,   INF,   INF,   INF}
319  ,{   INF,   INF,   INF,   INF,   INF}
320  }
321 ,{{   -80,  -100,  -110,  -100,   -80}
322  ,{  -140,  -150,  -150,  -140,  -150}
323  ,{   -80,  -100,  -110,  -100,   -80}
324  ,{  -140,  -140,  -150,  -160,  -150}
325  ,{  -100,  -100,  -140,  -100,  -120}
326  }
327 ,{{   -50,  -110,   -70,  -110,   -50}
328  ,{  -110,  -110,  -150,  -130,  -150}
329  ,{   -50,  -110,   -70,  -110,   -50}
330  ,{  -140,  -160,  -150,  -140,  -150}
331  ,{   -70,  -110,  -100,  -110,   -70}
332  }
333 ,{{   -30,   -30,   -70,   -60,   -60}
334  ,{   -30,   -30,  -100,   -80,  -100}
335  ,{   -60,   -60,   -70,   -60,   -70}
336  ,{   -60,   -60,  -100,   -80,  -100}
337  ,{   -60,   -60,   -80,   -60,   -60}
338  }
339 ,{{   -50,   -50,   -60,   -70,   -50}
340  ,{   -80,  -100,   -80,  -110,   -80}
341  ,{   -50,   -70,   -60,   -70,   -50}
342  ,{   -50,   -50,   -80,   -80,   -80}
343  ,{   -50,   -70,   -60,   -70,   -50}
344  }
345 ,{{   -60,   -60,   -70,   -60,   -70}
346  ,{   -80,   -80,  -100,   -80,  -100}
347  ,{   -60,   -60,   -70,   -60,   -70}
348  ,{   -80,   -80,  -100,   -80,  -100}
349  ,{   -60,   -60,   -80,   -60,   -80}
350  }
351 ,{{   -50,   -70,   -60,   -70,   -50}
352  ,{   -80,  -100,   -80,  -110,   -80}
353  ,{   -50,   -70,   -60,   -70,   -50}
354  ,{   -80,  -110,   -80,  -120,   -80}
355  ,{   -50,   -70,   -60,   -70,   -50}
356  }
357 ,{{   -30,   -30,   -60,   -60,   -50}
358  ,{   -30,   -30,   -80,   -80,   -80}
359  ,{   -50,   -60,   -60,   -60,   -50}
360  ,{   -50,   -50,   -80,   -80,   -80}
361  ,{   -50,   -60,   -60,   -60,   -50}
362  }};
363 PUBLIC int mismatchMdH[NBPAIRS+1][5][5] =
364 {{{   INF,   INF,   INF,   INF,   INF}
365  ,{   INF,   INF,   INF,   INF,   INF}
366  ,{   INF,   INF,   INF,   INF,   INF}
367  ,{   INF,   INF,   INF,   INF,   INF}
368  ,{   INF,   INF,   INF,   INF,   INF}
369  }
370 ,{{  -270,  -570,  -340,  -560,  -270}
371  ,{  -560,  -910,  -560,  -560,  -560}
372  ,{  -270,  -570,  -340,  -570,  -270}
373  ,{  -560,  -820,  -560,  -920,  -560}
374  ,{  -530,  -570,  -530,  -570,  -860}
375  }
376 ,{{    50,  -520,    50,  -560,  -400}
377  ,{  -400,  -520,  -400,  -560,  -400}
378  ,{    50,  -720,    50,  -720,  -420}
379  ,{  -400,  -710,  -400,  -620,  -400}
380  ,{   -30,  -720,   -30,  -720,  -500}
381  }
382 ,{{   600,   -60,   600,  -230,   200}
383  ,{   200,  -340,   200,  -350,   200}
384  ,{   600,  -230,   600,  -230,   -30}
385  ,{   200,   -60,   200,  -350,   200}
386  ,{   460,  -230,   460,  -230,   160}
387  }
388 ,{{   310,   310,  -140,  -150,   140}
389  ,{  -480,  -480,  -630,  -890,  -630}
390  ,{  -180,  -430,  -510,  -430,  -180}
391  ,{   310,   310,  -630,  -150,  -630}
392  ,{   140,  -430,  -140,  -430,   140}
393  }
394 ,{{   600,  -230,   600,  -230,   200}
395  ,{   200,  -390,   200,  -350,   200}
396  ,{   600,  -230,   600,  -230,   -30}
397  ,{   200,  -310,   200,  -350,   200}
398  ,{   460,  -230,   460,  -230,  -170}
399  }
400 ,{{   140,  -380,  -140,  -430,   140}
401  ,{  -400,  -400,  -630,  -890,  -630}
402  ,{  -180,  -430,  -510,  -430,  -180}
403  ,{  -380,  -380,  -630,  -890,  -630}
404  ,{   140,  -430,  -140,  -430,   140}
405  }
406 ,{{   600,   310,   600,  -150,   200}
407  ,{   200,  -340,   200,  -350,   200}
408  ,{   600,  -230,   600,  -230,   -30}
409  ,{   310,   310,   200,  -150,   200}
410  ,{   460,  -230,   460,  -230,   160}
411  }};
412
413 PUBLIC int mismatch1nI37[NBPAIRS+1][5][5] =
414 {{{   INF,   INF,   INF,   INF,   INF}
415  ,{   INF,   INF,   INF,   INF,   INF}
416  ,{   INF,   INF,   INF,   INF,   INF}
417  ,{   INF,   INF,   INF,   INF,   INF}
418  ,{   INF,   INF,   INF,   INF,   INF}
419  }
420 ,{{     0,     0,     0,     0,     0}
421  ,{     0,     0,     0,     0,     0}
422  ,{     0,     0,     0,     0,     0}
423  ,{     0,     0,     0,     0,     0}
424  ,{     0,     0,     0,     0,     0}
425  }
426 ,{{     0,     0,     0,     0,     0}
427  ,{     0,     0,     0,     0,     0}
428  ,{     0,     0,     0,     0,     0}
429  ,{     0,     0,     0,     0,     0}
430  ,{     0,     0,     0,     0,     0}
431  }
432 ,{{    70,    70,    70,    70,    70}
433  ,{    70,    70,    70,    70,    70}
434  ,{    70,    70,    70,    70,    70}
435  ,{    70,    70,    70,    70,    70}
436  ,{    70,    70,    70,    70,    70}
437  }
438 ,{{    70,    70,    70,    70,    70}
439  ,{    70,    70,    70,    70,    70}
440  ,{    70,    70,    70,    70,    70}
441  ,{    70,    70,    70,    70,    70}
442  ,{    70,    70,    70,    70,    70}
443  }
444 ,{{    70,    70,    70,    70,    70}
445  ,{    70,    70,    70,    70,    70}
446  ,{    70,    70,    70,    70,    70}
447  ,{    70,    70,    70,    70,    70}
448  ,{    70,    70,    70,    70,    70}
449  }
450 ,{{    70,    70,    70,    70,    70}
451  ,{    70,    70,    70,    70,    70}
452  ,{    70,    70,    70,    70,    70}
453  ,{    70,    70,    70,    70,    70}
454  ,{    70,    70,    70,    70,    70}
455  }
456 ,{{    70,    70,    70,    70,    70}
457  ,{    70,    70,    70,    70,    70}
458  ,{    70,    70,    70,    70,    70}
459  ,{    70,    70,    70,    70,    70}
460  ,{    70,    70,    70,    70,    70}
461  }};
462 PUBLIC int mismatch1nIdH[NBPAIRS+1][5][5] =
463 {{{   INF,   INF,   INF,   INF,   INF}
464  ,{   INF,   INF,   INF,   INF,   INF}
465  ,{   INF,   INF,   INF,   INF,   INF}
466  ,{   INF,   INF,   INF,   INF,   INF}
467  ,{   INF,   INF,   INF,   INF,   INF}
468  }
469 ,{{     0,     0,     0,     0,     0}
470  ,{     0,     0,     0,     0,     0}
471  ,{     0,     0,     0,     0,     0}
472  ,{     0,     0,     0,     0,     0}
473  ,{     0,     0,     0,     0,     0}
474  }
475 ,{{     0,     0,     0,     0,     0}
476  ,{     0,     0,     0,     0,     0}
477  ,{     0,     0,     0,     0,     0}
478  ,{     0,     0,     0,     0,     0}
479  ,{     0,     0,     0,     0,     0}
480  }
481 ,{{   500,   500,   500,   500,   500}
482  ,{   500,   500,   500,   500,   500}
483  ,{   500,   500,   500,   500,   500}
484  ,{   500,   500,   500,   500,   500}
485  ,{   500,   500,   500,   500,   500}
486  }
487 ,{{   500,   500,   500,   500,   500}
488  ,{   500,   500,   500,   500,   500}
489  ,{   500,   500,   500,   500,   500}
490  ,{   500,   500,   500,   500,   500}
491  ,{   500,   500,   500,   500,   500}
492  }
493 ,{{   500,   500,   500,   500,   500}
494  ,{   500,   500,   500,   500,   500}
495  ,{   500,   500,   500,   500,   500}
496  ,{   500,   500,   500,   500,   500}
497  ,{   500,   500,   500,   500,   500}
498  }
499 ,{{   500,   500,   500,   500,   500}
500  ,{   500,   500,   500,   500,   500}
501  ,{   500,   500,   500,   500,   500}
502  ,{   500,   500,   500,   500,   500}
503  ,{   500,   500,   500,   500,   500}
504  }
505 ,{{   500,   500,   500,   500,   500}
506  ,{   500,   500,   500,   500,   500}
507  ,{   500,   500,   500,   500,   500}
508  ,{   500,   500,   500,   500,   500}
509  ,{   500,   500,   500,   500,   500}
510  }};
511
512 PUBLIC int mismatch23I37[NBPAIRS+1][5][5] =
513 {{{   INF,   INF,   INF,   INF,   INF}
514  ,{   INF,   INF,   INF,   INF,   INF}
515  ,{   INF,   INF,   INF,   INF,   INF}
516  ,{   INF,   INF,   INF,   INF,   INF}
517  ,{   INF,   INF,   INF,   INF,   INF}
518  }
519 ,{{     0,     0,     0,     0,     0}
520  ,{     0,     0,     0,   -50,     0}
521  ,{     0,     0,     0,     0,     0}
522  ,{     0,  -110,     0,   -70,     0}
523  ,{     0,     0,     0,     0,   -30}
524  }
525 ,{{     0,     0,     0,     0,     0}
526  ,{     0,     0,     0,     0,     0}
527  ,{     0,     0,     0,     0,     0}
528  ,{     0,  -120,     0,   -70,     0}
529  ,{     0,     0,     0,     0,   -30}
530  }
531 ,{{    70,    70,    70,    70,    70}
532  ,{    70,    70,    70,    70,    70}
533  ,{    70,    70,    70,    70,    70}
534  ,{    70,   -40,    70,     0,    70}
535  ,{    70,    70,    70,    70,    40}
536  }
537 ,{{    70,    70,    70,    70,    70}
538  ,{    70,    70,    70,    20,    70}
539  ,{    70,    70,    70,    70,    70}
540  ,{    70,   -40,    70,     0,    70}
541  ,{    70,    70,    70,    70,    40}
542  }
543 ,{{    70,    70,    70,    70,    70}
544  ,{    70,    70,    70,    70,    70}
545  ,{    70,    70,    70,    70,    70}
546  ,{    70,   -40,    70,     0,    70}
547  ,{    70,    70,    70,    70,    40}
548  }
549 ,{{    70,    70,    70,    70,    70}
550  ,{    70,    70,    70,    20,    70}
551  ,{    70,    70,    70,    70,    70}
552  ,{    70,   -40,    70,     0,    70}
553  ,{    70,    70,    70,    70,    40}
554  }
555 ,{{    70,    70,    70,    70,    70}
556  ,{    70,    70,    70,    70,    70}
557  ,{    70,    70,    70,    70,    70}
558  ,{    70,   -40,    70,     0,    70}
559  ,{    70,    70,    70,    70,    40}
560  }};
561 PUBLIC int mismatch23IdH[NBPAIRS+1][5][5] =
562 {{{   INF,   INF,   INF,   INF,   INF}
563  ,{   INF,   INF,   INF,   INF,   INF}
564  ,{   INF,   INF,   INF,   INF,   INF}
565  ,{   INF,   INF,   INF,   INF,   INF}
566  ,{   INF,   INF,   INF,   INF,   INF}
567  }
568 ,{{     0,     0,     0,     0,     0}
569  ,{     0,     0,     0,  -570,     0}
570  ,{     0,     0,     0,     0,     0}
571  ,{     0,  -860,     0,  -900,     0}
572  ,{     0,     0,     0,     0,  -640}
573  }
574 ,{{     0,     0,     0,     0,     0}
575  ,{     0,     0,     0,     0,     0}
576  ,{     0,     0,     0,     0,     0}
577  ,{     0, -1090,     0,  -900,     0}
578  ,{     0,     0,     0,     0,  -640}
579  }
580 ,{{   500,   500,   500,   500,   500}
581  ,{   500,   500,   500,   500,   500}
582  ,{   500,   500,   500,   500,   500}
583  ,{   500,  -580,   500,  -400,   500}
584  ,{   500,   500,   500,   500,  -140}
585  }
586 ,{{   500,   500,   500,   500,   500}
587  ,{   500,   500,   500,   -60,   500}
588  ,{   500,   500,   500,   500,   500}
589  ,{   500,  -360,   500,  -400,   500}
590  ,{   500,   500,   500,   500,  -140}
591  }
592 ,{{   500,   500,   500,   500,   500}
593  ,{   500,   500,   500,   500,   500}
594  ,{   500,   500,   500,   500,   500}
595  ,{   500,  -580,   500,  -400,   500}
596  ,{   500,   500,   500,   500,  -140}
597  }
598 ,{{   500,   500,   500,   500,   500}
599  ,{   500,   500,   500,   -60,   500}
600  ,{   500,   500,   500,   500,   500}
601  ,{   500,  -360,   500,  -400,   500}
602  ,{   500,   500,   500,   500,  -140}
603  }
604 ,{{   500,   500,   500,   500,   500}
605  ,{   500,   500,   500,   500,   500}
606  ,{   500,   500,   500,   500,   500}
607  ,{   500,  -360,   500,  -400,   500}
608  ,{   500,   500,   500,   500,  -140}
609  }};
610
611 PUBLIC int mismatchExt37[NBPAIRS+1][5][5] =
612 {{{   INF,   INF,   INF,   INF,   INF}
613  ,{   INF,   INF,   INF,   INF,   INF}
614  ,{   INF,   INF,   INF,   INF,   INF}
615  ,{   INF,   INF,   INF,   INF,   INF}
616  ,{   INF,   INF,   INF,   INF,   INF}
617  }
618 ,{{   -80,  -100,  -110,  -100,   -80}
619  ,{  -140,  -150,  -150,  -140,  -150}
620  ,{   -80,  -100,  -110,  -100,   -80}
621  ,{  -140,  -140,  -150,  -160,  -150}
622  ,{  -100,  -100,  -140,  -100,  -120}
623  }
624 ,{{   -50,  -110,   -70,  -110,   -50}
625  ,{  -110,  -110,  -150,  -130,  -150}
626  ,{   -50,  -110,   -70,  -110,   -50}
627  ,{  -140,  -160,  -150,  -140,  -150}
628  ,{   -70,  -110,  -100,  -110,   -70}
629  }
630 ,{{   -30,   -30,   -70,   -60,   -60}
631  ,{   -30,   -30,  -100,   -80,  -100}
632  ,{   -60,   -60,   -70,   -60,   -70}
633  ,{   -60,   -60,  -100,   -80,  -100}
634  ,{   -60,   -60,   -80,   -60,   -60}
635  }
636 ,{{   -50,   -50,   -60,   -70,   -50}
637  ,{   -80,  -100,   -80,  -110,   -80}
638  ,{   -50,   -70,   -60,   -70,   -50}
639  ,{   -50,   -50,   -80,   -80,   -80}
640  ,{   -50,   -70,   -60,   -70,   -50}
641  }
642 ,{{   -60,   -60,   -70,   -60,   -70}
643  ,{   -80,   -80,  -100,   -80,  -100}
644  ,{   -60,   -60,   -70,   -60,   -70}
645  ,{   -80,   -80,  -100,   -80,  -100}
646  ,{   -60,   -60,   -80,   -60,   -80}
647  }
648 ,{{   -50,   -70,   -60,   -70,   -50}
649  ,{   -80,  -100,   -80,  -110,   -80}
650  ,{   -50,   -70,   -60,   -70,   -50}
651  ,{   -80,  -110,   -80,  -120,   -80}
652  ,{   -50,   -70,   -60,   -70,   -50}
653  }
654 ,{{   -30,   -30,   -60,   -60,   -50}
655  ,{   -30,   -30,   -80,   -80,   -80}
656  ,{   -50,   -60,   -60,   -60,   -50}
657  ,{   -50,   -50,   -80,   -80,   -80}
658  ,{   -50,   -60,   -60,   -60,   -50}
659  }};
660 PUBLIC int mismatchExtdH[NBPAIRS+1][5][5] =
661 {{{   INF,   INF,   INF,   INF,   INF}
662  ,{   INF,   INF,   INF,   INF,   INF}
663  ,{   INF,   INF,   INF,   INF,   INF}
664  ,{   INF,   INF,   INF,   INF,   INF}
665  ,{   INF,   INF,   INF,   INF,   INF}
666  }
667 ,{{  -270,  -570,  -340,  -560,  -270}
668  ,{  -560,  -910,  -560,  -560,  -560}
669  ,{  -270,  -570,  -340,  -570,  -270}
670  ,{  -560,  -820,  -560,  -920,  -560}
671  ,{  -530,  -570,  -530,  -570,  -860}
672  }
673 ,{{    50,  -520,    50,  -560,  -400}
674  ,{  -400,  -520,  -400,  -560,  -400}
675  ,{    50,  -720,    50,  -720,  -420}
676  ,{  -400,  -710,  -400,  -620,  -400}
677  ,{   -30,  -720,   -30,  -720,  -500}
678  }
679 ,{{   600,   -60,   600,  -230,   200}
680  ,{   200,  -340,   200,  -350,   200}
681  ,{   600,  -230,   600,  -230,   -30}
682  ,{   200,   -60,   200,  -350,   200}
683  ,{   460,  -230,   460,  -230,   160}
684  }
685 ,{{   310,   310,  -140,  -150,   140}
686  ,{  -480,  -480,  -630,  -890,  -630}
687  ,{  -180,  -430,  -510,  -430,  -180}
688  ,{   310,   310,  -630,  -150,  -630}
689  ,{   140,  -430,  -140,  -430,   140}
690  }
691 ,{{   600,  -230,   600,  -230,   200}
692  ,{   200,  -390,   200,  -350,   200}
693  ,{   600,  -230,   600,  -230,   -30}
694  ,{   200,  -310,   200,  -350,   200}
695  ,{   460,  -230,   460,  -230,  -170}
696  }
697 ,{{   140,  -380,  -140,  -430,   140}
698  ,{  -400,  -400,  -630,  -890,  -630}
699  ,{  -180,  -430,  -510,  -430,  -180}
700  ,{  -380,  -380,  -630,  -890,  -630}
701  ,{   140,  -430,  -140,  -430,   140}
702  }
703 ,{{   600,   310,   600,  -150,   200}
704  ,{   200,  -340,   200,  -350,   200}
705  ,{   600,  -230,   600,  -230,   -30}
706  ,{   310,   310,   200,  -150,   200}
707  ,{   460,  -230,   460,  -230,   160}
708  }};
709
710
711 PUBLIC int dangle3_37[NBPAIRS+1][5] =
712 {{   INF,   INF,   INF,   INF,   INF}
713 ,{   -80,  -170,   -80,  -170,  -120}
714 ,{   -40,  -110,   -40,  -130,   -60}
715 ,{   -50,   -80,   -50,   -80,   -60}
716 ,{   -10,   -70,   -10,   -70,   -10}
717 ,{   -50,   -80,   -50,   -80,   -60}
718 ,{   -10,   -70,   -10,   -70,   -10}
719 ,{   -10,   -70,   -10,   -70,   -10}};
720 PUBLIC int dangle3_dH[NBPAIRS+1][5] =
721 {{   INF,   INF,   INF,   INF,   INF}
722 ,{  -410,  -900,  -410,  -860,  -750}
723 ,{  -280,  -740,  -280,  -640,  -360}
724 ,{   -90,  -490,   -90,  -550,  -230}
725 ,{   -70,  -570,   -70,  -580,  -220}
726 ,{   -90,  -490,   -90,  -550,  -230}
727 ,{   -70,  -570,   -70,  -580,  -220}
728 ,{   -70,  -490,   -70,  -550,  -220}};
729 PUBLIC int dangle5_37[NBPAIRS+1][5] =
730 {{   INF,   INF,   INF,   INF,   INF}
731 ,{     0,   -20,   -30,     0,     0}
732 ,{   -10,   -50,   -30,   -20,   -10}
733 ,{   -10,   -30,   -10,   -20,   -20}
734 ,{   -20,   -30,   -30,   -40,   -20}
735 ,{   -10,   -30,   -10,   -20,   -20}
736 ,{   -20,   -30,   -30,   -40,   -20}
737 ,{     0,   -20,   -10,     0,     0}};
738 PUBLIC int dangle5_dH[NBPAIRS+1][5] =
739 {{   INF,   INF,   INF,   INF,   INF}
740 ,{    70,  -160,    70,  -460,   -40}
741 ,{   330,  -240,   330,    80,  -140}
742 ,{   690,   -50,   690,    60,    60}
743 ,{   310,   160,   220,    70,   310}
744 ,{   690,   -50,   690,    60,    60}
745 ,{   310,   160,   220,    70,   310}
746 ,{   690,   160,   690,    80,   310}};
747
748 PUBLIC char Triloops[241] =
749   "CAACG "
750   "GUUAC "
751 ;
752 PUBLIC int Triloop37[40] = {   680,   690};
753 PUBLIC int TriloopdH[40] = {  2370,  1080};
754
755 PUBLIC char Tetraloops[281] =
756   "CAACGG "
757   "CCAAGG "
758   "CCACGG "
759   "CCCAGG "
760   "CCGAGG "
761   "CCGCGG "
762   "CCUAGG "
763   "CCUCGG "
764   "CUAAGG "
765   "CUACGG "
766   "CUCAGG "
767   "CUCCGG "
768   "CUGCGG "
769   "CUUAGG "
770   "CUUCGG "
771   "CUUUGG "
772 ;
773 PUBLIC int Tetraloop37[40] = {   550,   330,   370,   340,   350,   360,   370,   250,   360,   280,   370,   270,   280,   350,   370,   370};
774 PUBLIC int TetraloopdH[40] = {   690, -1030,  -330,  -890,  -660,  -750,  -350, -1390,  -760, -1070,  -660, -1290, -1070,  -620, -1530,  -680};
775
776 PUBLIC char Hexaloops[361] =
777   "ACAGUACU "
778   "ACAGUGAU "
779   "ACAGUGCU "
780   "ACAGUGUU "
781 ;
782 PUBLIC int Hexaloop37[40] = {   280,   360,   290,   180};
783 PUBLIC int HexaloopdH[40] = { -1680, -1140, -1280, -1540};
784
785 #include "intl11.h"
786 #include "intl11dH.h"
787 #include "intl21.h"
788 #include "intl21dH.h"
789 #include "intl22.h"
790 #include "intl22dH.h"
791