Multiple Primer Analyzer - US (2024)

\

\

\ \ \ \ \ \ \ \ \ \ \ \
Parametrs for calculation of primer Tm:Parametrs for detection of primer dimers:
Primer concentration:µMValue of the sensivity for dimmer detection (1-10):
(value 1 is maximum sensitive detection, 3 is optimal)
Salt concentration:mM

\

\

\ Results in tabular data format. To export the results: select all (Ctrl-A), copy (Ctrl-C) and paste (Ctrl-V) to Excel sheet.
\ \

\

\ Results for primer dimer detection. To export the results: select all (Ctrl-A), copy (Ctrl-C) and paste (Ctrl-V).
\ \

\ '; var vOD,nOD,dHBr,dSBr; this.loadData = function(){ vOD = {}; nOD = {}; dHBr = {}; dSBr = {}; vOD[0] = {}; vOD[0][0] = 27400.0; vOD[0][1] = 23000.0; vOD[0][2] = 21200.0; vOD[0][3] = 25066.7; vOD[0][6] = 25000.0; vOD[0][7] = 23800.0; vOD[0][10] = 23900.0; vOD[0][12] = 24300.0; vOD[0][13] = 24100.0; vOD[0][17] = 26200.0; vOD[0][18] = 23100.0; vOD[0][19] = 22800.0; vOD[0][21] = 24533.3; vOD[0][22] = 25100.0; vOD[0][23] = 24100.0; vOD[0][24] = 22000.0; vOD[1] = {}; vOD[1][0] = 23266.7; vOD[1][1] = 17666.7; vOD[1][2] = 16133.3; vOD[1][3] = 20044.4; vOD[1][6] = 19533.3; vOD[1][7] = 18911.1; vOD[1][10] = 18433.3; vOD[1][12] = 19700.0; vOD[1][13] = 19066.7; vOD[1][17] = 21400.0; vOD[1][18] = 17833.3; vOD[1][19] = 17333.3; vOD[1][21] = 19644.4; vOD[1][22] = 20300.0; vOD[1][23] = 19066.7; vOD[1][24] = 16733.3; vOD[2] = {}; vOD[2][0] = 21200.0; vOD[2][1] = 15933.3; vOD[2][2] = 14600.0; vOD[2][3] = 18133.3; vOD[2][6] = 18000.0; vOD[2][7] = 17000.0; vOD[2][10] = 16600.0; vOD[2][12] = 17900.0; vOD[2][13] = 17250.0; vOD[2][17] = 19600.0; vOD[2][18] = 16300.0; vOD[2][19] = 15200.0; vOD[2][21] = 17933.3; vOD[2][22] = 18200.0; vOD[2][23] = 17250.0; vOD[2][24] = 14900.0; vOD[3] = {}; vOD[3][0] = 25333.3; vOD[3][1] = 20022.2; vOD[3][2] = 18333.3; vOD[3][3] = 22355.6; vOD[3][6] = 21866.7; vOD[3][7] = 21177.8; vOD[3][10] = 20866.7; vOD[3][12] = 21833.3; vOD[3][13] = 21350.0; vOD[3][17] = 23600.0; vOD[3][18] = 20100.0; vOD[3][19] = 19866.7; vOD[3][21] = 21844.4; vOD[3][22] = 22600.0; vOD[3][23] = 21350.0; vOD[3][24] = 19100.0; vOD[6] = {}; vOD[6][0] = 25200.0; vOD[6][1] = 19733.3; vOD[6][2] = 17600.0; vOD[6][3] = 22266.7; vOD[6][6] = 21600.0; vOD[6][7] = 20933.3; vOD[6][10] = 20800.0; vOD[6][12] = 21400.0; vOD[6][13] = 21100.0; vOD[6][17] = 23400.0; vOD[6][18] = 19600.0; vOD[6][19] = 20000.0; vOD[6][21] = 21466.7; vOD[6][22] = 22600.0; vOD[6][23] = 21100.0; vOD[6][24] = 18800.0; vOD[7] = {}; vOD[7][0] = 24000.0; vOD[7][1] = 18755.6; vOD[7][2] = 17333.3; vOD[7][3] = 20977.8; vOD[7][6] = 20666.7; vOD[7][7] = 19866.7; vOD[7][10] = 19466.7; vOD[7][12] = 20666.7; vOD[7][13] = 20066.7; vOD[7][17] = 22333.3; vOD[7][18] = 19000.0; vOD[7][19] = 18266.7; vOD[7][21] = 20666.7; vOD[7][22] = 21133.3; vOD[7][23] = 20066.7; vOD[7][24] = 17800.0; vOD[10] = {}; vOD[10][0] = 24300.0; vOD[10][1] = 18533.3; vOD[10][2] = 16900.0; vOD[10][3] = 21000.0; vOD[10][6] = 20300.0; vOD[10][7] = 19866.7; vOD[10][10] = 19350.0; vOD[10][12] = 20600.0; vOD[10][13] = 19975.0; vOD[10][17] = 22300.0; vOD[10][18] = 18600.0; vOD[10][19] = 18400.0; vOD[10][21] = 20500.0; vOD[10][22] = 21350.0; vOD[10][23] = 19975.0; vOD[10][24] = 17650.0; vOD[12] = {}; vOD[12][0] = 24300.0; vOD[12][1] = 19466.7; vOD[12][2] = 17900.0; vOD[12][3] = 21600.0; vOD[12][6] = 21500.0; vOD[12][7] = 20400.0; vOD[12][10] = 20250.0; vOD[12][12] = 21100.0; vOD[12][13] = 20675.0; vOD[12][17] = 22900.0; vOD[12][18] = 19700.0; vOD[12][19] = 19000.0; vOD[12][21] = 21233.3; vOD[12][22] = 21650.0; vOD[12][23] = 20675.0; vOD[12][24] = 18450.0; vOD[13] = {}; vOD[13][0] = 24300.0; vOD[13][1] = 19000.0; vOD[13][2] = 17400.0; vOD[13][3] = 21300.0; vOD[13][6] = 20900.0; vOD[13][7] = 20133.3; vOD[13][10] = 19800.0; vOD[13][12] = 20850.0; vOD[13][13] = 20325.0; vOD[13][17] = 22600.0; vOD[13][18] = 19150.0; vOD[13][19] = 18700.0; vOD[13][21] = 20866.7; vOD[13][22] = 21500.0; vOD[13][23] = 20325.0; vOD[13][24] = 18050.0; vOD[17] = {}; vOD[17][0] = 26300.0; vOD[17][1] = 21366.7; vOD[17][2] = 19400.0; vOD[17][3] = 23666.7; vOD[17][6] = 23300.0; vOD[17][7] = 22366.7; vOD[17][10] = 22350.0; vOD[17][12] = 22850.0; vOD[17][13] = 22600.0; vOD[17][17] = 24800.0; vOD[17][18] = 21350.0; vOD[17][19] = 21400.0; vOD[17][21] = 23000.0; vOD[17][22] = 23850.0; vOD[17][23] = 22600.0; vOD[17][24] = 20400.0; vOD[18] = {}; vOD[18][0] = 23200.0; vOD[18][1] = 17833.3; vOD[18][2] = 16100.0; vOD[18][3] = 20200.0; vOD[18][6] = 19800.0; vOD[18][7] = 18966.7; vOD[18][10] = 18700.0; vOD[18][12] = 19650.0; vOD[18][13] = 19175.0; vOD[18][17] = 21500.0; vOD[18][18] = 17950.0; vOD[18][19] = 17600.0; vOD[18][21] = 19700.0; vOD[18][22] = 20400.0; vOD[18][23] = 19175.0; vOD[18][24] = 16850.0; vOD[19] = {}; vOD[19][0] = 23400.0; vOD[19][1] = 17333.3; vOD[19][2] = 16200.0; vOD[19][3] = 19733.3; vOD[19][6] = 19000.0; vOD[19][7] = 18800.0; vOD[19][10] = 17900.0; vOD[19][12] = 19800.0; vOD[19][13] = 18850.0; vOD[19][17] = 21200.0; vOD[19][18] = 17600.0; vOD[19][19] = 16800.0; vOD[19][21] = 19533.3; vOD[19][22] = 20100.0; vOD[19][23] = 18850.0; vOD[19][24] = 16500.0; vOD[21] = {}; vOD[21][0] = 24600.0; vOD[21][1] = 19555.6; vOD[21][2] = 17800.0; vOD[21][3] = 21822.2; vOD[21][6] = 21533.3; vOD[21][7] = 20577.8; vOD[21][10] = 20433.3; vOD[21][12] = 21200.0; vOD[21][13] = 20816.7; vOD[21][17] = 23066.7; vOD[21][18] = 19666.7; vOD[21][19] = 19333.3; vOD[21][21] = 21311.1; vOD[21][22] = 21966.7; vOD[21][23] = 20816.7; vOD[21][24] = 18566.7; vOD[22] = {}; vOD[22][0] = 25400.0; vOD[22][1] = 20166.7; vOD[22][2] = 18700.0; vOD[22][3] = 22400.0; vOD[22][6] = 22000.0; vOD[22][7] = 21300.0; vOD[22][10] = 20900.0; vOD[22][12] = 22050.0; vOD[22][13] = 21475.0; vOD[22][17] = 23700.0; vOD[22][18] = 20350.0; vOD[22][19] = 19800.0; vOD[22][21] = 22033.3; vOD[22][22] = 22600.0; vOD[22][23] = 21475.0; vOD[22][24] = 19250.0; vOD[23] = {}; vOD[23][0] = 24300.0; vOD[23][1] = 19000.0; vOD[23][2] = 17400.0; vOD[23][3] = 21300.0; vOD[23][6] = 20900.0; vOD[23][7] = 20133.3; vOD[23][10] = 19800.0; vOD[23][12] = 20850.0; vOD[23][13] = 20325.0; vOD[23][17] = 22600.0; vOD[23][18] = 19150.0; vOD[23][19] = 18700.0; vOD[23][21] = 20866.7; vOD[23][22] = 21500.0; vOD[23][23] = 20325.0; vOD[23][24] = 18050.0; vOD[24]={}; vOD[24][0] = 22300.0; vOD[24][1] = 16633.3; vOD[24][2] = 15400.0; vOD[24][3] = 18933.3; vOD[24][6] = 18500.0; vOD[24][7] = 17900.0; vOD[24][10] = 17250.0; vOD[24][12] = 18850.0; vOD[24][13] = 18050.0; vOD[24][17] = 20400.0; vOD[24][18] = 16950.0; vOD[24][19] = 16000.0; vOD[24][21] = 18733.3; vOD[24][22] = 19150.0; vOD[24][23] = 18050.0; vOD[24][24] = 15700.0; nOD[0] = -15400.0; nOD[1] = -9200.0; nOD[2] = -7400.0; nOD[3] = -11866.7; nOD[6] = -11500.0; nOD[7] = -10500.0; nOD[10] = -10100.0; nOD[12] = -11400.0; nOD[13] = -10750.0; nOD[17] = -13450.0; nOD[18] = -9450.0; nOD[19] = -8700.0; nOD[21] = -11433.3; nOD[22] = -12050.0; nOD[23] = -10750.0; nOD[24] = -8050.0; /* Modified Breslauer's thermodynamics, dHпїЅ and dSпїЅ parameters (PNAS, 1996) AA -9100 - 24 AC -6500 - 17.3 AG -7800 - 20.8 AT -8600 - 23.9 CA -5800 - 12.9 CC -11000 - 26.6 CG -11900 - 27.8 CT -7800 - 20.8 GA -5600 - 13.5 GC -11100 - 26.7 GG -11000 - 26.6 GT -6500 - 17.3 TA -6000 - 16.9 TC -5600 - 13.5 TG -5800 - 12.9 TT -9100 - 24 */ dHBr[0] = {}; dSBr[0] = {}; dHBr[0][0] = -9100.0; dSBr[0][0] = -24.0; dHBr[0][1] = -7633.3; dSBr[0][1] = -20.7; dHBr[0][2] = -6500.0; dSBr[0][2] = -17.3; dHBr[0][3] = -8500.0; dSBr[0][3] = -22.9; dHBr[0][6] = -7800.0; dSBr[0][6] = -20.8; dHBr[0][7] = -8066.7; dSBr[0][7] = -21.7; dHBr[0][10] = -8200.0; dSBr[0][10] = -22.4; dHBr[0][12] = -7800.0; dSBr[0][12] = -20.7; dHBr[0][13] = -8000.0; dSBr[0][13] = -21.5; dHBr[0][17] = -8450.0; dSBr[0][17] = -22.4; dHBr[0][18] = -7150.0; dSBr[0][18] = -19.1; dHBr[0][19] = -8600.0; dSBr[0][19] = -23.9; dHBr[0][21] = -7800.0; dSBr[0][21] = -20.7; dHBr[0][22] = -8850.0; dSBr[0][22] = -24.0; dHBr[0][23] = -8000.0; dSBr[0][23] = -21.5; dHBr[0][24] = -7550.0; dSBr[0][24] = -20.6; dHBr[1] = {}; dSBr[1] = {}; dHBr[1][0] = -5800.0; dSBr[1][0] = -14.4; dHBr[1][1] = -8866.7; dSBr[1][1] = -21.8; dHBr[1][2] = -9233.3; dSBr[1][2] = -22.3; dHBr[1][3] = -7722.2; dSBr[1][3] = -19.2; dHBr[1][6] = -9566.7; dSBr[1][6] = -22.4; dHBr[1][7] = -7611.1; dSBr[1][7] = -19.1; dHBr[1][10] = -8683.3; dSBr[1][10] = -21.6; dHBr[1][12] = -7516.7; dSBr[1][12] = -18.4; dHBr[1][13] = -8100.0; dSBr[1][13] = -20.0; dHBr[1][17] = -7683.3; dSBr[1][17] = -18.4; dHBr[1][18] = -9400.0; dSBr[1][18] = -22.4; dHBr[1][19] = -7800.0; dSBr[1][19] = -20.7; dHBr[1][21] = -8200.0; dSBr[1][21] = -19.7; dHBr[1][22] = -6800.0; dSBr[1][22] = -17.6; dHBr[1][23] = -8100.0; dSBr[1][23] = -20.0; dHBr[1][24] = -8516.7; dSBr[1][24] = -21.5; dHBr[2] = {}; dSBr[2] = {}; dHBr[2][0] = -5800.0; dSBr[2][0] = -12.9; dHBr[2][1] = -10233.3; dSBr[2][1] = -25.1; dHBr[2][2] = -11000.0; dSBr[2][2] = -26.6; dHBr[2][3] = -8500.0; dSBr[2][3] = -20.5; dHBr[2][6] = -11900.0; dSBr[2][6] = -27.8; dHBr[2][7] = -8200.0; dSBr[2][7] = -20.1; dHBr[2][10] = -9850.0; dSBr[2][10] = -24.3; dHBr[2][12] = -8400.0; dSBr[2][12] = -19.8; dHBr[2][13] = -9125.0; dSBr[2][13] = -22.0; dHBr[2][17] = -8850.0; dSBr[2][17] = -20.4; dHBr[2][18] = -11450.0; dSBr[2][18] = -27.2; dHBr[2][19] = -7800.0; dSBr[2][19] = -20.8; dHBr[2][21] = -9566.7; dSBr[2][21] = -22.4; dHBr[2][22] = -6800.0; dSBr[2][22] = -16.9; dHBr[2][23] = -9125.0; dSBr[2][23] = -22.0; dHBr[2][24] = -9400.0; dSBr[2][24] = -23.7; dHBr[3] = {}; dSBr[3] = {}; dHBr[3][0] = -6900.0; dSBr[3][0] = -18.1; dHBr[3][1] = -8000.0; dSBr[3][1] = -20.3; dHBr[3][2] = -7733.3; dSBr[3][2] = -19.2; dHBr[3][3] = -7722.2; dSBr[3][3] = -20.0; dHBr[3][6] = -8200.0; dSBr[3][6] = -20.1; dHBr[3][7] = -7566.7; dSBr[3][7] = -19.7; dHBr[3][10] = -8133.3; dSBr[3][10] = -20.9; dHBr[3][12] = -7316.7; dSBr[3][12] = -18.7; dHBr[3][13] = -7725.0; dSBr[3][13] = -19.8; dHBr[3][17] = -7550.0; dSBr[3][17] = -19.1; dHBr[3][18] = -7966.7; dSBr[3][18] = -19.6; dHBr[3][19] = -8066.7; dSBr[3][19] = -21.7; dHBr[3][21] = -7611.1; dSBr[3][21] = -19.1; dHBr[3][22] = -7483.3; dSBr[3][22] = -19.9; dHBr[3][23] = -7725.0; dSBr[3][23] = -19.8; dHBr[3][24] = -7900.0; dSBr[3][24] = -20.5; dHBr[6] = {}; dSBr[6] = {}; dHBr[6][0] = -5600.0; dSBr[6][0] = -13.5; dHBr[6][1] = -9533.3; dSBr[6][1] = -23.5; dHBr[6][2] = -11100.0; dSBr[6][2] = -26.7; dHBr[6][3] = -7700.0; dSBr[6][3] = -19.1; dHBr[6][6] = -11000.0; dSBr[6][6] = -26.6; dHBr[6][7] = -7733.3; dSBr[6][7] = -19.2; dHBr[6][10] = -8750.0; dSBr[6][10] = -22.0; dHBr[6][12] = -8350.0; dSBr[6][12] = -20.1; dHBr[6][13] = -8550.0; dSBr[6][13] = -21.0; dHBr[6][17] = -8300.0; dSBr[6][17] = -20.1; dHBr[6][18] = -11050.0; dSBr[6][18] = -26.7; dHBr[6][19] = -6500.0; dSBr[6][19] = -17.3; dHBr[6][21] = -9233.3; dSBr[6][21] = -22.3; dHBr[6][22] = -6050.0; dSBr[6][22] = -15.4; dHBr[6][23] = -8550.0; dSBr[6][23] = -21.0; dHBr[6][24] = -8800.0; dSBr[6][24] = -22.0; dHBr[7] = {}; dSBr[7] = {}; dHBr[7][0] = -6966.7; dSBr[7][0] = -17.9; dHBr[7][1] = -8233.3; dSBr[7][1] = -20.8; dHBr[7][2] = -7700.0; dSBr[7][2] = -19.1; dHBr[7][3] = -7988.9; dSBr[7][3] = -20.4; dHBr[7][6] = -8500.0; dSBr[7][6] = -20.5; dHBr[7][7] = -7722.2; dSBr[7][7] = -20.0; dHBr[7][10] = -8500.0; dSBr[7][10] = -21.7; dHBr[7][12] = -7333.3; dSBr[7][12] = -18.5; dHBr[7][13] = -7916.7; dSBr[7][13] = -20.1; dHBr[7][17] = -7733.3; dSBr[7][17] = -19.2; dHBr[7][18] = -8100.0; dSBr[7][18] = -19.8; dHBr[7][19] = -8500.0; dSBr[7][19] = -22.9; dHBr[7][21] = -7722.2; dSBr[7][21] = -19.2; dHBr[7][22] = -7733.3; dSBr[7][22] = -20.4; dHBr[7][23] = -7916.7; dSBr[7][23] = -20.1; dHBr[7][24] = -8100.0; dSBr[7][24] = -21.0; dHBr[10] = {}; dSBr[10] = {}; dHBr[10][0] = -5800.0; dSBr[10][0] = -15.2; dHBr[10][1] = -8183.3; dSBr[10][1] = -20.2; dHBr[10][2] = -8350.0; dSBr[10][2] = -20.1; dHBr[10][3] = -7333.3; dSBr[10][3] = -18.5; dHBr[10][6] = -8400.0; dSBr[10][6] = -19.8; dHBr[10][7] = -7316.7; dSBr[10][7] = -18.7; dHBr[10][10] = -8100.0; dSBr[10][10] = -20.2; dHBr[10][12] = -7075.0; dSBr[10][12] = -17.7; dHBr[10][13] = -7587.5; dSBr[10][13] = -18.9; dHBr[10][17] = -7100.0; dSBr[10][17] = -17.5; dHBr[10][18] = -8375.0; dSBr[10][18] = -19.9; dHBr[10][19] = -7800.0; dSBr[10][19] = -20.7; dHBr[10][21] = -7516.7; dSBr[10][21] = -18.4; dHBr[10][22] = -6800.0; dSBr[10][22] = -17.9; dHBr[10][23] = -7587.5; dSBr[10][23] = -18.9; dHBr[10][24] = -8075.0; dSBr[10][24] = -20.4; dHBr[12] = {}; dSBr[12] = {}; dHBr[12][0] = -7450.0; dSBr[12][0] = -18.5; dHBr[12][1] = -8933.3; dSBr[12][1] = -22.9; dHBr[12][2] = -8750.0; dSBr[12][2] = -22.0; dHBr[12][3] = -8500.0; dSBr[12][3] = -21.7; dHBr[12][6] = -9850.0; dSBr[12][6] = -24.3; dHBr[12][7] = -8133.3; dSBr[12][7] = -20.9; dHBr[12][10] = -9025.0; dSBr[12][10] = -23.3; dHBr[12][12] = -8100.0; dSBr[12][12] = -20.2; dHBr[12][13] = -8562.5; dSBr[12][13] = -21.8; dHBr[12][17] = -8650.0; dSBr[12][17] = -21.4; dHBr[12][18] = -9300.0; dSBr[12][18] = -23.1; dHBr[12][19] = -8200.0; dSBr[12][19] = -22.4; dHBr[12][21] = -8683.3; dSBr[12][21] = -21.6; dHBr[12][22] = -7825.0; dSBr[12][22] = -20.4; dHBr[12][23] = -8562.5; dSBr[12][23] = -21.8; dHBr[12][24] = -8475.0; dSBr[12][24] = -22.2; dHBr[13] = {}; dSBr[13] = {}; dHBr[13][0] = -6625.0; dSBr[13][0] = -16.8; dHBr[13][1] = -8558.3; dSBr[13][1] = -21.5; dHBr[13][2] = -8550.0; dSBr[13][2] = -21.0; dHBr[13][3] = -7916.7; dSBr[13][3] = -20.1; dHBr[13][6] = -9125.0; dSBr[13][6] = -22.0; dHBr[13][7] = -7725.0; dSBr[13][7] = -19.8; dHBr[13][10] = -8562.5; dSBr[13][10] = -21.8; dHBr[13][12] = -7587.5; dSBr[13][12] = -18.9; dHBr[13][13] = -8075.0; dSBr[13][13] = -20.3; dHBr[13][17] = -7875.0; dSBr[13][17] = -19.4; dHBr[13][18] = -8837.5; dSBr[13][18] = -21.5; dHBr[13][19] = -8000.0; dSBr[13][19] = -21.5; dHBr[13][21] = -8100.0; dSBr[13][21] = -20.0; dHBr[13][22] = -7312.5; dSBr[13][22] = -19.2; dHBr[13][23] = -8075.0; dSBr[13][23] = -20.3; dHBr[13][24] = -8275.0; dSBr[13][24] = -21.3; dHBr[17] = {}; dSBr[17] = {}; dHBr[17][0] = -7350.0; dSBr[17][0] = -18.8; dHBr[17][1] = -8583.3; dSBr[17][1] = -22.1; dHBr[17][2] = -8800.0; dSBr[17][2] = -22.0; dHBr[17][3] = -8100.0; dSBr[17][3] = -21.0; dHBr[17][6] = -9400.0; dSBr[17][6] = -23.7; dHBr[17][7] = -7900.0; dSBr[17][7] = -20.5; dHBr[17][10] = -8475.0; dSBr[17][10] = -22.2; dHBr[17][12] = -8075.0; dSBr[17][12] = -20.4; dHBr[17][13] = -8275.0; dSBr[17][13] = -21.3; dHBr[17][17] = -8375.0; dSBr[17][17] = -21.2; dHBr[17][18] = -9100.0; dSBr[17][18] = -22.9; dHBr[17][19] = -7550.0; dSBr[17][19] = -20.6; dHBr[17][21] = -8516.7; dSBr[17][21] = -21.5; dHBr[17][22] = -7450.0; dSBr[17][22] = -19.7; dHBr[17][23] = -8275.0; dSBr[17][23] = -21.3; dHBr[17][24] = -8175.0; dSBr[17][24] = -21.3; dHBr[18] = {}; dSBr[18] = {}; dHBr[18][0] = -5700.0; dSBr[18][0] = -13.2; dHBr[18][1] = -9883.3; dSBr[18][1] = -24.3; dHBr[18][2] = -11050.0; dSBr[18][2] = -26.7; dHBr[18][3] = -8100.0; dSBr[18][3] = -19.8; dHBr[18][6] = -11450.0; dSBr[18][6] = -27.2; dHBr[18][7] = -7966.7; dSBr[18][7] = -19.6; dHBr[18][10] = -9300.0; dSBr[18][10] = -23.1; dHBr[18][12] = -8375.0; dSBr[18][12] = -19.9; dHBr[18][13] = -8837.5; dSBr[18][13] = -21.5; dHBr[18][17] = -8575.0; dSBr[18][17] = -20.2; dHBr[18][18] = -11250.0; dSBr[18][18] = -26.9; dHBr[18][19] = -7150.0; dSBr[18][19] = -19.1; dHBr[18][21] = -9400.0; dSBr[18][21] = -22.4; dHBr[18][22] = -6425.0; dSBr[18][22] = -16.1; dHBr[18][23] = -8837.5; dSBr[18][23] = -21.5; dHBr[18][24] = -9100.0; dSBr[18][24] = -22.9; dHBr[19] = {}; dSBr[19] = {}; dHBr[19][0] = -6000.0; dSBr[19][0] = -16.9; dHBr[19][1] = -6833.3; dSBr[19][1] = -16.8; dHBr[19][2] = -5600.0; dSBr[19][2] = -13.5; dHBr[19][3] = -6966.7; dSBr[19][3] = -17.9; dHBr[19][6] = -5800.0; dSBr[19][6] = -12.9; dHBr[19][7] = -6900.0; dSBr[19][7] = -18.1; dHBr[19][10] = -7450.0; dSBr[19][10] = -18.5; dHBr[19][12] = -5800.0; dSBr[19][12] = -15.2; dHBr[19][13] = -6625.0; dSBr[19][13] = -16.8; dHBr[19][17] = -5900.0; dSBr[19][17] = -14.9; dHBr[19][18] = -5700.0; dSBr[19][18] = -13.2; dHBr[19][19] = -9100.0; dSBr[19][19] = -24.0; dHBr[19][21] = -5800.0; dSBr[19][21] = -14.4; dHBr[19][22] = -7550.0; dSBr[19][22] = -20.5; dHBr[19][23] = -6625.0; dSBr[19][23] = -16.8; dHBr[19][24] = -7350.0; dSBr[19][24] = -18.8; dHBr[21] = {}; dSBr[21] = {}; dHBr[21][0] = -6833.3; dSBr[21][0] = -16.8; dHBr[21][1] = -9133.3; dSBr[21][1] = -23.1; dHBr[21][2] = -9533.3; dSBr[21][2] = -23.5; dHBr[21][3] = -8233.3; dSBr[21][3] = -20.8; dHBr[21][6] = -10233.3; dSBr[21][6] = -25.1; dHBr[21][7] = -8000.0; dSBr[21][7] = -20.3; dHBr[21][10] = -8933.3; dSBr[21][10] = -22.9; dHBr[21][12] = -8183.3; dSBr[21][12] = -20.2; dHBr[21][13] = -8558.3; dSBr[21][13] = -21.5; dHBr[21][17] = -8533.3; dSBr[21][17] = -20.9; dHBr[21][18] = -9883.3; dSBr[21][18] = -24.3; dHBr[21][19] = -7633.3; dSBr[21][19] = -20.7; dHBr[21][21] = -8866.7; dSBr[21][21] = -21.8; dHBr[21][22] = -7233.3; dSBr[21][22] = -18.7; dHBr[21][23] = -8558.3; dSBr[21][23] = -21.5; dHBr[21][24] = -8583.3; dSBr[21][24] = -22.1; dHBr[22] = {}; dSBr[22] = {}; dHBr[22][0] = -7550.0; dSBr[22][0] = -20.5; dHBr[22][1] = -7233.3; dSBr[22][1] = -18.7; dHBr[22][2] = -6050.0; dSBr[22][2] = -15.4; dHBr[22][3] = -7733.3; dSBr[22][3] = -20.4; dHBr[22][6] = -6800.0; dSBr[22][6] = -16.9; dHBr[22][7] = -7483.3; dSBr[22][7] = -19.9; dHBr[22][10] = -7825.0; dSBr[22][10] = -20.4; dHBr[22][12] = -6800.0; dSBr[22][12] = -17.9; dHBr[22][13] = -7312.5; dSBr[22][13] = -19.2; dHBr[22][17] = -7175.0; dSBr[22][17] = -18.7; dHBr[22][18] = -6425.0; dSBr[22][18] = -16.1; dHBr[22][19] = -8850.0; dSBr[22][19] = -24.0; dHBr[22][21] = -6800.0; dSBr[22][21] = -17.6; dHBr[22][22] = -8200.0; dSBr[22][22] = -22.2; dHBr[22][23] = -7312.5; dSBr[22][23] = -19.2; dHBr[22][24] = -7450.0; dSBr[22][24] = -19.7; dHBr[23] = {}; dSBr[23] = {}; dHBr[23][0] = -6625.0; dSBr[23][0] = -16.8; dHBr[23][1] = -8558.3; dSBr[23][1] = -21.5; dHBr[23][2] = -8550.0; dSBr[23][2] = -21.0; dHBr[23][3] = -7916.7; dSBr[23][3] = -20.1; dHBr[23][6] = -9125.0; dSBr[23][6] = -22.0; dHBr[23][7] = -7725.0; dSBr[23][7] = -19.8; dHBr[23][10] = -8562.5; dSBr[23][10] = -21.8; dHBr[23][12] = -7587.5; dSBr[23][12] = -18.9; dHBr[23][13] = -8075.0; dSBr[23][13] = -20.3; dHBr[23][17] = -7875.0; dSBr[23][17] = -19.4; dHBr[23][18] = -8837.5; dSBr[23][18] = -21.5; dHBr[23][19] = -8000.0; dSBr[23][19] = -21.5; dHBr[23][21] = -8100.0; dSBr[23][21] = -20.0; dHBr[23][22] = -7312.5; dSBr[23][22] = -19.2; dHBr[23][23] = -8075.0; dSBr[23][23] = -20.3; dHBr[23][24] = -8275.0; dSBr[23][24] = -21.3; dHBr[24] = {}; dSBr[24] = {}; dHBr[24][0] = -5900.0; dSBr[24][0] = -14.9; dHBr[24][1] = -8533.3; dSBr[24][1] = -20.9; dHBr[24][2] = -8300.0; dSBr[24][2] = -20.1; dHBr[24][3] = -7733.3; dSBr[24][3] = -19.2; dHBr[24][6] = -8850.0; dSBr[24][6] = -20.4; dHBr[24][7] = -7550.0; dSBr[24][7] = -19.1; dHBr[24][10] = -8650.0; dSBr[24][10] = -21.4; dHBr[24][12] = -7100.0; dSBr[24][12] = -17.5; dHBr[24][13] = -7875.0; dSBr[24][13] = -19.4; dHBr[24][17] = -7375.0; dSBr[24][17] = -17.6; dHBr[24][18] = -8575.0; dSBr[24][18] = -20.2; dHBr[24][19] = -8450.0; dSBr[24][19] = -22.4; dHBr[24][21] = -7683.3; dSBr[24][21] = -18.4; dHBr[24][22] = -7175.0; dSBr[24][22] = -18.7; dHBr[24][23] = -7875.0; dSBr[24][23] = -19.4; dHBr[24][24] = -8375.0; dSBr[24][24] = -21.2; } var Seq = function (str) { var str1 = str.toLowerCase(); var returnString = ""; for (var i = 0; i < str1.length; i++) { var chr = str1.charAt(i); if (chr == 'a' || chr == 't' || chr == 'c' || chr == 'g' || chr == 'r' || chr == 'y' || chr == 'm' || chr == 'k' || chr == 'w' || chr == 'b' || chr == 'd' || chr == 'v' || chr == 'h' || chr == 's' || chr == 'i' || chr == 'n' || chr == 'u') { returnString += chr; } } return returnString; } var ReverseDNA = function(source) { return source.split("").reverse().join(""); } var AntiSenseDNA = function(source) { var result = []; var d = {}; d[97] = 116; //'t' a d[98] = 118; //'v' b d[99] = 103; //'g' c d[100] = 104; //'h' d d[103] = 99; //'c' g d[104] = 100; //'d' h d[105] = 99; //'i' i->c d[107] = 109; //'m' k d[109] = 107; //'k' m d[110] = 110; //'n' n d[114] = 121; //'y' r d[115] = 115; //'s' s d[116] = 97; //'a' t d[117] = 97; //'a' u d[118] = 98; //'b' v d[119] = 119; //'w' w d[121] = 114; //'r' y for (var i = 0; i < source.length; i++) { if(d[source.charCodeAt(i)]) { result.push(String.fromCharCode(d[source.charCodeAt(i)])); } } return result.join(''); } var TmBr = function( str, solt, pri) { var dS = -12.4; var dH = -3400; var T = 0; var j = str.length; for (var i = 0; i < j - 1; i++) { var n1 = parseInt(str.charCodeAt(i)); var n2 = parseInt(str.charCodeAt(i + 1)); dH = dH + dHBr[n1 - 97][n2 - 97]; dS = dS + dSBr[n1 - 97][n2 - 97]; } T = (16.6 * Math.log(solt) / Math.log(10)) + (dH / (1.9872 * Math.log(pri / 1600) + dS)) - 273.15; if (T < 0) { T = 0; } if (T > 95) { T = 95.0; } return (T); } var CG = function(str) { var sdn = {}; //M=(A/C) R=(A/G) W=(A/T) S=(G/C) Y=(C/T) K=(G/T) V=(A/G/C) H=(A/C/T) D=(A/G/T) B=(C/G/T) N=(A/G/C/T), U=T sdn[98] = 0.66666; //B=(C/G/T) sdn[99] = 1; //c sdn[100] = 0.33333; //D=(A/G/T) sdn[103] = 1; //g sdn[104] = 0.33333; //H=(A/C/T) sdn[105] = 1; //i=G sdn[107] = 0.5; //K=(G/T) sdn[109] = 0.5; //M=(A/C) sdn[110] = 0.5; //N=(A/G/C/T) sdn[114] = 0.5; //R=(A/G) sdn[115] = 1; //S=(G/C) sdn[118] = 0.66666; //V=(A/G/C) sdn[121] = 0.5; //Y=(C/T) var dr = parseFloat(0); var l = str.length; for (var i = 0; i < l; i++) { if(sdn[str.charCodeAt(i)] !== undefined) dr = dr + sdn[str.charCodeAt(i)]; } return (100 * dr / l); } var e260 = function(str) { var j = str.length; if (j < 4){return (0);} var n1 = parseInt(str.charCodeAt(0)); var n2 = parseInt(str.charCodeAt(1)); var t = vOD[n1 - 97][n2 - 97]; for (var i = 1; i < j - 1; i++) { n1 = parseInt(str.charCodeAt(i)); n2 = parseInt(str.charCodeAt(i + 1)); t = t + vOD[n1 - 97][n2 - 97] + nOD[n1 - 97]; } return (t); } /* var DimerLook = function(r1, r2, n_base, m0, m1, m2, m3) { var z1 = ""; var z2 = ""; var z3 = ""; var j = 0; var n = 0; var x = 0; var y = 0; var z = 0; var r = 0; var f = -1; var w = 0; var l = 0; var l1 = r1.length; var l2 = r2.length; n_base = parseInt(n_base); if (n_base <1) {n_base=1;} if (n_base >10) {n_base=10;} var initK = n_base + 1; var StrLen = n_base + 2; var FilterSize = n_base + 5; if (l1 < l2) { z1 = r2; z3 = ReverseDNA(r1); l = l1; l1 = l2; l2 = l; } else { z1 = r1; z3 = ReverseDNA(r2); } z2 = AntiSenseDNA(z3); var px = {}; var r1x = z1; var r2y = z2; for (y = 0; y < l2 - initK; y++) { x = -1; for (;;) { x = z1.indexOf(z2.substring(y, y + initK), x + 1); if (x == -1) { break; } w = l2 + x - y; z = y + l1 - x - 1; j = 0; l = initK; r = initK; if (!px[w]) { for (;;) { if (x + l > l1 - 1) { break; } if (y + l > l2 - 1) { break; } if (r1x[x + l] == r2y[y + l]) { l = l + 1; r = r + 1; } else { if (x + l + 1 > l1 - 1) { break; } if (y + l + 1 > l2 - 1) { break; } if (r1x[x + l + 1] == r2y[y + l + 1]) { l = l + 2; r = r + 1; } else { break; } } } for (;;) { if (x - j - 1 < 0) { break; } if (y - j - 1 < 0) { break; } if (r1x[x - j - 1] == r2y[y - j - 1]) { l = l + 1; r = r + 1; j = j + 1; } else { if (x - j - 2 < 0) { break; } if (y - j - 2 < 0) { break; } if (r1x[x - j - 2] == r2y[y - j - 2]) { l = l + 2; r = r + 1; j = j + 2; } else { break; } } } if (r > StrLen) { f++; m0[f] = 0; if (r > FilterSize) { m0[f] = 3; } // internal dimer for l1, x if (y - j < 2 && x - j > 1) { m0[f] = 1; } // 3'end dimer for l2, y if (z < l2 && x + 1 - j > l1 - 1) { m0[f] = 2; } // 3'end dimer for l1, x if (m0[f] > 0) { px[w] = 1; if (w > l2 - 1) { w = w - l2; m1[f] = "5-" + z1 + "->"; var value = []; for (j = 0; j < w; j++) { value.push(' '); } m3[f] = value.join('') + "<-" + z3 + "-5"; value = []; for (j = 0; j < w + 2; j++) { value.push(' '); } m2[f] = value.join(''); n = l1 - w; if (n > l2 - 1) { n = l2; } for (j = 0; j < n; j++) { if (r1x[w + j] == r2y[j]) { m2[f] = m2[f] + "|"; } else { m2[f] = m2[f] + " "; } } } else // if (w > l2 - 1) { w = l2 - w; m3[f] = "<-" + z3 + "-5"; var value = []; for (j = 0; j < w; j++) { value.push(' '); } m1[f] = value.join('') + "5-" + z1 + "->"; value =[]; for (j = 0; j < w + 2; j++) { value.push(' '); } m2[f] = value.join(''); for (j = 0; j < l2 - w; j++) { if (r1x[j] == r2y[j + w]) { m2[f] = m2[f] + "|"; } else { m2[f] = m2[f] + " "; } } } } // if (m0[f]>0) else { f--; } } // if (r > StrLen) { } } } return f; } */ var DimerLook = function(r1, r2, n_base, m0, m1, m2, m3) { n_base = parseInt(n_base); var z1 = ""; var z2 = ""; var z3 = ""; var j = 0; var n = 0; var x = 0; var y = 0; var z = 0; var r = 0; var f = -1; var w = 0; var l = 0; var l1 = r1.length; var l2 = r2.length; if (n_base < 1) n_base = 1; if (n_base > 10) n_base = 10; var initK = n_base + 1; var StrLen = n_base + 2; var FilterSize = n_base + 5; if (l1 < l2) { z1 = r2; z3 = ReverseDNA(r1); l = l1; l1 = l2; l2 = l; } else { z1 = r1; z3 = ReverseDNA(r2); } z2 = AntiSenseDNA(z3); var px = {}; var r1x = z1; var r2y = z2; for (y = 0; y < l2 - initK; y++) { x = -1; while (true) { x = z1.indexOf(z2.substring(y, y + initK), x + 1); if (x == -1) { break; } w = l2 + x - y; z = y + l1 - x - 1; j = 0; l = initK; r = initK; if (px[w] === undefined || px[w] == 0) { while (x + l <= l1 - 1) { if (y + l > l2 - 1) { break; } if (r1x[(x + l)] == r2y[(y + l)]) { l += 1; r += 1; } else { if (x + l + 1 > l1 - 1) { break; } if (y + l + 1 > l2 - 1) { break; } if (r1x[(x + l + 1)] != r2y[(y + l + 1)]) break; l += 2; r += 1; } } while (x - j - 1 >= 0) { if (y - j - 1 < 0) { break; } if (r1x[(x - j - 1)] == r2y[(y - j - 1)]) { l += 1; r += 1; j += 1; } else { if (x - j - 2 < 0) { break; } if (y - j - 2 < 0) { break; } if (r1x[(x - j - 2)] != r2y[(y - j - 2)]) break; l += 2; r += 1; j += 2; } } if (r > StrLen) { f++; m0[f] = 0; if (r > FilterSize) { m0[f] = 3; } if ((y - j < 2) && (x - j > 1)) { m0[f] = 1; } if ((z < l2) && (x + 1 - j > l1 - 1)) { m0[f] = 2; } if (m0[f] > 0) { px[w] = 1; if (w > l2 - 1) { w -= l2; m1[f] = ("5-" + z1 + "->"); var value = []; for (j = 0; j < w; j++) { value.push(' '); } m3[f] = (value.join('') + "<-" + z3 + "-5"); var value = []; for (j = 0; j < w+2; j++) { value.push(' '); } m2[f] = value.join(''); n = l1 - w; if (n > l2 - 1) { n = l2; } for (j = 0; j < n; j++) { if (r1x[(w + j)] == r2y[j]) { m2[f] = (m2[f] + "|"); } else { m2[f] = (m2[f] + " "); } } } else { w = l2 - w; m3[f] = ("<-" + z3 + "-5"); var value = []; for (j = 0; j < w; j++) { value.push(' '); } m1[f] = (value.join('') + "5-" + z1 + "->"); value = []; for (j = 0; j < w + 2; j++) { value.push(' '); } m2[f] = value.join(''); for (j = 0; j < l2 - w; j++) { if (r1x[j] == r2y[(j + w)]){ m2[f] = (m2[f] + "|"); } else m2[f] = (m2[f] + " "); } } } else { f--; } } } } } String() return f; } this.recount = function () { var primers = that.calcBuilder.getElement('primers'); var primer_concentration = that.calcBuilder.getElement('primer_concentration'); var sensivity = that.calcBuilder.getElement('sensivity'); var salt_concentration = that.calcBuilder.getElement('salt_concentration'); var results_for_primer_tab_date_fmat = that.calcBuilder.getElement('results_for_primer_tab_date_fmat'); var primers_dimer_detection = that.calcBuilder.getElement('primers_dimer_detection'); var number_of_primers = that.calcBuilder.getElement('number_of_primers'); primers_dimer_detection.value = ""; results_for_primer_tab_date_fmat.value = ""; var salt = 0.05; var p = 0.0000025; var salt0 = that.calcBuilder.NumToDouble(salt_concentration.value); var p0 = that.calcBuilder.NumToDouble(primer_concentration.value); if (salt0 > 0 && salt0 < 5000) { salt = salt0 / 1000; } if (p0 > 0 && p0 < 10) { p = p0 / 100000; } var s = primers.value; var l = s.length; var k = -1; var j = 0; var z = 0; var x = 0; var n_seq = -1; if (l < 2) return; var name_seq = {}; var seqs = {}; if (s.indexOf(">", 0) > -1) { do { k = s.indexOf(">", k + 1); if (k > -1) { n_seq = n_seq + 1; } } while (k > -1); name_seq = {}; seqs = {}; k = -1; j = 0; n_seq = -1; do { k = s.indexOf(">", k + 1); if (k > -1) { j = s.indexOf("\r", k + 1); z = s.indexOf("\n", k + 1); x = s.indexOf(" ", k + 1); if (j == -1 && z != -1) { j = z; } if (j == -1 & z == -1 && x > -1) { j = x; } if (j > -1) { n_seq = n_seq + 1; name_seq[n_seq] = s.substring(k + 1, j).trim(); k = s.indexOf(">", j + 1); if (k != -1) { seqs[n_seq] = Seq(s.substring(j + 1, k - 1)); k = k - 1; } else { seqs[n_seq] = Seq(s.substring(j + 1, l)); } } } } while (k > -1); } //(s.indexOf(">",0)>-1) // Tab reading if (n_seq == -1 && s.indexOf("\t", 0) > -1) { k = -1; do { k = s.indexOf("\t", k + 1); if (k > -1) { n_seq = n_seq + 1; } } while (k > -1); name_seq = {}; seqs = {}; k = -1; j = 0; x = 0; n_seq = -1; do { k = s.indexOf("\t", k + 1); if (k > -1) { j = s.indexOf("\r", k + 3); z = s.indexOf("\n", k + 3); if (j == -1 && z != -1) { j = z; } if (j > -1) { n_seq = n_seq + 1; name_seq[n_seq] = s.substring(x, k).trim(); seqs[n_seq] = Seq(s.substring(k, j)); x = j + 1; k = j; } else { n_seq = n_seq + 1; name_seq[n_seq] = s.substring(x, k).trim(); seqs[n_seq] = Seq(s.substring(k, l)); break; } } } while (k > -1); } // " " blank reading if (n_seq == -1 && s.indexOf(" ", 0) > -1) { k = -1; do { k = s.indexOf(" ", k + 1); if (k > -1) { n_seq = n_seq + 1; } } while (k > -1); name_seq = {}; seqs = {}; k = -1; j = 0; x = 0; n_seq = -1; do { k = s.indexOf(" ", k + 1); if (k > -1) { j = s.indexOf("\r", k + 3); z = s.indexOf("\n", k + 3); if (j == -1 && z != -1) j = z; if (j > -1) { n_seq = n_seq + 1; name_seq[n_seq] = s.substring(x, k).trim(); seqs[n_seq] = Seq(s.substring(k, j)); x = j + 1; k = j; } else { n_seq = n_seq + 1; name_seq[n_seq] = s.substring(x, k).trim(); seqs[n_seq] = Seq(s.substring(k, l)); break; } } } while (k > -1); } // single sequence if (n_seq == -1) { n_seq = 0; name_seq[n_seq] = "seq_1"; seqs[n_seq] = Seq(s); } number_of_primers.innerHTML ="Number of primers: " + (n_seq + 1); var zname = 4; var zseq = 8; var Sequence_width_title = 0; for (var n = 0; n < n_seq + 1; n++) { var lseqs = seqs[n].length; var lname = name_seq[n].length; if(Sequence_width_title

4) { var value = []; for (var q = 0; q < zname - 4; q++) { value.push(' '); } a2 = value.join('') + "\t"; } var a3 = "\t"; if (zseq > 8) { var value = []; for (var q = 0; q < zseq - 8; q++) { value.push(' '); } a3 = value.join('') + "\t"; } results_for_primer_tab_date_fmat.value = "Name" + a2 + fitToWidth("Sequence", Sequence_width_title) + "\t" + "Tm°C\tCG%\tnt\tA\tT\tC\tG\tExtinction coefficient(l/(mol·cm)\tMolecular weight(g/mol)\tnmol\tµg/OD260"; for (var n = 0; n < n_seq + 1; n++) { var an = 0; var tn = 0; var cn = 0; var gn = 0; var in_var = 0; var un = 0; var lseq = seqs[n].length; for (var i = 0; i < lseq; i++) { var chr = seqs[n].charAt(i); if (chr == 'm') { an = an + 0.5; cn = cn + 0.5; } if (chr == 'r') { an = an + 0.5; gn = gn + 0.5; } if (chr == 'w') { an = an + 0.5; tn = tn + 0.5; } if (chr == 's') { gn = gn + 0.5; cn = cn + 0.5; } if (chr == 'y') { tn = tn + 0.5; cn = cn + 0.5; } if (chr == 'k') { gn = gn + 0.5; tn = tn + 0.5; } if (chr == 'v') { an = an + 0.333; cn = cn + 0.333; gn = gn + 0.333; } if (chr == 'h') { an = an + 0.333; cn = cn + 0.333; tn = tn + 0.333; } if (chr == 'b') { tn = tn + 0.333; cn = cn + 0.333; gn = gn + 0.333; } if (chr == 'd') { an = an + 0.333; tn = tn + 0.333; gn = gn + 0.333; } if (chr == 'n') { an = an + 0.25; cn = cn + 0.25; gn = gn + 0.25; tn = tn + 0.25; } if (chr == 'x') { an = an + 0.25; cn = cn + 0.25; gn = gn + 0.25; tn = tn + 0.25; } if (chr == 'a') { an = an + 1; } if (chr == 't') { tn = tn + 1; } if (chr == 'c') { cn = cn + 1; } if (chr == 'g') { gn = gn + 1; } if (chr == 'i') { in_var = in_var + 1; } if (chr == 'u') { tn = tn + 1; } } if (lseq > 1) { var d1 = CG(seqs[n]); var Mw = (an * 313.21) + (tn * 304.2) + (cn * 289.18) + (gn * 329.21) + (in_var * 314) + (un * 290.169) - 61.96; var M = e260(seqs[n]); var nmol = 1000000 / M; var mg = (Mw * 1000) / M; if (name_seq[n] == null || name_seq[n]=="" || name_seq[n]==" ") { name_seq[n] = "seq_" + (n + 1); } var s2 = "\t"; if (zname - name_seq[n].length > 0) { var value = []; for (var q = 0; q < zname - name_seq[n].length; q++) { value.push(' '); } s2 = value.join('') + "\t"; } var s3 = "\t"; if (zseq - seqs[n].length > 0) { var value = []; for (var q = 0; q < zseq - seqs[n].length; q++) { value.push(' '); } s3 = value.join('') + "\t"; } var s4 = " "; if (Mw > 9999.999) { s4 = " "; } if (Mw > 99999.999) { s4 = " "; } results_for_primer_tab_date_fmat.value += "\n" + name_seq[n] + s2 + fitToWidth(seqs[n], Sequence_width_title) + "\t" + that.calcBuilder.NumberToSeq(TmBr(seqs[n], salt, p)) + "\t" + that.calcBuilder.NumberToSeq(d1) + "\t" + lseq + "\t" + that.calcBuilder.NumberToSeq(an) + "\t" + that.calcBuilder.NumberToSeq(tn) + "\t" + that.calcBuilder.NumberToSeq(cn) + "\t" + that.calcBuilder.NumberToSeq(gn) + "\t" + fitToWidth(that.calcBuilder.NumberToSeq(M),"Extinction coefficient(l/(mol·cm)") + "\t" + fitToWidth(that.calcBuilder.NumberToSeq(Mw),"Molecular weight(g/mol)") + "\t" + fitToWidth(that.calcBuilder.NumberToSeq(nmol),"nmol") + "\t" + that.calcBuilder.NumberToSeq(mg); } } // Dimer showing var min3 = that.calcBuilder.NumberToSeq(sensivity.value);// NumSeq(ivjmin3.getText()); results_for_primer_tab_date_fmat.value += "\n"; if (n_seq > -1) { primers_dimer_detection.value = " Self-Dimers:\n\n"; for (var n = 0; n < n_seq + 1; n++) { var sl=seqs[n].length; sl=sl+sl+sl; var x0 = {}; var x1 = {}; var x2 = {}; var x3 = {}; k = DimerLook(seqs[n], seqs[n], min3, x0, x1, x2, x3); if (k > -1) { if (k==0) {primers_dimer_detection.value += "1 dimer for: " +name_seq[n] + "\n";} else {primers_dimer_detection.value += (k+1) +" dimers for: " +name_seq[n] + "\n";} for (var w = 0; w < k+1; w++) { primers_dimer_detection.value += x1[w] + "\n"; primers_dimer_detection.value += x2[w] + "\n"; primers_dimer_detection.value += x3[w] + "\n\n"; } } } } if (n_seq > 0) { primers_dimer_detection.value += "\n Cross Primer Dimers:\n\n"; for (var n = 0; n < n_seq; n++) { for (var f = n + 1; f < n_seq + 1; f++) { var sl1=seqs[n].length; var sl2=seqs[f].length; var sl=sl1+sl1+sl2; if (sl1>sl2) {sl=sl2+sl2+sl1;} var x0 = {}; var x1 = {}; var x2 = {}; var x3 = {}; k = DimerLook(seqs[n], seqs[f], min3, x0, x1, x2, x3); if (k > -1) { primers_dimer_detection.value += name_seq[n] + " with " + name_seq[f] + "\n"; primers_dimer_detection.value += name_seq[n] + "\n"; for (var w = 0; w < k+1; w++) { primers_dimer_detection.value += x1[w] + "\n"; primers_dimer_detection.value += x2[w] + "\n"; primers_dimer_detection.value += x3[w] + "\n\n"; } } } } } } this.draw = function () { this.loadData(); // load Data tables this.calcBuilder.draw(); var primers = this.calcBuilder.getElement('primers'); var primer_concentration = this.calcBuilder.getElement('primer_concentration'); var sensivity = this.calcBuilder.getElement('sensivity'); var salt_concentration = this.calcBuilder.getElement('salt_concentration'); //if (primers && primer_concentration && sensivity && salt_concentration) { primers.onkeyup = this.recount; // onchange doesn't work correctly at FF primer_concentration.onkeyup = this.recount; sensivity.onkeyup = this.recount; salt_concentration.onkeyup = this.recount; //} this.calcBuilder.getElement('clear_button').onclick = function(){ primers.value = ""; that.recount(); } } return this;}

For analyzing and comparing multiple primer sequences simultaneously.

Write or paste your primer sequences to the input field (upper window). The analyzer accepts text and table format (can be copied from an Excel file, for example). Note: This analyzer requires at least 2 primer sequences in the input field. For single primers (determination of primer Tm) you can choose the Tm calculator for PCR.

  • A name is required for each primer (eg. Seq1 agtcagtcagtcagtcagtc).
  • The name and sequence string can be separated with either space or tab, as long as the style is the same for all the primers
  • Degenerate primer sequences are also accepted
  • NOTE: If the PCR primer contains desired mismatches, e.g. for creating a mutation or a restriction site, make sure to calculate the Tm only for the correctly matched sequence.

The results will appear instantly in the output fields (lower windows), and update automatically if you make changes to the sequences. The analyzer will give the following results:

  • Tm (°C)*
  • CG content (%)
  • Length of the primers (nt)
  • Number of individual bases (A, T, C and G)
  • Extinction coefficient (l/(mol·cm))
  • Molecular weight (g/mol)
  • Amount / OD unit (nmol/OD260)
  • Mass (µg/OD260)
  • Primer-dimer estimation**

*The calculated Tm for a given primer can vary significantly between different calculation methods. This Tm calculator uses a modified nearest-neighbor method based on the method described by Breslauer et al., Proc. Natl. Acad. Sci. 83, 3746-50 (1986).

**The analyzer reports possible primer-dimers based on the detection parameters given below the sequence input window. The dimer information is intended to be used as a preliminary guide when selecting suitable primer combinations. It is not conclusive data. In the actual amplification reaction the primer-dimer formation can vary depending on the PCR conditions.

Multiple Primer Analyzer - US (2024)

References

Top Articles
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated:

Views: 5674

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.