RNAlib-2.0.6
|
00001 #ifndef __VIENNA_RNA_PACKAGE_OLD_EPARS__ 00002 #define __VIENNA_RNA_PACKAGE_OLD_EPARS__ 00003 00038 #define K0 273.15 00039 #ifdef INF 00040 #undef INF 00041 #endif 00042 #define INF 1000000 00043 #define NBPAIRS 7 00044 #define NST 0 /* Energy for nonstandard stacked pairs */ 00045 #define DEF -50 /* Default terminal mismatch, used for I */ 00046 /* and any non_pairing bases */ 00047 #define NSM 0 /* terminal mismatch for non standard pairs */ 00048 00049 PRIVATE double Tmeasure_184 = 37 + K0; /* temperature of param measurements */ 00050 PRIVATE double lxc37_184 = 107.856; /* parameter for logarithmic loop 00051 energy extrapolation */ 00052 00053 PRIVATE int stack37_184[NBPAIRS+1][NBPAIRS+1] = 00054 /* CG GC GU UG AU UA */ 00055 { { INF, INF, INF, INF, INF, INF, INF, INF}, 00056 { INF, -240, -330, -210, -140, -210, -210, NST}, 00057 { INF, -330, -340, -250, -150, -220, -240, NST}, 00058 { INF, -210, -250, 130, -50, -140, -130, NST}, 00059 { INF, -140, -150, -50, 30, -60, -100, NST}, 00060 { INF, -210, -220, -140, -60, -110, -90, NST}, 00061 { INF, -210, -240, -130, -100, -90, -130, NST}, 00062 { INF, NST, NST, NST, NST, NST, NST, NST}}; 00063 00064 /* enthalpies (0.01*kcal/mol at 37 C) for stacked pairs */ 00065 /* different from mfold-2.3, which uses values from mfold-2.2 */ 00066 PRIVATE int enthalpies_184[NBPAIRS+1][NBPAIRS+1] = 00067 /* CG GC GU UG AU UA */ 00068 { { INF, INF, INF, INF, INF, INF, INF, INF}, 00069 { INF, -1060, -1340, -1210, -560, -1050, -1040, NST}, 00070 { INF, -1340, -1490, -1260, -830, -1140, -1240, NST}, 00071 { INF, -1210, -1260, -1460, -1350, -880, -1280, NST}, 00072 { INF, -560, -830, -1350, -930, -320, -700, NST}, 00073 { INF, -1050, -1140, -880, -320, -940, -680, NST}, 00074 { INF, -1040, -1240, -1280, -700, -680, -770, NST}, 00075 { INF, NST, NST, NST, NST, NST, NST, NST}}; 00076 00077 00078 /* old values are here just for comparison */ 00079 PRIVATE int oldhairpin37_184[31] = { /* from ViennaRNA 1.3 */ 00080 INF, INF, INF, 410, 490, 440, 470, 500, 510, 520, 531, 00081 542, 551, 560, 568, 575, 582, 589, 595, 601, 606, 00082 611, 616, 621, 626, 630, 634, 638, 642, 646, 650}; 00083 00084 PRIVATE int hairpin37_184[31] = { 00085 INF, INF, INF, 570, 560, 560, 540, 590, 560, 640, 650, 00086 660, 670, 678, 686, 694, 701, 707, 713, 719, 725, 00087 730, 735, 740, 744, 749, 753, 757, 761, 765, 769}; 00088 00089 PRIVATE int oldbulge37_184[31] = { 00090 INF, 390, 310, 350, 420, 480, 500, 516, 531, 543, 555, 00091 565, 574, 583, 591, 598, 605, 612, 618, 624, 630, 00092 635, 640, 645, 649, 654, 658, 662, 666, 670, 673}; 00093 00094 PRIVATE int bulge37_184[31] = { 00095 INF, 380, 280, 320, 360, 400, 440, 459, 470, 480, 490, 00096 500, 510, 519, 527, 534, 541, 548, 554, 560, 565, 00097 571, 576, 580, 585, 589, 594, 598, 602, 605, 609}; 00098 00099 PRIVATE int oldinternal_loop37_184[31] = { 00100 INF, INF, 410, 510, 490, 530, 570, 587, 601, 614, 625, 00101 635, 645, 653, 661, 669, 676, 682, 688, 694, 700, 00102 705, 710, 715, 720, 724, 728, 732, 736, 740, 744}; 00103 00104 PRIVATE int internal_loop37_184[31] = { 00105 INF, INF, 410, 510, 170, 180, 200, 220, 230, 240, 250, 00106 260, 270, 278, 286, 294, 301, 307, 313, 319, 325, 00107 330, 335, 340, 345, 349, 353, 357, 361, 365, 369}; 00108 00109 /* terminal mismatches */ 00110 /* mismatch free energies for interior loops at 37C */ 00111 PRIVATE int mismatchI37_184[NBPAIRS+1][5][5] = 00112 { /* @@ */ 00113 {{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}}, 00114 { /* CG */ 00115 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00116 { 0, 0, 0, -110, 0}, /* A@ AA AC AG AU */ 00117 { 0, 0, 0, 0, 0}, /* C@ CA CC CG CU */ 00118 { 0, -110, 0, 0, 0}, /* G@ GA GC GG GU */ 00119 { 0, 0, 0, 0, -70}},/* U@ UA UC UG UU */ 00120 { /* GC */ 00121 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00122 { 0, 0, 0, -110, 0}, /* A@ AA AC AG AU */ 00123 { 0, 0, 0, 0, 0}, /* C@ CA CC CG CU */ 00124 { 0, -110, 0, 0, 0}, /* G@ GA GC GG GU */ 00125 { 0, 0, 0, 0, -70}},/* U@ UA UC UG UU */ 00126 { /* GU */ 00127 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00128 { 0, 70, 70, -40, 70}, /* A@ AA AC AG AU */ 00129 { 0, 70, 70, 70, 70}, /* C@ CA CC CG CU */ 00130 { 0, -40, 70, 70, 70}, /* G@ GA GC GG GU */ 00131 { 0, 70, 70, 70, 0}},/* U@ UA UC UG UU */ 00132 { /* UG */ 00133 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00134 { 0, 70, 70, -40, 70}, /* A@ AA AC AG AU */ 00135 { 0, 70, 70, 70, 70}, /* C@ CA CC CG CU */ 00136 { 0, -40, 70, 70, 70}, /* G@ GA GC GG GU */ 00137 { 0, 70, 70, 70, 0}},/* U@ UA UC UG UU */ 00138 { /* AU */ 00139 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00140 { 0, 70, 70, -40, 70}, /* A@ AA AC AG AU */ 00141 { 0, 70, 70, 70, 70}, /* C@ CA CC CG CU */ 00142 { 0, -40, 70, 70, 70}, /* G@ GA GC GG GU */ 00143 { 0, 70, 70, 70, 0}},/* U@ UA UC UG UU */ 00144 { /* UA */ 00145 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00146 { 0, 70, 70, -40, 70}, /* A@ AA AC AG AU */ 00147 { 0, 70, 70, 70, 70}, /* C@ CA CC CG CU */ 00148 { 0, -40, 70, 70, 70}, /* G@ GA GC GG GU */ 00149 { 0, 70, 70, 70, 0}},/* U@ UA UC UG UU */ 00150 { /* @@ */ 00151 { 90, 90, 90, 90, 90},{ 90, 90, 90, 90,-20},{ 90, 90, 90, 90, 90}, 00152 { 90,-20, 90, 90, 90},{ 90, 90, 90, 90, 20}} 00153 }; 00154 00155 /* mismatch free energies for hairpins at 37C */ 00156 PRIVATE int mismatchH37_184[NBPAIRS+1][5][5] = 00157 { /* @@ */ 00158 {{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}}, 00159 { /* CG */ 00160 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00161 { -90, -150, -150, -140, -180}, /* A@ AA AC AG AU */ 00162 { -90, -100, -90, -290, -80}, /* C@ CA CC CG CU */ 00163 { -90, -220, -200, -160, -110}, /* G@ GA GC GG GU */ 00164 { -90, -170, -140, -180, -200}},/* U@ UA UC UG UU */ 00165 { /* GC */ 00166 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00167 { -70, -110, -150, -130, -210}, /* A@ AA AC AG AU */ 00168 { -70, -110, -70, -240, -50}, /* C@ CA CC CG CU */ 00169 { -70, -240, -290, -140, -120}, /* G@ GA GC GG GU */ 00170 { -70, -190, -100, -220, -150}},/* U@ UA UC UG UU */ 00171 { /* GU */ 00172 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00173 { 0, 20, -50, -30, -30}, /* A@ AA AC AG AU */ 00174 { 0, -10, -20, -150, -20}, /* C@ CA CC CG CU */ 00175 { 0, -90, -110, -30, 0}, /* G@ GA GC GG GU */ 00176 { 0, -30, -30, -40, -110}},/* U@ UA UC UG UU */ 00177 { /* UG */ 00178 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00179 { 0, -50, -30, -60, -50}, /* A@ AA AC AG AU */ 00180 { 0, -20, -10, -170, 0}, /* C@ CA CC CG CU */ 00181 { 0, -80, -120, -30, -70}, /* G@ GA GC GG GU */ 00182 { 0, -60, -10, -60, -80}},/* U@ UA UC UG UU */ 00183 { /* AU */ 00184 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00185 { 0, -30, -50, -30, -30}, /* A@ AA AC AG AU */ 00186 { 0, -10, -20, -150, -20}, /* C@ CA CC CG CU */ 00187 { 0, -110, -120, -20, 20}, /* G@ GA GC GG GU */ 00188 { 0, -30, -30, -60, -110}},/* U@ UA UC UG UU */ 00189 { /* UA */ 00190 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00191 { 0, -50, -30, -60, -50}, /* A@ AA AC AG AU */ 00192 { 0, -20, -10, -120, -0}, /* C@ CA CC CG CU */ 00193 { 0, -140, -120, -70, -20}, /* G@ GA GC GG GU */ 00194 { 0, -30, -10, -50, -80}},/* U@ UA UC UG UU */ 00195 { /* @@ */ 00196 { 0, 0, 0, 0, 0},{ 0, 0, 0, 0, 0},{ 0, 0, 0, 0, 0}, 00197 { 0, 0, 0, 0, 0},{ 0, 0, 0, 0, 0}} 00198 }; 00199 00200 /* mismatch energies in multiloops */ 00201 PRIVATE int mismatchM37_184[NBPAIRS+1][5][5]; 00202 00203 /* these are probably junk */ 00204 /* mismatch enthalpies for temperature scaling */ 00205 PRIVATE int mism_H_184[NBPAIRS+1][5][5] = 00206 { /* no pair */ 00207 {{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}}, 00208 { /* CG */ 00209 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00210 { DEF,-1030, -950,-1030,-1030}, /* A@ AA AC AG AU */ 00211 { DEF, -520, -450, -520, -670}, /* C@ CA CC CG CU */ 00212 { DEF, -940, -940, -940, -940}, /* G@ GA GC GG GU */ 00213 { DEF, -810, -740, -810, -860}},/* U@ UA UC UG UU */ 00214 { /* GC */ 00215 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00216 { DEF, -520, -880, -560, -880}, /* A@ AA AC AG AU */ 00217 { DEF, -720, -310, -310, -390}, /* C@ CA CC CG CU */ 00218 { DEF, -710, -740, -620, -740}, /* G@ GA GC GG GU */ 00219 { DEF, -500, -500, -500, -570}},/* U@ UA UC UG UU */ 00220 { /* GU */ 00221 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00222 { DEF, -430, -600, -600, -600}, /* A@ AA AC AG AU */ 00223 { DEF, -260, -240, -240, -240}, /* C@ CA CC CG CU */ 00224 { DEF, -340, -690, -690, -690}, /* G@ GA GC GG GU */ 00225 { DEF, -330, -330, -330, -330}},/* U@ UA UC UG UU */ 00226 { /* UG */ 00227 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00228 { DEF, -720, -790, -960, -810}, /* A@ AA AC AG AU */ 00229 { DEF, -480, -480, -360, -480}, /* C@ CA CC CG CU */ 00230 { DEF, -660, -810, -920, -810}, /* G@ GA GC GG GU */ 00231 { DEF, -550, -440, -550, -360}},/* U@ UA UC UG UU */ 00232 { /* AU */ 00233 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00234 { DEF, -430, -600, -600, -600}, /* A@ AA AC AG AU */ 00235 { DEF, -260, -240, -240, -240}, /* C@ CA CC CG CU */ 00236 { DEF, -340, -690, -690, -690}, /* G@ GA GC GG GU */ 00237 { DEF, -330, -330, -330, -330}},/* U@ UA UC UG UU */ 00238 { /* UA */ 00239 { 0, 0, 0, 0, 0}, /* @@ @A @C @G @U */ 00240 { DEF, -400, -630, -890, -590}, /* A@ AA AC AG AU */ 00241 { DEF, -430, -510, -200, -180}, /* C@ CA CC CG CU */ 00242 { DEF, -380, -680, -890, -680}, /* G@ GA GC GG GU */ 00243 { DEF, -280, -140, -280, -140}},/* U@ UA UC UG UU */ 00244 { /* nonstandard pair */ 00245 {DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF}, 00246 {DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF}} 00247 }; 00248 00249 /* 5' dangling ends (unpaird base stacks on first paired base) */ 00250 PRIVATE int dangle5_37_184[NBPAIRS+1][5]= 00251 {/* @ A C G U */ 00252 { INF, INF, INF, INF, INF}, /* no pair */ 00253 { INF, -50, -30, -20, -10}, /* CG (stacks on C) */ 00254 { INF, -20, -30, -0, -0}, /* GC (stacks on G) */ 00255 { INF, -30, -30, -40, -20}, /* GU */ 00256 { INF, -30, -10, -20, -20}, /* UG */ 00257 { INF, -30, -30, -40, -20}, /* AU */ 00258 { INF, -30, -10, -20, -20}, /* UA */ 00259 { 0, 0, 0, 0, 0} /* @ */ 00260 }; 00261 00262 /* 3' dangling ends (unpaired base stacks on second paired base */ 00263 PRIVATE int dangle3_37_184[NBPAIRS+1][5]= 00264 {/* @ A C G U */ 00265 { INF, INF, INF, INF, INF}, /* no pair */ 00266 { INF, -110, -40, -130, -60}, /* CG (stacks on G) */ 00267 { INF, -170, -80, -170, -120}, /* GC */ 00268 { INF, -70, -10, -70, -10}, /* GU */ 00269 { INF, -80, -50, -80, -60}, /* UG */ 00270 { INF, -70, -10, -70, -10}, /* AU */ 00271 { INF, -80, -50, -80, -60}, /* UA */ 00272 { 0, 0, 0, 0, 0} /* @ */ 00273 }; 00274 00275 /* enthalpies for temperature scaling */ 00276 PRIVATE int dangle3_H_184[NBPAIRS+1][5] = 00277 {/* @ A C G U */ 00278 { INF, INF, INF, INF, INF}, /* no pair */ 00279 { 0, -740, -280, -640, -360}, 00280 { 0, -900, -410, -860, -750}, 00281 { 0, -740, -240, -720, -490}, 00282 { 0, -490, -90, -550, -230}, 00283 { 0, -570, -70, -580, -220}, 00284 { 0, -490, -90, -550, -230}, 00285 { 0, 0, 0, 0, 0} 00286 }; 00287 00288 PRIVATE int dangle5_H_184[NBPAIRS+1][5] = 00289 {/* @ A C G U */ 00290 { INF, INF, INF, INF, INF}, /* no pair */ 00291 { 0, -240, 330, 80, -140}, 00292 { 0, -160, 70, -460, -40}, 00293 { 0, 160, 220, 70, 310}, 00294 { 0, -150, 510, 10, 100}, 00295 { 0, 160, 220, 70, 310}, 00296 { 0, -50, 690, -60, -60}, 00297 { 0, 0, 0, 0, 0} 00298 }; 00299 00300 00301 /* constants for linearly destabilizing contributions for multi-loops 00302 F = ML_closing + ML_intern*k + ML_BASE*u */ 00303 /* old versions erroneously used ML_intern*(k-1) */ 00304 PRIVATE int ML_BASE37_184 = 0; 00305 PRIVATE int ML_closing37_184 = 340; 00306 PRIVATE int ML_intern37_184 = 40; 00307 00308 /* Ninio-correction for asymmetric internal loops with branches n1 and n2 */ 00309 /* ninio_energy = min{max_ninio, |n1-n2|*F_ninio[min{4.0, n1, n2}] } */ 00310 PRIVATE int MAX_NINIO_184 = 300; /* maximum correction */ 00311 PRIVATE int F_ninio37_184[5] = { 0, 40, 50, 20, 10 }; /* only F[2] used */ 00312 00313 /* stabilizing contribution due to special hairpins of size 4 (tetraloops) */ 00314 00315 PRIVATE char Tetraloops_184[1400] = /* place for up to 200 tetra loops */ 00316 "GGGGAC " 00317 "GGUGAC " 00318 "CGAAAG " 00319 "GGAGAC " 00320 "CGCAAG " 00321 "GGAAAC " 00322 "CGGAAG " 00323 "CUUCGG " 00324 "CGUGAG " 00325 "CGAAGG " 00326 "CUACGG " 00327 "GGCAAC " 00328 "CGCGAG " 00329 "UGAGAG " 00330 "CGAGAG " 00331 "AGAAAU " 00332 "CGUAAG " 00333 "CUAACG " 00334 "UGAAAG " 00335 "GGAAGC " 00336 "GGGAAC " 00337 "UGAAAA " 00338 "AGCAAU " 00339 "AGUAAU " 00340 "CGGGAG " 00341 "AGUGAU " 00342 "GGCGAC " 00343 "GGGAGC " 00344 "GUGAAC " 00345 "UGGAAA " 00346 ; 00347 00348 PRIVATE int TETRA_ENERGY37_184[200] = { 00349 -300, -300, -300, -300, -300, -300, -300, -300, -300, -250, -250, -250, 00350 -250, -250, -200, -200, -200, -200, -200, -150, -150, -150, -150, -150, 00351 -150, -150, -150, -150, -150, -150}; 00352 00353 PRIVATE int TETRA_ENTH37_184 = -400; 00354 00355 PRIVATE char Triloops_184[241] = ""; 00356 00357 PRIVATE int Triloop_E37_184[40]; 00358 00359 /* penalty for AU (or GU) terminating helix) */ 00360 /* mismatches already contain these */ 00361 PRIVATE int TerminalAU_184 = 50; 00362 00363 /* penalty for forming a bi-molecular duplex */ 00364 PRIVATE int DuplexInit_184 = 410; 00365 00366 #endif