1 #ifndef VIENNA_RNA_PACKAGE_OLD_EPARS__
2 #define VIENNA_RNA_PACKAGE_OLD_EPARS__
3 /**
4     @file 1.8.4_epars.h
5     @ingroup energy_parameters_convert
6     @brief Free energy parameters for parameter file conversion
7 
8     This file contains the free energy parameters used in ViennaRNAPackage 1.8.4.
9     They are summarized in:
10 
11     D.H.Mathews, J. Sabina, M. ZUker, D.H. Turner
12     "Expanded sequence dependence of thermodynamic parameters improves
13     prediction of RNA secondary structure"
14     JMB, 288, pp 911-940, 1999
15 
16     Enthalpies taken from:
17 
18     A. Walter, D Turner, J Kim, M Lyttle, P M"uller, D Mathews, M Zuker
19     "Coaxial stckaing of helices enhances binding of oligoribonucleotides.."
20     PNAS, 91, pp 9218-9222, 1994
21 
22     D.H. Turner, N. Sugimoto, and S.M. Freier.
23     "RNA Structure Prediction",
24     Ann. Rev. Biophys. Biophys. Chem. 17, 167-192, 1988.
25 
26     John A.Jaeger, Douglas H.Turner, and Michael Zuker.
27     "Improved predictions of secondary structures for RNA",
28     PNAS, 86, 7706-7710, October 1989.
29 
30     L. He, R. Kierzek, J. SantaLucia, A.E. Walter, D.H. Turner
31     "Nearest-Neughbor Parameters for GU Mismatches...."
32     Biochemistry 1991, 30 11124-11132
33 
34     A.E. Peritz, R. Kierzek, N, Sugimoto, D.H. Turner
35     "Thermodynamic Study of Internal Loops in Oligoribonucleotides..."
36     Biochemistry 1991, 30, 6428--6435
37 */
38 
39 #define K0        273.15
40 #ifdef INF
41 #undef INF
42 #endif
43 #define INF       1000000
44 #define NBPAIRS   7
45 #define NST       0     /* Energy for nonstandard stacked pairs */
46 #define DEF       -50   /* Default terminal mismatch, used for I */
47                         /* and any non_pairing bases */
48 #define NSM       0     /* terminal mismatch for non standard pairs */
49 
50 PRIVATE double Tmeasure_184 = 37 + K0;  /* temperature of param measurements */
51 PRIVATE double lxc37_184    = 107.856;  /* parameter for logarithmic loop
52                                            energy extrapolation */
53 
54 PRIVATE int stack37_184[NBPAIRS+1][NBPAIRS+1] =
55 /*          CG     GC     GU     UG     AU     UA  */
56 { {  INF,   INF,   INF,   INF,   INF,   INF,   INF, INF},
57   {  INF,  -240,  -330,  -210,  -140,  -210,  -210, NST},
58   {  INF,  -330,  -340,  -250,  -150,  -220,  -240, NST},
59   {  INF,  -210,  -250,   130,   -50,  -140,  -130, NST},
60   {  INF,  -140,  -150,   -50,    30,   -60,  -100, NST},
61   {  INF,  -210,  -220,  -140,   -60,  -110,   -90, NST},
62   {  INF,  -210,  -240,  -130,  -100,   -90,  -130, NST},
63   {  INF,   NST,   NST,   NST,   NST,   NST,   NST, NST}};
64 
65 /* enthalpies (0.01*kcal/mol at 37 C) for stacked pairs */
66 /* different from mfold-2.3, which uses values from mfold-2.2 */
67 PRIVATE int enthalpies_184[NBPAIRS+1][NBPAIRS+1] =
68 /*          CG     GC     GU     UG     AU     UA  */
69 { {  INF,   INF,   INF,   INF,   INF,   INF,   INF, INF},
70   {  INF, -1060, -1340, -1210,  -560, -1050, -1040, NST},
71   {  INF, -1340, -1490, -1260,  -830, -1140, -1240, NST},
72   {  INF, -1210, -1260, -1460, -1350,  -880, -1280, NST},
73   {  INF,  -560,  -830, -1350,  -930,  -320,  -700, NST},
74   {  INF, -1050, -1140,  -880,  -320,  -940,  -680, NST},
75   {  INF, -1040, -1240, -1280,  -700,  -680,  -770, NST},
76   {  INF,   NST,   NST,   NST,   NST,   NST,   NST, NST}};
77 
78 
79 /* old values are here just for comparison */
80 PRIVATE int oldhairpin37_184[31] = { /* from ViennaRNA 1.3 */
81   INF, INF, INF, 410, 490, 440, 470, 500, 510, 520, 531,
82        542, 551, 560, 568, 575, 582, 589, 595, 601, 606,
83        611, 616, 621, 626, 630, 634, 638, 642, 646, 650};
84 
85 PRIVATE int hairpin37_184[31] = {
86   INF, INF, INF, 570, 560, 560, 540, 590, 560, 640, 650,
87        660, 670, 678, 686, 694, 701, 707, 713, 719, 725,
88        730, 735, 740, 744, 749, 753, 757, 761, 765, 769};
89 
90 PRIVATE int oldbulge37_184[31] = {
91   INF, 390, 310, 350, 420, 480, 500, 516, 531, 543, 555,
92        565, 574, 583, 591, 598, 605, 612, 618, 624, 630,
93        635, 640, 645, 649, 654, 658, 662, 666, 670, 673};
94 
95 PRIVATE int bulge37_184[31] = {
96   INF, 380, 280, 320, 360, 400, 440, 459, 470, 480, 490,
97        500, 510, 519, 527, 534, 541, 548, 554, 560, 565,
98   571, 576, 580, 585, 589, 594, 598, 602, 605, 609};
99 
100 PRIVATE int oldinternal_loop37_184[31] = {
101   INF, INF, 410, 510, 490, 530, 570, 587, 601, 614, 625,
102        635, 645, 653, 661, 669, 676, 682, 688, 694, 700,
103        705, 710, 715, 720, 724, 728, 732, 736, 740, 744};
104 
105 PRIVATE int internal_loop37_184[31] = {
106   INF, INF, 410, 510, 170, 180, 200, 220, 230, 240, 250,
107        260, 270, 278, 286, 294, 301, 307, 313, 319, 325,
108        330, 335, 340, 345, 349, 353, 357, 361, 365, 369};
109 
110 /* terminal mismatches */
111 /* mismatch free energies for interior loops at 37C */
112 PRIVATE int mismatchI37_184[NBPAIRS+1][5][5] =
113 { /* @@ */
114   {{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}},
115   { /* CG */
116    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
117    {   0,    0,    0, -110,    0}, /* A@  AA  AC  AG  AU */
118    {   0,    0,    0,    0,    0}, /* C@  CA  CC  CG  CU */
119    {   0, -110,    0,    0,    0}, /* G@  GA  GC  GG  GU */
120    {   0,    0,    0,    0,  -70}},/* U@  UA  UC  UG  UU */
121   { /* GC */
122    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
123    {   0,    0,    0, -110,    0}, /* A@  AA  AC  AG  AU */
124    {   0,    0,    0,    0,    0}, /* C@  CA  CC  CG  CU */
125    {   0, -110,    0,    0,    0}, /* G@  GA  GC  GG  GU */
126    {   0,    0,    0,    0,  -70}},/* U@  UA  UC  UG  UU */
127   { /* GU */
128    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
129    {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
130    {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
131    {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
132    {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
133   { /* UG */
134    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
135    {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
136    {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
137    {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
138    {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
139   { /* AU */
140    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
141    {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
142    {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
143    {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
144    {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
145   { /* UA */
146    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
147    {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
148    {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
149    {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
150    {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
151   { /* @@ */
152    { 90, 90, 90, 90, 90},{ 90, 90, 90, 90,-20},{ 90, 90, 90, 90, 90},
153    { 90,-20, 90, 90, 90},{ 90, 90, 90, 90, 20}}
154 };
155 
156 /* mismatch free energies for hairpins at 37C */
157 PRIVATE int mismatchH37_184[NBPAIRS+1][5][5] =
158 { /* @@ */
159   {{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}},
160   { /* CG */
161    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
162    { -90, -150, -150, -140, -180}, /* A@  AA  AC  AG  AU */
163    { -90, -100,  -90, -290,  -80}, /* C@  CA  CC  CG  CU */
164    { -90, -220, -200, -160, -110}, /* G@  GA  GC  GG  GU */
165    { -90, -170, -140, -180, -200}},/* U@  UA  UC  UG  UU */
166   { /* GC */
167    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
168    { -70, -110, -150, -130, -210}, /* A@  AA  AC  AG  AU */
169    { -70, -110,  -70, -240,  -50}, /* C@  CA  CC  CG  CU */
170    { -70, -240, -290, -140, -120}, /* G@  GA  GC  GG  GU */
171    { -70, -190, -100, -220, -150}},/* U@  UA  UC  UG  UU */
172   { /* GU */
173    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
174    {   0,   20,  -50,  -30,  -30}, /* A@  AA  AC  AG  AU */
175    {   0,  -10,  -20, -150,  -20}, /* C@  CA  CC  CG  CU */
176    {   0,  -90, -110,  -30,    0}, /* G@  GA  GC  GG  GU */
177    {   0,  -30,  -30,  -40, -110}},/* U@  UA  UC  UG  UU */
178   { /* UG */
179    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
180    {   0,  -50,  -30,  -60,  -50}, /* A@  AA  AC  AG  AU */
181    {   0,  -20,  -10, -170,    0}, /* C@  CA  CC  CG  CU */
182    {   0,  -80, -120,  -30,  -70}, /* G@  GA  GC  GG  GU */
183    {   0,  -60,  -10,  -60,  -80}},/* U@  UA  UC  UG  UU */
184   { /* AU */
185    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
186    {   0,  -30,  -50,  -30,  -30}, /* A@  AA  AC  AG  AU */
187    {   0,  -10,  -20, -150,  -20}, /* C@  CA  CC  CG  CU */
188    {   0, -110, -120,  -20,   20}, /* G@  GA  GC  GG  GU */
189    {   0,  -30,  -30,  -60, -110}},/* U@  UA  UC  UG  UU */
190   { /* UA */
191    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
192    {   0,  -50,  -30,  -60,  -50}, /* A@  AA  AC  AG  AU */
193    {   0,  -20,  -10, -120,   -0}, /* C@  CA  CC  CG  CU */
194    {   0, -140, -120,  -70,  -20}, /* G@  GA  GC  GG  GU */
195    {   0,  -30,  -10,  -50,  -80}},/* U@  UA  UC  UG  UU */
196   { /* @@ */
197    {  0,  0,  0,  0,  0},{  0,  0,  0,  0,  0},{  0,  0,  0,  0,  0},
198    {  0,  0,  0,  0,  0},{  0,  0,  0,  0,  0}}
199 };
200 
201 /* mismatch energies in multiloops */
202 PRIVATE int mismatchM37_184[NBPAIRS+1][5][5];
203 
204 /* these are probably junk */
205 /* mismatch enthalpies for temperature scaling */
206 PRIVATE int mism_H_184[NBPAIRS+1][5][5] =
207 { /* no pair */
208   {{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}},
209   { /* CG */
210    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
211    { DEF,-1030, -950,-1030,-1030}, /* A@  AA  AC  AG  AU */
212    { DEF, -520, -450, -520, -670}, /* C@  CA  CC  CG  CU */
213    { DEF, -940, -940, -940, -940}, /* G@  GA  GC  GG  GU */
214    { DEF, -810, -740, -810, -860}},/* U@  UA  UC  UG  UU */
215   { /* GC */
216    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
217    { DEF, -520, -880, -560, -880}, /* A@  AA  AC  AG  AU */
218    { DEF, -720, -310, -310, -390}, /* C@  CA  CC  CG  CU */
219    { DEF, -710, -740, -620, -740}, /* G@  GA  GC  GG  GU */
220    { DEF, -500, -500, -500, -570}},/* U@  UA  UC  UG  UU */
221   { /* GU */
222    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
223    { DEF, -430, -600, -600, -600}, /* A@  AA  AC  AG  AU */
224    { DEF, -260, -240, -240, -240}, /* C@  CA  CC  CG  CU */
225    { DEF, -340, -690, -690, -690}, /* G@  GA  GC  GG  GU */
226    { DEF, -330, -330, -330, -330}},/* U@  UA  UC  UG  UU */
227   { /* UG */
228    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
229    { DEF, -720, -790, -960, -810}, /* A@  AA  AC  AG  AU */
230    { DEF, -480, -480, -360, -480}, /* C@  CA  CC  CG  CU */
231    { DEF, -660, -810, -920, -810}, /* G@  GA  GC  GG  GU */
232    { DEF, -550, -440, -550, -360}},/* U@  UA  UC  UG  UU */
233   { /* AU */
234    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
235    { DEF, -430, -600, -600, -600}, /* A@  AA  AC  AG  AU */
236    { DEF, -260, -240, -240, -240}, /* C@  CA  CC  CG  CU */
237    { DEF, -340, -690, -690, -690}, /* G@  GA  GC  GG  GU */
238    { DEF, -330, -330, -330, -330}},/* U@  UA  UC  UG  UU */
239   { /* UA */
240    {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
241    { DEF, -400, -630, -890, -590}, /* A@  AA  AC  AG  AU */
242    { DEF, -430, -510, -200, -180}, /* C@  CA  CC  CG  CU */
243    { DEF, -380, -680, -890, -680}, /* G@  GA  GC  GG  GU */
244    { DEF, -280, -140, -280, -140}},/* U@  UA  UC  UG  UU */
245   { /* nonstandard pair */
246    {DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF},
247    {DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF}}
248 };
249 
250 /* 5' dangling ends (unpaird base stacks on first paired base) */
251 PRIVATE int dangle5_37_184[NBPAIRS+1][5]=
252 {/*   @     A     C     G     U   */
253    { INF,  INF,  INF,  INF,  INF}, /* no pair */
254    { INF,  -50,  -30,  -20,  -10}, /* CG  (stacks on C) */
255    { INF,  -20,  -30,   -0,   -0}, /* GC  (stacks on G) */
256    { INF,  -30,  -30,  -40,  -20}, /* GU */
257    { INF,  -30,  -10,  -20,  -20}, /* UG */
258    { INF,  -30,  -30,  -40,  -20}, /* AU */
259    { INF,  -30,  -10,  -20,  -20}, /* UA */
260    {   0,    0,     0,    0,   0}  /*  @ */
261 };
262 
263 /* 3' dangling ends (unpaired base stacks on second paired base */
264 PRIVATE int dangle3_37_184[NBPAIRS+1][5]=
265 {/*   @     A     C     G     U   */
266    { INF,  INF,  INF,  INF,  INF},  /* no pair */
267    { INF, -110,  -40, -130,  -60},  /* CG  (stacks on G) */
268    { INF, -170,  -80, -170, -120},  /* GC */
269    { INF,  -70,  -10,  -70,  -10},  /* GU */
270    { INF,  -80,  -50,  -80,  -60},  /* UG */
271    { INF,  -70,  -10,  -70,  -10},  /* AU */
272    { INF,  -80,  -50,  -80,  -60},  /* UA */
273    {   0,    0,     0,    0,   0}   /*  @ */
274 };
275 
276 /* enthalpies for temperature scaling */
277 PRIVATE int dangle3_H_184[NBPAIRS+1][5] =
278 {/*   @     A     C     G     U   */
279    { INF,  INF,  INF,  INF,  INF},  /* no pair */
280    {   0, -740, -280, -640, -360},
281    {   0, -900, -410, -860, -750},
282    {   0, -740, -240, -720, -490},
283    {   0, -490,  -90, -550, -230},
284    {   0, -570,  -70, -580, -220},
285    {   0, -490,  -90, -550, -230},
286    {   0,    0,    0,    0,   0}
287 };
288 
289 PRIVATE int dangle5_H_184[NBPAIRS+1][5] =
290 {/*   @     A     C     G     U   */
291    { INF,  INF,  INF,  INF,  INF},  /* no pair */
292    {   0, -240,  330,   80, -140},
293    {   0, -160,   70, -460,  -40},
294    {   0,  160,  220,   70,  310},
295    {   0, -150,  510,   10,  100},
296    {   0,  160,  220,   70,  310},
297    {   0,  -50,  690,  -60,  -60},
298    {   0,    0,    0,    0,   0}
299 };
300 
301 
302 /* constants for linearly destabilizing contributions for multi-loops
303    F = ML_closing + ML_intern*k + ML_BASE*u  */
304 /* old versions erroneously used ML_intern*(k-1) */
305 PRIVATE int ML_BASE37_184 = 0;
306 PRIVATE int ML_closing37_184 = 340;
307 PRIVATE int ML_intern37_184 =  40;
308 
309 /* Ninio-correction for asymmetric internal loops with branches n1 and n2 */
310 /*    ninio_energy = min{max_ninio, |n1-n2|*F_ninio[min{4.0, n1, n2}] } */
311 PRIVATE int MAX_NINIO_184 = 300;                   /* maximum correction */
312 PRIVATE int F_ninio37_184[5] = { 0, 40, 50, 20, 10 };      /* only F[2] used */
313 
314 /* stabilizing contribution due to special hairpins of size 4 (tetraloops) */
315 
316 PRIVATE char Tetraloops_184[1400] =  /* place for up to 200 tetra loops */
317   "GGGGAC "
318   "GGUGAC "
319   "CGAAAG "
320   "GGAGAC "
321   "CGCAAG "
322   "GGAAAC "
323   "CGGAAG "
324   "CUUCGG "
325   "CGUGAG "
326   "CGAAGG "
327   "CUACGG "
328   "GGCAAC "
329   "CGCGAG "
330   "UGAGAG "
331   "CGAGAG "
332   "AGAAAU "
333   "CGUAAG "
334   "CUAACG "
335   "UGAAAG "
336   "GGAAGC "
337   "GGGAAC "
338   "UGAAAA "
339   "AGCAAU "
340   "AGUAAU "
341   "CGGGAG "
342   "AGUGAU "
343   "GGCGAC "
344   "GGGAGC "
345   "GUGAAC "
346   "UGGAAA "
347 ;
348 
349 PRIVATE int   TETRA_ENERGY37_184[200] = {
350   -300, -300, -300, -300, -300, -300, -300, -300, -300, -250, -250, -250,
351   -250, -250, -200, -200, -200, -200, -200, -150, -150, -150, -150, -150,
352   -150, -150, -150, -150, -150, -150};
353 
354 PRIVATE int   TETRA_ENTH37_184   = -400;
355 
356 PRIVATE char Triloops_184[241] = "";
357 
358 PRIVATE int Triloop_E37_184[40];
359 
360 /* penalty for AU (or GU) terminating helix) */
361 /* mismatches already contain these */
362 PRIVATE int TerminalAU_184 = 50;
363 
364 /* penalty for forming a bi-molecular duplex */
365 PRIVATE int DuplexInit_184 = 410;
366 
367 #endif
368