--- /dev/null
+
+
+/*
+ Automatically generated using the TurnerParser
+ TurnerParser (c) 2008,2009,2010
+ Christian Hoener zu Siederdissen, TBI Vienna
+ choener (at) tbi.univie.ac.at
+
+ The library enabling this can be found at:
+ http://hackage.haskell.org/package/BiobaseVienna
+ the program can be found at:
+ (sorry, not yet)
+ install using cabal: cabal install (sorry, not yet)
+*/
+
+/*
+ Current free energy parameters 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 stacking 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-Neighbor 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
+*/
+
+
+
+#include "energy_const.h"
+/*@unused@*/
+static char rcsid[] = "$Id: energy_par.c,v 1.6 2004/08/12 12:11:57 ivo Exp $";
+
+#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 */
+
+#define PUBLIC
+
+PUBLIC double Tmeasure = 37+K0; /* temperature of param measurements */
+
+
+/* PUBLIC double lxc37=107.9; */
+PUBLIC double lxc37=107.856;
+PUBLIC int ML_intern37=-90;
+PUBLIC int ML_interndH=-220;
+PUBLIC int ML_closing37=930;
+PUBLIC int ML_closingdH=3000;
+PUBLIC int ML_BASE37=0;
+PUBLIC int ML_BASEdH=0;
+PUBLIC int MAX_NINIO=300;
+PUBLIC int ninio37=60;
+PUBLIC int niniodH=320;
+PUBLIC int TerminalAU37=50;
+PUBLIC int TerminalAUdH=370;
+PUBLIC int DuplexInit37=410;
+PUBLIC int DuplexInitdH=360;
+PUBLIC int TripleC37=100;
+PUBLIC int TripleCdH=1860;
+PUBLIC int MultipleCA37=30;
+PUBLIC int MultipleCAdH=340;
+PUBLIC int MultipleCB37=160;
+PUBLIC int MultipleCBdH=760;
+
+PUBLIC int GQuadAlpha37 = -1800;
+PUBLIC int GQuadAlphadH = -11934;
+PUBLIC int GQuadBeta37 = 1200;
+PUBLIC int GQuadBetadH = 0;
+
+PUBLIC int stack37[NBPAIRS+1][NBPAIRS+1] =
+{{ INF, INF, INF, INF, INF, INF, INF, INF}
+,{ INF, -240, -330, -210, -140, -210, -210, -140}
+,{ INF, -330, -340, -250, -150, -220, -240, -150}
+,{ INF, -210, -250, 130, -50, -140, -130, 130}
+,{ INF, -140, -150, -50, 30, -60, -100, 30}
+,{ INF, -210, -220, -140, -60, -110, -90, -60}
+,{ INF, -210, -240, -130, -100, -90, -130, -90}
+,{ INF, -140, -150, 130, 30, -60, -90, 130}};
+PUBLIC int stackdH[NBPAIRS+1][NBPAIRS+1] =
+{{ INF, INF, INF, INF, INF, INF, INF, INF}
+,{ INF, -1060, -1340, -1210, -560, -1050, -1040, -560}
+,{ INF, -1340, -1490, -1260, -830, -1140, -1240, -830}
+,{ INF, -1210, -1260, -1460, -1350, -880, -1280, -880}
+,{ INF, -560, -830, -1350, -930, -320, -700, -320}
+,{ INF, -1050, -1140, -880, -320, -940, -680, -320}
+,{ INF, -1040, -1240, -1280, -700, -680, -770, -680}
+,{ INF, -560, -830, -880, -320, -320, -680, -320}};
+
+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};
+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};
+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};
+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};
+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};
+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};
+
+PUBLIC int mismatchI37[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, -80, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, -100, 0, -100, 0}
+ ,{ 0, 0, 0, 0, -60}
+ }
+,{{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, -80, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, -100, 0, -100, 0}
+ ,{ 0, 0, 0, 0, -60}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, -10, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -30, 70, -30, 70}
+ ,{ 70, 70, 70, 70, 10}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, -10, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -30, 70, -30, 70}
+ ,{ 70, 70, 70, 70, 10}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, -10, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -30, 70, -30, 70}
+ ,{ 70, 70, 70, 70, 10}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, -10, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -30, 70, -30, 70}
+ ,{ 70, 70, 70, 70, 10}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, -10, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -30, 70, -30, 70}
+ ,{ 70, 70, 70, 70, 10}
+ }};
+PUBLIC int mismatchIdH[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 280, 0, 0, 280, 0}
+ ,{ 0, 0, 0, -340, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 280, -760, 0, 280, 0}
+ ,{ 0, 0, 0, 0, -580}
+ }
+,{{ 280, 0, 0, 280, 0}
+ ,{ 0, 0, 0, -340, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 280, -760, 0, 280, 0}
+ ,{ 0, 0, 0, 0, -580}
+ }
+,{{ 790, 500, 500, 790, 500}
+ ,{ 500, 500, 500, 170, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 790, -260, 500, 790, 500}
+ ,{ 500, 500, 500, 500, -80}
+ }
+,{{ 790, 500, 500, 790, 500}
+ ,{ 500, 500, 500, 170, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 790, -260, 500, 790, 500}
+ ,{ 500, 500, 500, 500, -80}
+ }
+,{{ 790, 500, 500, 790, 500}
+ ,{ 500, 500, 500, 170, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 790, -260, 500, 790, 500}
+ ,{ 500, 500, 500, 500, -80}
+ }
+,{{ 790, 500, 500, 790, 500}
+ ,{ 500, 500, 500, 170, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 790, -260, 500, 790, 500}
+ ,{ 500, 500, 500, 500, -80}
+ }
+,{{ 790, 500, 500, 790, 500}
+ ,{ 500, 500, 500, 170, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 790, -260, 500, 790, 500}
+ ,{ 500, 500, 500, 500, -80}
+ }};
+
+PUBLIC int mismatchH37[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ -80, -100, -110, -100, -80}
+ ,{ -140, -150, -150, -140, -150}
+ ,{ -80, -100, -110, -100, -80}
+ ,{ -150, -230, -150, -240, -150}
+ ,{ -100, -100, -140, -100, -210}
+ }
+,{{ -50, -110, -70, -110, -50}
+ ,{ -110, -110, -150, -130, -150}
+ ,{ -50, -110, -70, -110, -50}
+ ,{ -150, -250, -150, -220, -150}
+ ,{ -100, -110, -100, -110, -160}
+ }
+,{{ 20, 20, -20, -10, -20}
+ ,{ 20, 20, -50, -30, -50}
+ ,{ -10, -10, -20, -10, -20}
+ ,{ -50, -100, -50, -110, -50}
+ ,{ -10, -10, -30, -10, -100}
+ }
+,{{ 0, -20, -10, -20, 0}
+ ,{ -30, -50, -30, -60, -30}
+ ,{ 0, -20, -10, -20, 0}
+ ,{ -30, -90, -30, -110, -30}
+ ,{ -10, -20, -10, -20, -90}
+ }
+,{{ -10, -10, -20, -10, -20}
+ ,{ -30, -30, -50, -30, -50}
+ ,{ -10, -10, -20, -10, -20}
+ ,{ -50, -120, -50, -110, -50}
+ ,{ -10, -10, -30, -10, -120}
+ }
+,{{ 0, -20, -10, -20, 0}
+ ,{ -30, -50, -30, -50, -30}
+ ,{ 0, -20, -10, -20, 0}
+ ,{ -30, -150, -30, -150, -30}
+ ,{ -10, -20, -10, -20, -90}
+ }
+,{{ 20, 20, -10, -10, 0}
+ ,{ 20, 20, -30, -30, -30}
+ ,{ 0, -10, -10, -10, 0}
+ ,{ -30, -90, -30, -110, -30}
+ ,{ -10, -10, -10, -10, -90}
+ }};
+PUBLIC int mismatchHdH[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 560, -570, 560, -560, -270}
+ ,{ -560, -910, -560, -560, -560}
+ ,{ -270, -570, -340, -570, -270}
+ ,{ 560, -1400, 560, -920, -560}
+ ,{ -530, -570, -530, -570, -1440}
+ }
+,{{ 50, -520, 50, -560, -400}
+ ,{ -400, -520, -400, -560, -400}
+ ,{ 50, -720, 50, -720, -420}
+ ,{ -400, -1290, -400, -620, -400}
+ ,{ -30, -720, -30, -720, -1080}
+ }
+,{{ 970, 140, 970, 140, 570}
+ ,{ 570, 30, 570, 20, 570}
+ ,{ 970, 140, 970, 140, 340}
+ ,{ 570, -270, 570, 20, 570}
+ ,{ 830, 140, 830, 140, -50}
+ }
+,{{ 230, 100, 230, 220, 190}
+ ,{ -110, -110, -260, -520, -260}
+ ,{ 190, -60, -140, -60, 190}
+ ,{ 220, 100, -260, 220, -260}
+ ,{ 230, -60, 230, -60, -70}
+ }
+,{{ 970, 140, 970, 140, 570}
+ ,{ 570, -20, 570, 20, 570}
+ ,{ 970, 140, 970, 140, 340}
+ ,{ 570, -520, 570, 20, 570}
+ ,{ 830, 140, 830, 140, -380}
+ }
+,{{ 230, -30, 230, -60, 190}
+ ,{ -30, -30, -260, -520, -260}
+ ,{ 190, -60, -140, -60, 190}
+ ,{ -260, -590, -260, -520, -260}
+ ,{ 230, -60, 230, -60, -70}
+ }
+,{{ 970, 140, 970, 220, 570}
+ ,{ 570, 30, 570, 20, 570}
+ ,{ 970, 140, 970, 140, 340}
+ ,{ 570, 100, 570, 220, 570}
+ ,{ 830, 140, 830, 140, -50}
+ }};
+
+PUBLIC int mismatchM37[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ -80, -100, -110, -100, -80}
+ ,{ -140, -150, -150, -140, -150}
+ ,{ -80, -100, -110, -100, -80}
+ ,{ -140, -140, -150, -160, -150}
+ ,{ -100, -100, -140, -100, -120}
+ }
+,{{ -50, -110, -70, -110, -50}
+ ,{ -110, -110, -150, -130, -150}
+ ,{ -50, -110, -70, -110, -50}
+ ,{ -140, -160, -150, -140, -150}
+ ,{ -70, -110, -100, -110, -70}
+ }
+,{{ -30, -30, -70, -60, -60}
+ ,{ -30, -30, -100, -80, -100}
+ ,{ -60, -60, -70, -60, -70}
+ ,{ -60, -60, -100, -80, -100}
+ ,{ -60, -60, -80, -60, -60}
+ }
+,{{ -50, -50, -60, -70, -50}
+ ,{ -80, -100, -80, -110, -80}
+ ,{ -50, -70, -60, -70, -50}
+ ,{ -50, -50, -80, -80, -80}
+ ,{ -50, -70, -60, -70, -50}
+ }
+,{{ -60, -60, -70, -60, -70}
+ ,{ -80, -80, -100, -80, -100}
+ ,{ -60, -60, -70, -60, -70}
+ ,{ -80, -80, -100, -80, -100}
+ ,{ -60, -60, -80, -60, -80}
+ }
+,{{ -50, -70, -60, -70, -50}
+ ,{ -80, -100, -80, -110, -80}
+ ,{ -50, -70, -60, -70, -50}
+ ,{ -80, -110, -80, -120, -80}
+ ,{ -50, -70, -60, -70, -50}
+ }
+,{{ -30, -30, -60, -60, -50}
+ ,{ -30, -30, -80, -80, -80}
+ ,{ -50, -60, -60, -60, -50}
+ ,{ -50, -50, -80, -80, -80}
+ ,{ -50, -60, -60, -60, -50}
+ }};
+PUBLIC int mismatchMdH[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ -270, -570, -340, -560, -270}
+ ,{ -560, -910, -560, -560, -560}
+ ,{ -270, -570, -340, -570, -270}
+ ,{ -560, -820, -560, -920, -560}
+ ,{ -530, -570, -530, -570, -860}
+ }
+,{{ 50, -520, 50, -560, -400}
+ ,{ -400, -520, -400, -560, -400}
+ ,{ 50, -720, 50, -720, -420}
+ ,{ -400, -710, -400, -620, -400}
+ ,{ -30, -720, -30, -720, -500}
+ }
+,{{ 600, -60, 600, -230, 200}
+ ,{ 200, -340, 200, -350, 200}
+ ,{ 600, -230, 600, -230, -30}
+ ,{ 200, -60, 200, -350, 200}
+ ,{ 460, -230, 460, -230, 160}
+ }
+,{{ 310, 310, -140, -150, 140}
+ ,{ -480, -480, -630, -890, -630}
+ ,{ -180, -430, -510, -430, -180}
+ ,{ 310, 310, -630, -150, -630}
+ ,{ 140, -430, -140, -430, 140}
+ }
+,{{ 600, -230, 600, -230, 200}
+ ,{ 200, -390, 200, -350, 200}
+ ,{ 600, -230, 600, -230, -30}
+ ,{ 200, -310, 200, -350, 200}
+ ,{ 460, -230, 460, -230, -170}
+ }
+,{{ 140, -380, -140, -430, 140}
+ ,{ -400, -400, -630, -890, -630}
+ ,{ -180, -430, -510, -430, -180}
+ ,{ -380, -380, -630, -890, -630}
+ ,{ 140, -430, -140, -430, 140}
+ }
+,{{ 600, 310, 600, -150, 200}
+ ,{ 200, -340, 200, -350, 200}
+ ,{ 600, -230, 600, -230, -30}
+ ,{ 310, 310, 200, -150, 200}
+ ,{ 460, -230, 460, -230, 160}
+ }};
+
+PUBLIC int mismatch1nI37[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 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}
+ }
+,{{ 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}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ }};
+PUBLIC int mismatch1nIdH[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 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}
+ }
+,{{ 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}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ }};
+
+PUBLIC int mismatch23I37[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, -50, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, -110, 0, -70, 0}
+ ,{ 0, 0, 0, 0, -30}
+ }
+,{{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, -120, 0, -70, 0}
+ ,{ 0, 0, 0, 0, -30}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -40, 70, 0, 70}
+ ,{ 70, 70, 70, 70, 40}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 20, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -40, 70, 0, 70}
+ ,{ 70, 70, 70, 70, 40}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -40, 70, 0, 70}
+ ,{ 70, 70, 70, 70, 40}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 20, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -40, 70, 0, 70}
+ ,{ 70, 70, 70, 70, 40}
+ }
+,{{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, 70, 70, 70, 70}
+ ,{ 70, -40, 70, 0, 70}
+ ,{ 70, 70, 70, 70, 40}
+ }};
+PUBLIC int mismatch23IdH[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, -570, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, -860, 0, -900, 0}
+ ,{ 0, 0, 0, 0, -640}
+ }
+,{{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, 0, 0, 0, 0}
+ ,{ 0, -1090, 0, -900, 0}
+ ,{ 0, 0, 0, 0, -640}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, -580, 500, -400, 500}
+ ,{ 500, 500, 500, 500, -140}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, -60, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, -360, 500, -400, 500}
+ ,{ 500, 500, 500, 500, -140}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, -580, 500, -400, 500}
+ ,{ 500, 500, 500, 500, -140}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, -60, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, -360, 500, -400, 500}
+ ,{ 500, 500, 500, 500, -140}
+ }
+,{{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, 500, 500, 500, 500}
+ ,{ 500, -360, 500, -400, 500}
+ ,{ 500, 500, 500, 500, -140}
+ }};
+
+PUBLIC int mismatchExt37[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ -80, -100, -110, -100, -80}
+ ,{ -140, -150, -150, -140, -150}
+ ,{ -80, -100, -110, -100, -80}
+ ,{ -140, -140, -150, -160, -150}
+ ,{ -100, -100, -140, -100, -120}
+ }
+,{{ -50, -110, -70, -110, -50}
+ ,{ -110, -110, -150, -130, -150}
+ ,{ -50, -110, -70, -110, -50}
+ ,{ -140, -160, -150, -140, -150}
+ ,{ -70, -110, -100, -110, -70}
+ }
+,{{ -30, -30, -70, -60, -60}
+ ,{ -30, -30, -100, -80, -100}
+ ,{ -60, -60, -70, -60, -70}
+ ,{ -60, -60, -100, -80, -100}
+ ,{ -60, -60, -80, -60, -60}
+ }
+,{{ -50, -50, -60, -70, -50}
+ ,{ -80, -100, -80, -110, -80}
+ ,{ -50, -70, -60, -70, -50}
+ ,{ -50, -50, -80, -80, -80}
+ ,{ -50, -70, -60, -70, -50}
+ }
+,{{ -60, -60, -70, -60, -70}
+ ,{ -80, -80, -100, -80, -100}
+ ,{ -60, -60, -70, -60, -70}
+ ,{ -80, -80, -100, -80, -100}
+ ,{ -60, -60, -80, -60, -80}
+ }
+,{{ -50, -70, -60, -70, -50}
+ ,{ -80, -100, -80, -110, -80}
+ ,{ -50, -70, -60, -70, -50}
+ ,{ -80, -110, -80, -120, -80}
+ ,{ -50, -70, -60, -70, -50}
+ }
+,{{ -30, -30, -60, -60, -50}
+ ,{ -30, -30, -80, -80, -80}
+ ,{ -50, -60, -60, -60, -50}
+ ,{ -50, -50, -80, -80, -80}
+ ,{ -50, -60, -60, -60, -50}
+ }};
+PUBLIC int mismatchExtdH[NBPAIRS+1][5][5] =
+{{{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ ,{ INF, INF, INF, INF, INF}
+ }
+,{{ -270, -570, -340, -560, -270}
+ ,{ -560, -910, -560, -560, -560}
+ ,{ -270, -570, -340, -570, -270}
+ ,{ -560, -820, -560, -920, -560}
+ ,{ -530, -570, -530, -570, -860}
+ }
+,{{ 50, -520, 50, -560, -400}
+ ,{ -400, -520, -400, -560, -400}
+ ,{ 50, -720, 50, -720, -420}
+ ,{ -400, -710, -400, -620, -400}
+ ,{ -30, -720, -30, -720, -500}
+ }
+,{{ 600, -60, 600, -230, 200}
+ ,{ 200, -340, 200, -350, 200}
+ ,{ 600, -230, 600, -230, -30}
+ ,{ 200, -60, 200, -350, 200}
+ ,{ 460, -230, 460, -230, 160}
+ }
+,{{ 310, 310, -140, -150, 140}
+ ,{ -480, -480, -630, -890, -630}
+ ,{ -180, -430, -510, -430, -180}
+ ,{ 310, 310, -630, -150, -630}
+ ,{ 140, -430, -140, -430, 140}
+ }
+,{{ 600, -230, 600, -230, 200}
+ ,{ 200, -390, 200, -350, 200}
+ ,{ 600, -230, 600, -230, -30}
+ ,{ 200, -310, 200, -350, 200}
+ ,{ 460, -230, 460, -230, -170}
+ }
+,{{ 140, -380, -140, -430, 140}
+ ,{ -400, -400, -630, -890, -630}
+ ,{ -180, -430, -510, -430, -180}
+ ,{ -380, -380, -630, -890, -630}
+ ,{ 140, -430, -140, -430, 140}
+ }
+,{{ 600, 310, 600, -150, 200}
+ ,{ 200, -340, 200, -350, 200}
+ ,{ 600, -230, 600, -230, -30}
+ ,{ 310, 310, 200, -150, 200}
+ ,{ 460, -230, 460, -230, 160}
+ }};
+
+
+PUBLIC int dangle3_37[NBPAIRS+1][5] =
+{{ INF, INF, INF, INF, INF}
+,{ -80, -170, -80, -170, -120}
+,{ -40, -110, -40, -130, -60}
+,{ -50, -80, -50, -80, -60}
+,{ -10, -70, -10, -70, -10}
+,{ -50, -80, -50, -80, -60}
+,{ -10, -70, -10, -70, -10}
+,{ -10, -70, -10, -70, -10}};
+PUBLIC int dangle3_dH[NBPAIRS+1][5] =
+{{ INF, INF, INF, INF, INF}
+,{ -410, -900, -410, -860, -750}
+,{ -280, -740, -280, -640, -360}
+,{ -90, -490, -90, -550, -230}
+,{ -70, -570, -70, -580, -220}
+,{ -90, -490, -90, -550, -230}
+,{ -70, -570, -70, -580, -220}
+,{ -70, -490, -70, -550, -220}};
+PUBLIC int dangle5_37[NBPAIRS+1][5] =
+{{ INF, INF, INF, INF, INF}
+,{ 0, -20, -30, 0, 0}
+,{ -10, -50, -30, -20, -10}
+,{ -10, -30, -10, -20, -20}
+,{ -20, -30, -30, -40, -20}
+,{ -10, -30, -10, -20, -20}
+,{ -20, -30, -30, -40, -20}
+,{ 0, -20, -10, 0, 0}};
+PUBLIC int dangle5_dH[NBPAIRS+1][5] =
+{{ INF, INF, INF, INF, INF}
+,{ 70, -160, 70, -460, -40}
+,{ 330, -240, 330, 80, -140}
+,{ 690, -50, 690, 60, 60}
+,{ 310, 160, 220, 70, 310}
+,{ 690, -50, 690, 60, 60}
+,{ 310, 160, 220, 70, 310}
+,{ 690, 160, 690, 80, 310}};
+
+PUBLIC char Triloops[241] =
+ "CAACG "
+ "GUUAC "
+;
+PUBLIC int Triloop37[40] = { 680, 690};
+PUBLIC int TriloopdH[40] = { 2370, 1080};
+
+PUBLIC char Tetraloops[281] =
+ "CAACGG "
+ "CCAAGG "
+ "CCACGG "
+ "CCCAGG "
+ "CCGAGG "
+ "CCGCGG "
+ "CCUAGG "
+ "CCUCGG "
+ "CUAAGG "
+ "CUACGG "
+ "CUCAGG "
+ "CUCCGG "
+ "CUGCGG "
+ "CUUAGG "
+ "CUUCGG "
+ "CUUUGG "
+;
+PUBLIC int Tetraloop37[40] = { 550, 330, 370, 340, 350, 360, 370, 250, 360, 280, 370, 270, 280, 350, 370, 370};
+PUBLIC int TetraloopdH[40] = { 690, -1030, -330, -890, -660, -750, -350, -1390, -760, -1070, -660, -1290, -1070, -620, -1530, -680};
+
+PUBLIC char Hexaloops[361] =
+ "ACAGUACU "
+ "ACAGUGAU "
+ "ACAGUGCU "
+ "ACAGUGUU "
+;
+PUBLIC int Hexaloop37[40] = { 280, 360, 290, 180};
+PUBLIC int HexaloopdH[40] = { -1680, -1140, -1280, -1540};
+
+#include "intl11.h"
+#include "intl11dH.h"
+#include "intl21.h"
+#include "intl21dH.h"
+#include "intl22.h"
+#include "intl22dH.h"
+