RNAlib-2.5.1
1.8.4_epars.h
Go to the documentation of this file.
1#ifndef VIENNA_RNA_PACKAGE_OLD_EPARS__
2#define VIENNA_RNA_PACKAGE_OLD_EPARS__
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
50PRIVATE double Tmeasure_184 = 37 + K0; /* temperature of param measurements */
51PRIVATE double lxc37_184 = 107.856; /* parameter for logarithmic loop
52 energy extrapolation */
53
54PRIVATE 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 */
67PRIVATE 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 */
80PRIVATE 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
85PRIVATE 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
90PRIVATE 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
95PRIVATE 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
100PRIVATE 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
105PRIVATE 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 */
112PRIVATE 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 */
157PRIVATE 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 */
202PRIVATE int mismatchM37_184[NBPAIRS+1][5][5];
203
204/* these are probably junk */
205/* mismatch enthalpies for temperature scaling */
206PRIVATE 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) */
251PRIVATE 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 */
264PRIVATE 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 */
277PRIVATE 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
289PRIVATE 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) */
305PRIVATE int ML_BASE37_184 = 0;
306PRIVATE int ML_closing37_184 = 340;
307PRIVATE 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}] } */
311PRIVATE int MAX_NINIO_184 = 300; /* maximum correction */
312PRIVATE 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
316PRIVATE 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
349PRIVATE 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
354PRIVATE int TETRA_ENTH37_184 = -400;
355
356PRIVATE char Triloops_184[241] = "";
357
358PRIVATE int Triloop_E37_184[40];
359
360/* penalty for AU (or GU) terminating helix) */
361/* mismatches already contain these */
362PRIVATE int TerminalAU_184 = 50;
363
364/* penalty for forming a bi-molecular duplex */
365PRIVATE int DuplexInit_184 = 410;
366
367#endif
#define INF
Definition: constants.h:17
#define K0
Definition: constants.h:15
#define NBPAIRS
Definition: constants.h:25