WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / lib / 1.8.4_epars.h
diff --git a/binaries/src/ViennaRNA/lib/1.8.4_epars.h b/binaries/src/ViennaRNA/lib/1.8.4_epars.h
new file mode 100644 (file)
index 0000000..e21e146
--- /dev/null
@@ -0,0 +1,366 @@
+#ifndef __VIENNA_RNA_PACKAGE_OLD_EPARS__
+#define __VIENNA_RNA_PACKAGE_OLD_EPARS__
+/**
+    \file 1.8.4_epars.h
+    \brief Free energy parameters for parameter file conversion
+
+    This file contains the free energy parameters used in ViennaRNAPackage 1.8.4.
+    They are summarized in:
+
+    D.H.Mathews, J. Sabina, M. ZUker, D.H. Turner
+    "Expanded sequence dependence of thermodynamic parameters improves
+    prediction of RNA secondary structure"
+    JMB, 288, pp 911-940, 1999
+
+    Enthalpies taken from:
+
+    A. Walter, D Turner, J Kim, M Lyttle, P M"uller, D Mathews, M Zuker
+    "Coaxial stckaing of helices enhances binding of oligoribonucleotides.."
+    PNAS, 91, pp 9218-9222, 1994
+
+    D.H. Turner, N. Sugimoto, and S.M. Freier.
+    "RNA Structure Prediction",
+    Ann. Rev. Biophys. Biophys. Chem. 17, 167-192, 1988.
+
+    John A.Jaeger, Douglas H.Turner, and Michael Zuker.
+    "Improved predictions of secondary structures for RNA",
+    PNAS, 86, 7706-7710, October 1989.
+
+    L. He, R. Kierzek, J. SantaLucia, A.E. Walter, D.H. Turner
+    "Nearest-Neughbor Parameters for GU Mismatches...."
+    Biochemistry 1991, 30 11124-11132
+
+    A.E. Peritz, R. Kierzek, N, Sugimoto, D.H. Turner
+    "Thermodynamic Study of Internal Loops in Oligoribonucleotides..."
+    Biochemistry 1991, 30, 6428--6435
+*/
+
+#define K0        273.15
+#ifdef INF
+#undef INF
+#endif
+#define INF       1000000
+#define NBPAIRS   7
+#define NST       0     /* Energy for nonstandard stacked pairs */
+#define DEF       -50   /* Default terminal mismatch, used for I */
+                        /* and any non_pairing bases */
+#define NSM       0     /* terminal mismatch for non standard pairs */
+
+PRIVATE double Tmeasure_184 = 37 + K0;  /* temperature of param measurements */
+PRIVATE double lxc37_184    = 107.856;  /* parameter for logarithmic loop
+                                           energy extrapolation */
+
+PRIVATE int stack37_184[NBPAIRS+1][NBPAIRS+1] =
+/*          CG     GC     GU     UG     AU     UA  */
+{ {  INF,   INF,   INF,   INF,   INF,   INF,   INF, INF},
+  {  INF,  -240,  -330,  -210,  -140,  -210,  -210, NST},
+  {  INF,  -330,  -340,  -250,  -150,  -220,  -240, NST},
+  {  INF,  -210,  -250,   130,   -50,  -140,  -130, NST},
+  {  INF,  -140,  -150,   -50,    30,   -60,  -100, NST},
+  {  INF,  -210,  -220,  -140,   -60,  -110,   -90, NST},
+  {  INF,  -210,  -240,  -130,  -100,   -90,  -130, NST},
+  {  INF,   NST,   NST,   NST,   NST,   NST,   NST, NST}};
+
+/* enthalpies (0.01*kcal/mol at 37 C) for stacked pairs */
+/* different from mfold-2.3, which uses values from mfold-2.2 */
+PRIVATE int enthalpies_184[NBPAIRS+1][NBPAIRS+1] =
+/*          CG     GC     GU     UG     AU     UA  */
+{ {  INF,   INF,   INF,   INF,   INF,   INF,   INF, INF},
+  {  INF, -1060, -1340, -1210,  -560, -1050, -1040, NST},
+  {  INF, -1340, -1490, -1260,  -830, -1140, -1240, NST},
+  {  INF, -1210, -1260, -1460, -1350,  -880, -1280, NST},
+  {  INF,  -560,  -830, -1350,  -930,  -320,  -700, NST},
+  {  INF, -1050, -1140,  -880,  -320,  -940,  -680, NST},
+  {  INF, -1040, -1240, -1280,  -700,  -680,  -770, NST},
+  {  INF,   NST,   NST,   NST,   NST,   NST,   NST, NST}};
+
+
+/* old values are here just for comparison */
+PRIVATE int oldhairpin37_184[31] = { /* from ViennaRNA 1.3 */
+  INF, INF, INF, 410, 490, 440, 470, 500, 510, 520, 531,
+       542, 551, 560, 568, 575, 582, 589, 595, 601, 606,
+       611, 616, 621, 626, 630, 634, 638, 642, 646, 650};
+
+PRIVATE int hairpin37_184[31] = {
+  INF, INF, INF, 570, 560, 560, 540, 590, 560, 640, 650,
+       660, 670, 678, 686, 694, 701, 707, 713, 719, 725,
+       730, 735, 740, 744, 749, 753, 757, 761, 765, 769};
+
+PRIVATE int oldbulge37_184[31] = {
+  INF, 390, 310, 350, 420, 480, 500, 516, 531, 543, 555,
+       565, 574, 583, 591, 598, 605, 612, 618, 624, 630,
+       635, 640, 645, 649, 654, 658, 662, 666, 670, 673};
+
+PRIVATE int bulge37_184[31] = {
+  INF, 380, 280, 320, 360, 400, 440, 459, 470, 480, 490,
+       500, 510, 519, 527, 534, 541, 548, 554, 560, 565,
+  571, 576, 580, 585, 589, 594, 598, 602, 605, 609};
+
+PRIVATE int oldinternal_loop37_184[31] = {
+  INF, INF, 410, 510, 490, 530, 570, 587, 601, 614, 625,
+       635, 645, 653, 661, 669, 676, 682, 688, 694, 700,
+       705, 710, 715, 720, 724, 728, 732, 736, 740, 744};
+
+PRIVATE int internal_loop37_184[31] = {
+  INF, INF, 410, 510, 170, 180, 200, 220, 230, 240, 250,
+       260, 270, 278, 286, 294, 301, 307, 313, 319, 325,
+       330, 335, 340, 345, 349, 353, 357, 361, 365, 369};
+
+/* terminal mismatches */
+/* mismatch free energies for interior loops at 37C */
+PRIVATE int mismatchI37_184[NBPAIRS+1][5][5] =
+{ /* @@ */
+  {{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}},
+  { /* CG */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,    0,    0, -110,    0}, /* A@  AA  AC  AG  AU */
+   {   0,    0,    0,    0,    0}, /* C@  CA  CC  CG  CU */
+   {   0, -110,    0,    0,    0}, /* G@  GA  GC  GG  GU */
+   {   0,    0,    0,    0,  -70}},/* U@  UA  UC  UG  UU */
+  { /* GC */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,    0,    0, -110,    0}, /* A@  AA  AC  AG  AU */
+   {   0,    0,    0,    0,    0}, /* C@  CA  CC  CG  CU */
+   {   0, -110,    0,    0,    0}, /* G@  GA  GC  GG  GU */
+   {   0,    0,    0,    0,  -70}},/* U@  UA  UC  UG  UU */
+  { /* GU */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
+   {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
+   {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
+   {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
+  { /* UG */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
+   {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
+   {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
+   {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
+  { /* AU */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
+   {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
+   {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
+   {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
+  { /* UA */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,   70,   70,  -40,   70}, /* A@  AA  AC  AG  AU */
+   {   0,   70,   70,   70,   70}, /* C@  CA  CC  CG  CU */
+   {   0,  -40,   70,   70,   70}, /* G@  GA  GC  GG  GU */
+   {   0,   70,   70,   70,    0}},/* U@  UA  UC  UG  UU */
+  { /* @@ */
+   { 90, 90, 90, 90, 90},{ 90, 90, 90, 90,-20},{ 90, 90, 90, 90, 90},
+   { 90,-20, 90, 90, 90},{ 90, 90, 90, 90, 20}}
+};
+
+/* mismatch free energies for hairpins at 37C */
+PRIVATE int mismatchH37_184[NBPAIRS+1][5][5] =
+{ /* @@ */
+  {{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}},
+  { /* CG */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { -90, -150, -150, -140, -180}, /* A@  AA  AC  AG  AU */
+   { -90, -100,  -90, -290,  -80}, /* C@  CA  CC  CG  CU */
+   { -90, -220, -200, -160, -110}, /* G@  GA  GC  GG  GU */
+   { -90, -170, -140, -180, -200}},/* U@  UA  UC  UG  UU */
+  { /* GC */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { -70, -110, -150, -130, -210}, /* A@  AA  AC  AG  AU */
+   { -70, -110,  -70, -240,  -50}, /* C@  CA  CC  CG  CU */
+   { -70, -240, -290, -140, -120}, /* G@  GA  GC  GG  GU */
+   { -70, -190, -100, -220, -150}},/* U@  UA  UC  UG  UU */
+  { /* GU */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,   20,  -50,  -30,  -30}, /* A@  AA  AC  AG  AU */
+   {   0,  -10,  -20, -150,  -20}, /* C@  CA  CC  CG  CU */
+   {   0,  -90, -110,  -30,    0}, /* G@  GA  GC  GG  GU */
+   {   0,  -30,  -30,  -40, -110}},/* U@  UA  UC  UG  UU */
+  { /* UG */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,  -50,  -30,  -60,  -50}, /* A@  AA  AC  AG  AU */
+   {   0,  -20,  -10, -170,    0}, /* C@  CA  CC  CG  CU */
+   {   0,  -80, -120,  -30,  -70}, /* G@  GA  GC  GG  GU */
+   {   0,  -60,  -10,  -60,  -80}},/* U@  UA  UC  UG  UU */
+  { /* AU */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,  -30,  -50,  -30,  -30}, /* A@  AA  AC  AG  AU */
+   {   0,  -10,  -20, -150,  -20}, /* C@  CA  CC  CG  CU */
+   {   0, -110, -120,  -20,   20}, /* G@  GA  GC  GG  GU */
+   {   0,  -30,  -30,  -60, -110}},/* U@  UA  UC  UG  UU */
+  { /* UA */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   {   0,  -50,  -30,  -60,  -50}, /* A@  AA  AC  AG  AU */
+   {   0,  -20,  -10, -120,   -0}, /* C@  CA  CC  CG  CU */
+   {   0, -140, -120,  -70,  -20}, /* G@  GA  GC  GG  GU */
+   {   0,  -30,  -10,  -50,  -80}},/* U@  UA  UC  UG  UU */
+  { /* @@ */
+   {  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}}
+};
+
+/* mismatch energies in multiloops */
+PRIVATE int mismatchM37_184[NBPAIRS+1][5][5];
+
+/* these are probably junk */
+/* mismatch enthalpies for temperature scaling */
+PRIVATE int mism_H_184[NBPAIRS+1][5][5] =
+{ /* no pair */
+  {{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}},
+  { /* CG */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { DEF,-1030, -950,-1030,-1030}, /* A@  AA  AC  AG  AU */
+   { DEF, -520, -450, -520, -670}, /* C@  CA  CC  CG  CU */
+   { DEF, -940, -940, -940, -940}, /* G@  GA  GC  GG  GU */
+   { DEF, -810, -740, -810, -860}},/* U@  UA  UC  UG  UU */
+  { /* GC */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { DEF, -520, -880, -560, -880}, /* A@  AA  AC  AG  AU */
+   { DEF, -720, -310, -310, -390}, /* C@  CA  CC  CG  CU */
+   { DEF, -710, -740, -620, -740}, /* G@  GA  GC  GG  GU */
+   { DEF, -500, -500, -500, -570}},/* U@  UA  UC  UG  UU */
+  { /* GU */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { DEF, -430, -600, -600, -600}, /* A@  AA  AC  AG  AU */
+   { DEF, -260, -240, -240, -240}, /* C@  CA  CC  CG  CU */
+   { DEF, -340, -690, -690, -690}, /* G@  GA  GC  GG  GU */
+   { DEF, -330, -330, -330, -330}},/* U@  UA  UC  UG  UU */
+  { /* UG */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { DEF, -720, -790, -960, -810}, /* A@  AA  AC  AG  AU */
+   { DEF, -480, -480, -360, -480}, /* C@  CA  CC  CG  CU */
+   { DEF, -660, -810, -920, -810}, /* G@  GA  GC  GG  GU */
+   { DEF, -550, -440, -550, -360}},/* U@  UA  UC  UG  UU */
+  { /* AU */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { DEF, -430, -600, -600, -600}, /* A@  AA  AC  AG  AU */
+   { DEF, -260, -240, -240, -240}, /* C@  CA  CC  CG  CU */
+   { DEF, -340, -690, -690, -690}, /* G@  GA  GC  GG  GU */
+   { DEF, -330, -330, -330, -330}},/* U@  UA  UC  UG  UU */
+  { /* UA */
+   {   0,    0,    0,    0,    0}, /* @@  @A  @C  @G  @U */
+   { DEF, -400, -630, -890, -590}, /* A@  AA  AC  AG  AU */
+   { DEF, -430, -510, -200, -180}, /* C@  CA  CC  CG  CU */
+   { DEF, -380, -680, -890, -680}, /* G@  GA  GC  GG  GU */
+   { DEF, -280, -140, -280, -140}},/* U@  UA  UC  UG  UU */
+  { /* nonstandard pair */
+   {DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF},
+   {DEF,DEF,DEF,DEF,DEF},{DEF,DEF,DEF,DEF,DEF}}
+};
+
+/* 5' dangling ends (unpaird base stacks on first paired base) */
+PRIVATE int dangle5_37_184[NBPAIRS+1][5]=
+{/*   @     A     C     G     U   */
+   { INF,  INF,  INF,  INF,  INF}, /* no pair */
+   { INF,  -50,  -30,  -20,  -10}, /* CG  (stacks on C) */
+   { INF,  -20,  -30,   -0,   -0}, /* GC  (stacks on G) */
+   { INF,  -30,  -30,  -40,  -20}, /* GU */
+   { INF,  -30,  -10,  -20,  -20}, /* UG */
+   { INF,  -30,  -30,  -40,  -20}, /* AU */
+   { INF,  -30,  -10,  -20,  -20}, /* UA */
+   {   0,    0,     0,    0,   0}  /*  @ */
+};
+
+/* 3' dangling ends (unpaired base stacks on second paired base */
+PRIVATE int dangle3_37_184[NBPAIRS+1][5]=
+{/*   @     A     C     G     U   */
+   { INF,  INF,  INF,  INF,  INF},  /* no pair */
+   { INF, -110,  -40, -130,  -60},  /* CG  (stacks on G) */
+   { INF, -170,  -80, -170, -120},  /* GC */
+   { INF,  -70,  -10,  -70,  -10},  /* GU */
+   { INF,  -80,  -50,  -80,  -60},  /* UG */
+   { INF,  -70,  -10,  -70,  -10},  /* AU */
+   { INF,  -80,  -50,  -80,  -60},  /* UA */
+   {   0,    0,     0,    0,   0}   /*  @ */
+};
+
+/* enthalpies for temperature scaling */
+PRIVATE int dangle3_H_184[NBPAIRS+1][5] =
+{/*   @     A     C     G     U   */
+   { INF,  INF,  INF,  INF,  INF},  /* no pair */
+   {   0, -740, -280, -640, -360},
+   {   0, -900, -410, -860, -750},
+   {   0, -740, -240, -720, -490},
+   {   0, -490,  -90, -550, -230},
+   {   0, -570,  -70, -580, -220},
+   {   0, -490,  -90, -550, -230},
+   {   0,    0,    0,    0,   0}
+};
+
+PRIVATE int dangle5_H_184[NBPAIRS+1][5] =
+{/*   @     A     C     G     U   */
+   { INF,  INF,  INF,  INF,  INF},  /* no pair */
+   {   0, -240,  330,   80, -140},
+   {   0, -160,   70, -460,  -40},
+   {   0,  160,  220,   70,  310},
+   {   0, -150,  510,   10,  100},
+   {   0,  160,  220,   70,  310},
+   {   0,  -50,  690,  -60,  -60},
+   {   0,    0,    0,    0,   0}
+};
+
+
+/* constants for linearly destabilizing contributions for multi-loops
+   F = ML_closing + ML_intern*k + ML_BASE*u  */
+/* old versions erroneously used ML_intern*(k-1) */
+PRIVATE int ML_BASE37_184 = 0;
+PRIVATE int ML_closing37_184 = 340;
+PRIVATE int ML_intern37_184 =  40;
+
+/* Ninio-correction for asymmetric internal loops with branches n1 and n2 */
+/*    ninio_energy = min{max_ninio, |n1-n2|*F_ninio[min{4.0, n1, n2}] } */
+PRIVATE int MAX_NINIO_184 = 300;                   /* maximum correction */
+PRIVATE int F_ninio37_184[5] = { 0, 40, 50, 20, 10 };      /* only F[2] used */
+
+/* stabilizing contribution due to special hairpins of size 4 (tetraloops) */
+
+PRIVATE char Tetraloops_184[1400] =  /* place for up to 200 tetra loops */
+  "GGGGAC "
+  "GGUGAC "
+  "CGAAAG "
+  "GGAGAC "
+  "CGCAAG "
+  "GGAAAC "
+  "CGGAAG "
+  "CUUCGG "
+  "CGUGAG "
+  "CGAAGG "
+  "CUACGG "
+  "GGCAAC "
+  "CGCGAG "
+  "UGAGAG "
+  "CGAGAG "
+  "AGAAAU "
+  "CGUAAG "
+  "CUAACG "
+  "UGAAAG "
+  "GGAAGC "
+  "GGGAAC "
+  "UGAAAA "
+  "AGCAAU "
+  "AGUAAU "
+  "CGGGAG "
+  "AGUGAU "
+  "GGCGAC "
+  "GGGAGC "
+  "GUGAAC "
+  "UGGAAA "
+;
+
+PRIVATE int   TETRA_ENERGY37_184[200] = {
+  -300, -300, -300, -300, -300, -300, -300, -300, -300, -250, -250, -250,
+  -250, -250, -200, -200, -200, -200, -200, -150, -150, -150, -150, -150,
+  -150, -150, -150, -150, -150, -150};
+
+PRIVATE int   TETRA_ENTH37_184   = -400;
+
+PRIVATE char Triloops_184[241] = "";
+
+PRIVATE int Triloop_E37_184[40];
+
+/* penalty for AU (or GU) terminating helix) */
+/* mismatches already contain these */
+PRIVATE int TerminalAU_184 = 50;
+
+/* penalty for forming a bi-molecular duplex */
+PRIVATE int DuplexInit_184 = 410;
+
+#endif