|
| 1 | +#include"stdafx.h" |
| 2 | + |
| 3 | +const double NN_dH_kcal[4][4][4] = { |
| 4 | + { // AX/TY |
| 5 | + { 1.2, 2.3, -0.6, -7.6 }, |
| 6 | + { 5.3, 0.0, -8.4, 0.7 }, |
| 7 | + { -0.7, -7.8, -3.1, 1.0 }, |
| 8 | + { -7.2, -1.2, -2.5, -2.7 } |
| 9 | + }, |
| 10 | + { // CX/GY |
| 11 | + { -0.9, 1.9, -0.7, -8.5 }, |
| 12 | + { 0.6, -1.5, -8.0, -0.8 }, |
| 13 | + { -4.0, -10.6, -4.9, -4.1 }, |
| 14 | + { -7.8, -1.5, -2.8, -5.0 } |
| 15 | + }, |
| 16 | + { // GX/CY |
| 17 | + { -2.9, 5.2, -0.6, -8.2 }, |
| 18 | + { -0.7, 3.6, -9.8, 2.3 }, |
| 19 | + { 0.5, -8.0, -6.0, 3.3 }, |
| 20 | + { -8.4, 5.2, -4.4, -2.2 } |
| 21 | + }, |
| 22 | + { // TX/AY |
| 23 | + { 4.7, 3.4, 0.7, -7.2 }, |
| 24 | + { 7.6, 6.1, -8.2, 1.2 }, |
| 25 | + { 3.0, -8.5, 1.6, -0.1 }, |
| 26 | + { -7.6, 1.0, -1.3, 0.2 } |
| 27 | + } |
| 28 | +}; |
| 29 | +const double NN_dS_cal[4][4][4] = { |
| 30 | + { // AX/TY |
| 31 | + { 1.7, 4.6, -2.3, -21.3 }, |
| 32 | + { 14.6, -4.4, -22.4, 0.2 }, |
| 33 | + { -2.3, -21.0, -9.5, 0.9 }, |
| 34 | + { -20.4, -6.2, -8.3, -10.8 } |
| 35 | + }, |
| 36 | + { // CX/GY |
| 37 | + { -4.2, 3.7, -2.3, -22.7 }, |
| 38 | + { -0.6, -7.2, -19.9, -4.5 }, |
| 39 | + { -13.2, -27.2, -15.3, -11.7 }, |
| 40 | + { -21.0, -6.1, -8.0, -15.8 } |
| 41 | + }, |
| 42 | + { // GX/CY |
| 43 | + { -9.8, 14.2, -1.0, -22.2 }, |
| 44 | + { -3.8, 8.9, -24.4, 5.4 }, |
| 45 | + { 3.2, -19.9, -15.8, 10.4 }, |
| 46 | + { -22.4, 13.5, -12.3, -8.4 } |
| 47 | + }, |
| 48 | + { // TX/AY |
| 49 | + { 12.9, 8.0, 0.7, -21.3 }, |
| 50 | + { 20.2, 16.4, -22.2, 0.7 }, |
| 51 | + { 7.4, -22.7, 3.6, -1.7 }, |
| 52 | + { -21.3, 0.7, -5.3, -1.5 } |
| 53 | + } |
| 54 | +}; |
| 55 | +int NN_dG_check(){ |
| 56 | + double check[4][4][4]; |
| 57 | + int i, j, k; |
| 58 | + double T37 = 273.15 + 37; |
| 59 | + for (i = 0; i < 4; i++){ |
| 60 | + for (j = 0; j < 4; j++){ |
| 61 | + for (k = 0; k < 4; k++){ |
| 62 | + check[i][j][k] = NN_dH_kcal[i][j][k] - T37*NN_dS_cal[i][j][k] / 1000; |
| 63 | + cout << " \t" << check[i][j][k]; |
| 64 | + } |
| 65 | + cout << endl; |
| 66 | + } |
| 67 | + cout << endl; |
| 68 | + } |
| 69 | + return 0; |
| 70 | +} |
| 71 | +const double NN_dH_init_kcal = 0.2; |
| 72 | +const double NN_dS_init_cal = -5.7; |
| 73 | +const double NN_dH_ATPenalty_kcal = 2.2; |
| 74 | +const double NN_dS_ATPenalty_cal = 6.9; |
| 75 | +/* |
| 76 | + References: |
| 77 | +
|
| 78 | + 1. J. SantaLucia, Jr. and D. Hicks, The Thermodynamics of DNA Structural Motifs, Annu. Rev. Biophys. Biomol. Struct. 33, 415 (2004) |
| 79 | + 2. Allawi HT, SantaLucia J Jr. Thermodynamics and NMR of internal G-T mismatches in DNA. Biochemistry 36:10581-94 (1997) |
| 80 | + 3. Allawi HT, SantaLucia J Jr. Nearestneighbor thermodynamics of internal A-C mismatches in DNA: sequence dependence and pH effects. Biochemistry 37:9435-44 (1998) |
| 81 | + 4. Allawi HT, SantaLucia J Jr. Nearestneighbor thermodynamics parameters for internal G-A mismatches in DNA. Biochemistry 37:2170-79 (1998) |
| 82 | + 5. Allawi HT, SantaLucia J Jr. Thermodynamics of internal C-T mismatches in DNA. Nucleic Acids Res. 26:2694-701 (1998) |
| 83 | + 6. Peyret N, Seneviratne PA, Allawi HT, SantaLucia J Jr. Nearest-neighbor thermodynamics and NMR of DNA sequences with internal A-A, C-C, G-G, and T-T mismatches. Biochemistry 38:3468-77 (1999) |
| 84 | +*/ |
| 85 | + |
| 86 | +extern const double NN_dH_DE_kcal[2][4][4] = { |
| 87 | + { |
| 88 | + { 0.2, 0.6, -1.1, -6.9 }, |
| 89 | + { -6.3, -4.4, -5.1, -4.0 }, |
| 90 | + { -3.7, -4.0, -3.9, -4.9 }, |
| 91 | + { -2.9, -4.1, -4.2, -0.2 } |
| 92 | + }, |
| 93 | + { |
| 94 | + { -0.5, 4.7, -4.1, -3.8 }, |
| 95 | + { -5.9, -2.6, -3.2, -5.2 }, |
| 96 | + { -2.1, -0.2, -3.9, -4.4 }, |
| 97 | + { -0.7, 4.4, -1.6, 2.9 } |
| 98 | + } |
| 99 | +}; |
| 100 | +extern const double NN_dS_DE_cal[2][4][4] = { |
| 101 | + { |
| 102 | + { 2.3, 3.3, -1.6, -20.0 }, |
| 103 | + { -17.1, -12.6, -14.0, -10.9 }, |
| 104 | + { -10.0, -11.9, -10.9, -13.8 }, |
| 105 | + { -7.6, -13.0, -15.0, -0.5 } |
| 106 | + }, |
| 107 | + { |
| 108 | + { -1.1, 14.2, -13.1, -12.6 }, |
| 109 | + { -16.5, -7.4, -10.4, -15.0 }, |
| 110 | + { -3.9, -0.1, -11.2, -13.1 }, |
| 111 | + { -0.8, 14.9, -3.6, 10.4 } |
| 112 | + } |
| 113 | +}; |
| 114 | +int NN_dG_DE_check(){ |
| 115 | + double check[2][4][4]; |
| 116 | + int i, j, k; |
| 117 | + double T37 = 273.15 + 37; |
| 118 | + for (i = 0; i < 2; i++){ |
| 119 | + for (j = 0; j < 4; j++){ |
| 120 | + for (k = 0; k < 4; k++){ |
| 121 | + check[i][j][k] = NN_dH_DE_kcal[i][j][k] - T37*NN_dS_DE_cal[i][j][k] / 1000; |
| 122 | + cout << " \t" << check[i][j][k]; |
| 123 | + } |
| 124 | + cout << endl; |
| 125 | + } |
| 126 | + cout << endl; |
| 127 | + } |
| 128 | + return 0; |
| 129 | +} |
| 130 | +/* |
| 131 | + References: |
| 132 | +
|
| 133 | + 1. J. SantaLucia, Jr. and D. Hicks, The Thermodynamics of DNA Structural Motifs, Annu. Rev. Biophys. Biomol. Struct. 33, 415 (2004) |
| 134 | + 2. Bommarito S, Peyret N, SantaLucia J Jr. Thermodynamic parameters for DNA sequences with dangling ends. Nucleic Acids Res. 28:1929-34 (2000) |
| 135 | +*/ |
0 commit comments