package org.seqcode.genome.sequence.seqfunctions; import java.util.HashMap; import java.util.Map; /** * Scores Roll (degrees) of a sequence using score defined by Remo Rohs' lab. * Source: * http://rohslab.cmb.usc.edu/DNAshape/ * Zhou,T., Yang,L., Lu,Y., Dror,I., Dantas Machado,A.C., Ghane,T., Di Felice,R. and Rohs,R. * DNAshape: a method for the high-throughput prediction of DNA structural features on a genomic scale. * Nucleic Acids Res. (2013) 41, W56-W62. * * @author mahony * */ public class RollStructureFunction implements SeqFunction{ //Variables final int scoreDimension = 1; int scoringOffset = 1; int scoreWindowSize = 5; boolean isBetweenNucs = true; final String[] labels = {"Roll"}; final String description = "Roll (Rohs)"; Map<String, Double> structureA = new HashMap<String, Double>(); Map<String, Double> structureB = new HashMap<String, Double>(); public RollStructureFunction(){ loadStructureValues(); } public double[][] score(String seq) throws SeqFunctionException { if(seq.length()<scoreWindowSize) throw new SeqFunctionException("Sequence too short for RollStructureFunction"); double [][] scores = new double[scoreDimension][seq.length()]; String seqU = seq.toUpperCase(); for(int i=0; i<seqU.length(); i++) scores[0][i]=0; Double lastBscore =0.0; for(int i=0; i<seqU.length()-scoreWindowSize+1; i++){ String kmer = seqU.substring(i, i+scoreWindowSize); if(i==0){ scores[0][i+scoringOffset]=structureA.get(kmer); }else{ scores[0][i+scoringOffset]=(structureA.get(kmer)+lastBscore)/2; } scores[0][i+scoringOffset+1]=structureB.get(kmer); lastBscore = structureB.get(kmer); } return scores; } public int scoreDimension() { return scoreDimension; } public int scoringOffset() { return scoringOffset; } public int scoreWindowSize() { return scoreWindowSize; } public boolean isBetweenNucleotides() { return isBetweenNucs; } public String[] dimensionLabels() { return labels; } public String scoreDescription() { return description; } public double getMaxScore(){return 8.64;} public double getMinScore(){return -8.57;} private void loadStructureValues(){ structureA.put("AAAAA", -5.05); structureA.put("AAAAT", -3.56); structureA.put("AAAAG", -4.23); structureA.put("AAAAC", -3.62); structureA.put("AAATA", -3.91); structureA.put("AAATT", -5.00); structureA.put("AAATG", -4.21); structureA.put("AAATC", -2.43); structureA.put("AAAGA", -4.76); structureA.put("AAAGT", -6.36); structureA.put("AAAGG", -4.80); structureA.put("AAAGC", -5.07); structureA.put("AAACA", -2.98); structureA.put("AAACT", -4.30); structureA.put("AAACG", -2.94); structureA.put("AAACC", -3.75); structureA.put("AATAA", -3.91); structureA.put("AATAT", -5.48); structureA.put("AATAG", -5.98); structureA.put("AATAC", -4.27); structureA.put("AATTA", -5.21); structureA.put("AATTT", -8.57); structureA.put("AATTG", -5.32); structureA.put("AATTC", -6.49); structureA.put("AATGA", -6.08); structureA.put("AATGT", -6.17); structureA.put("AATGG", -4.16); structureA.put("AATGC", -5.22); structureA.put("AATCA", -4.75); structureA.put("AATCT", -6.11); structureA.put("AATCG", -4.90); structureA.put("AATCC", -5.81); structureA.put("AAGAA", -1.79); structureA.put("AAGAT", -3.96); structureA.put("AAGAG", -1.76); structureA.put("AAGAC", -2.15); structureA.put("AAGTA", -3.52); structureA.put("AAGTT", -3.62); structureA.put("AAGTG", -2.79); structureA.put("AAGTC", -4.01); structureA.put("AAGGA", -3.38); structureA.put("AAGGT", -4.81); structureA.put("AAGGG", -3.37); structureA.put("AAGGC", -2.75); structureA.put("AAGCA", -3.05); structureA.put("AAGCT", -3.24); structureA.put("AAGCG", -2.38); structureA.put("AAGCC", -3.70); structureA.put("AACAA", -2.29); structureA.put("AACAT", -3.23); structureA.put("AACAG", -2.40); structureA.put("AACAC", -2.42); structureA.put("AACTA", -4.24); structureA.put("AACTT", -5.19); structureA.put("AACTG", -3.28); structureA.put("AACTC", -4.38); structureA.put("AACGA", -2.49); structureA.put("AACGT", -3.43); structureA.put("AACGG", -3.07); structureA.put("AACGC", -2.93); structureA.put("AACCA", -3.30); structureA.put("AACCT", -4.78); structureA.put("AACCG", -3.13); structureA.put("AACCC", -4.18); structureA.put("ATAAA", 8.13); structureA.put("ATAAT", 6.41); structureA.put("ATAAG", 6.31); structureA.put("ATAAC", 6.14); structureA.put("ATATA", 8.32); structureA.put("ATATT", 6.33); structureA.put("ATATG", 5.85); structureA.put("ATATC", 6.33); structureA.put("ATAGA", 6.34); structureA.put("ATAGT", 3.79); structureA.put("ATAGG", 5.54); structureA.put("ATAGC", 4.96); structureA.put("ATACA", 5.89); structureA.put("ATACT", 6.22); structureA.put("ATACG", 5.89); structureA.put("ATACC", 5.39); structureA.put("ATTAA", -2.12); structureA.put("ATTAT", -2.76); structureA.put("ATTAG", -1.62); structureA.put("ATTAC", -2.51); structureA.put("ATTTA", -2.36); structureA.put("ATTTT", -5.12); structureA.put("ATTTG", -4.68); structureA.put("ATTTC", -4.40); structureA.put("ATTGA", -2.10); structureA.put("ATTGT", -2.43); structureA.put("ATTGG", -2.07); structureA.put("ATTGC", -2.92); structureA.put("ATTCA", -2.45); structureA.put("ATTCT", -3.86); structureA.put("ATTCG", -2.98); structureA.put("ATTCC", -3.73); structureA.put("ATGAA", 5.73); structureA.put("ATGAT", 3.79); structureA.put("ATGAG", 5.69); structureA.put("ATGAC", 5.16); structureA.put("ATGTA", 5.57); structureA.put("ATGTT", 5.76); structureA.put("ATGTG", 6.57); structureA.put("ATGTC", 4.90); structureA.put("ATGGA", 4.34); structureA.put("ATGGT", 4.04); structureA.put("ATGGG", 3.38); structureA.put("ATGGC", 3.68); structureA.put("ATGCA", 4.66); structureA.put("ATGCT", 4.59); structureA.put("ATGCG", 5.09); structureA.put("ATGCC", 4.26); structureA.put("ATCAA", 0.04); structureA.put("ATCAT", -1.32); structureA.put("ATCAG", -0.36); structureA.put("ATCAC", -0.51); structureA.put("ATCTA", -1.24); structureA.put("ATCTT", -3.29); structureA.put("ATCTG", -0.33); structureA.put("ATCTC", -1.46); structureA.put("ATCGA", -0.54); structureA.put("ATCGT", -1.68); structureA.put("ATCGG", -0.66); structureA.put("ATCGC", -0.66); structureA.put("ATCCA", -0.96); structureA.put("ATCCT", -1.25); structureA.put("ATCCG", -2.07); structureA.put("ATCCC", -1.49); structureA.put("AGAAA", -0.69); structureA.put("AGAAT", -1.42); structureA.put("AGAAG", -1.65); structureA.put("AGAAC", -0.56); structureA.put("AGATA", -1.03); structureA.put("AGATT", -2.71); structureA.put("AGATG", -1.27); structureA.put("AGATC", -1.69); structureA.put("AGAGA", -1.55); structureA.put("AGAGT", -0.84); structureA.put("AGAGG", -1.11); structureA.put("AGAGC", -1.41); structureA.put("AGACA", -1.88); structureA.put("AGACT", -2.00); structureA.put("AGACG", -2.02); structureA.put("AGACC", -1.90); structureA.put("AGTAA", -3.91); structureA.put("AGTAT", -2.71); structureA.put("AGTAG", -4.12); structureA.put("AGTAC", -2.73); structureA.put("AGTTA", -3.98); structureA.put("AGTTT", -5.49); structureA.put("AGTTG", -4.47); structureA.put("AGTTC", -4.54); structureA.put("AGTGA", -3.58); structureA.put("AGTGT", -3.51); structureA.put("AGTGG", -2.95); structureA.put("AGTGC", -3.54); structureA.put("AGTCA", -3.69); structureA.put("AGTCT", -3.59); structureA.put("AGTCG", -4.46); structureA.put("AGTCC", -4.26); structureA.put("AGGAA", -1.44); structureA.put("AGGAT", -1.41); structureA.put("AGGAG", -1.32); structureA.put("AGGAC", -0.96); structureA.put("AGGTA", -2.81); structureA.put("AGGTT", -2.23); structureA.put("AGGTG", -1.65); structureA.put("AGGTC", -2.46); structureA.put("AGGGA", -2.51); structureA.put("AGGGT", -3.17); structureA.put("AGGGG", -2.55); structureA.put("AGGGC", -2.27); structureA.put("AGGCA", -2.06); structureA.put("AGGCT", -2.71); structureA.put("AGGCG", -2.10); structureA.put("AGGCC", -1.89); structureA.put("AGCAA", -3.02); structureA.put("AGCAT", -2.20); structureA.put("AGCAG", -2.72); structureA.put("AGCAC", -1.72); structureA.put("AGCTA", -2.66); structureA.put("AGCTT", -4.35); structureA.put("AGCTG", -2.49); structureA.put("AGCTC", -3.25); structureA.put("AGCGA", -2.29); structureA.put("AGCGT", -2.63); structureA.put("AGCGG", -1.90); structureA.put("AGCGC", -1.92); structureA.put("AGCCA", -3.86); structureA.put("AGCCT", -3.85); structureA.put("AGCCG", -2.14); structureA.put("AGCCC", -2.95); structureA.put("ACAAA", 6.09); structureA.put("ACAAT", 6.33); structureA.put("ACAAG", 5.65); structureA.put("ACAAC", 6.20); structureA.put("ACATA", 4.85); structureA.put("ACATT", 4.78); structureA.put("ACATG", 5.73); structureA.put("ACATC", 5.15); structureA.put("ACAGA", 3.72); structureA.put("ACAGT", 4.57); structureA.put("ACAGG", 4.68); structureA.put("ACAGC", 5.07); structureA.put("ACACA", 2.96); structureA.put("ACACT", 3.69); structureA.put("ACACG", 4.66); structureA.put("ACACC", 3.95); structureA.put("ACTAA", -0.98); structureA.put("ACTAT", -3.25); structureA.put("ACTAG", -2.86); structureA.put("ACTAC", -1.63); structureA.put("ACTTA", -2.87); structureA.put("ACTTT", -4.78); structureA.put("ACTTG", -2.35); structureA.put("ACTTC", -3.34); structureA.put("ACTGA", -1.92); structureA.put("ACTGT", -1.83); structureA.put("ACTGG", -1.82); structureA.put("ACTGC", -1.42); structureA.put("ACTCA", -2.78); structureA.put("ACTCT", -1.51); structureA.put("ACTCG", -1.90); structureA.put("ACTCC", -2.84); structureA.put("ACGAA", 5.06); structureA.put("ACGAT", 4.65); structureA.put("ACGAG", 4.47); structureA.put("ACGAC", 5.01); structureA.put("ACGTA", 5.09); structureA.put("ACGTT", 5.64); structureA.put("ACGTG", 5.64); structureA.put("ACGTC", 5.05); structureA.put("ACGGA", 2.56); structureA.put("ACGGT", 3.68); structureA.put("ACGGG", 2.76); structureA.put("ACGGC", 3.91); structureA.put("ACGCA", 4.21); structureA.put("ACGCT", 3.70); structureA.put("ACGCG", 4.51); structureA.put("ACGCC", 3.67); structureA.put("ACCAA", -0.94); structureA.put("ACCAT", -1.22); structureA.put("ACCAG", -0.64); structureA.put("ACCAC", -0.49); structureA.put("ACCTA", -1.78); structureA.put("ACCTT", -3.27); structureA.put("ACCTG", -1.63); structureA.put("ACCTC", -2.35); structureA.put("ACCGA", -0.94); structureA.put("ACCGT", -1.20); structureA.put("ACCGG", -0.44); structureA.put("ACCGC", -0.62); structureA.put("ACCCA", -1.42); structureA.put("ACCCT", -2.05); structureA.put("ACCCG", -0.94); structureA.put("ACCCC", -1.80); structureA.put("TAAAA", -2.46); structureA.put("TAAAT", -0.94); structureA.put("TAAAG", -1.56); structureA.put("TAAAC", -1.29); structureA.put("TAATA", -2.19); structureA.put("TAATT", -2.38); structureA.put("TAATG", -2.15); structureA.put("TAATC", -2.32); structureA.put("TAAGA", -3.37); structureA.put("TAAGT", -3.58); structureA.put("TAAGG", -3.71); structureA.put("TAAGC", -2.87); structureA.put("TAACA", -2.39); structureA.put("TAACT", -3.30); structureA.put("TAACG", -2.63); structureA.put("TAACC", -3.03); structureA.put("TATAA", -3.01); structureA.put("TATAT", -2.62); structureA.put("TATAG", -3.10); structureA.put("TATAC", -2.80); structureA.put("TATTA", -3.92); structureA.put("TATTT", -6.42); structureA.put("TATTG", -3.90); structureA.put("TATTC", -4.85); structureA.put("TATGA", -3.24); structureA.put("TATGT", -4.73); structureA.put("TATGG", -2.84); structureA.put("TATGC", -2.97); structureA.put("TATCA", -3.40); structureA.put("TATCT", -4.23); structureA.put("TATCG", -3.35); structureA.put("TATCC", -4.17); structureA.put("TAGAA", -1.40); structureA.put("TAGAT", -2.21); structureA.put("TAGAG", -1.35); structureA.put("TAGAC", -1.45); structureA.put("TAGTA", -1.21); structureA.put("TAGTT", -3.90); structureA.put("TAGTG", -1.38); structureA.put("TAGTC", -1.00); structureA.put("TAGGA", -2.51); structureA.put("TAGGT", -2.96); structureA.put("TAGGG", -2.67); structureA.put("TAGGC", -2.47); structureA.put("TAGCA", -2.09); structureA.put("TAGCT", -2.32); structureA.put("TAGCG", -2.20); structureA.put("TAGCC", -2.77); structureA.put("TACAA", -1.49); structureA.put("TACAT", -2.14); structureA.put("TACAG", -1.95); structureA.put("TACAC", -2.01); structureA.put("TACTA", -2.12); structureA.put("TACTT", -4.72); structureA.put("TACTG", -2.15); structureA.put("TACTC", -3.67); structureA.put("TACGA", -1.92); structureA.put("TACGT", -2.68); structureA.put("TACGG", -2.19); structureA.put("TACGC", -2.07); structureA.put("TACCA", -2.45); structureA.put("TACCT", -4.49); structureA.put("TACCG", -2.35); structureA.put("TACCC", -3.44); structureA.put("TTAAA", 5.72); structureA.put("TTAAT", 8.64); structureA.put("TTAAG", 6.23); structureA.put("TTAAC", 7.53); structureA.put("TTATA", 7.31); structureA.put("TTATT", 8.21); structureA.put("TTATG", 7.92); structureA.put("TTATC", 7.32); structureA.put("TTAGA", 6.26); structureA.put("TTAGT", 7.88); structureA.put("TTAGG", 5.87); structureA.put("TTAGC", 5.63); structureA.put("TTACA", 6.03); structureA.put("TTACT", 5.33); structureA.put("TTACG", 6.35); structureA.put("TTACC", 5.01); structureA.put("TTTAA", -3.00); structureA.put("TTTAT", -0.95); structureA.put("TTTAG", -1.41); structureA.put("TTTAC", -0.99); structureA.put("TTTTA", -2.75); structureA.put("TTTTT", -5.09); structureA.put("TTTTG", -2.76); structureA.put("TTTTC", -4.32); structureA.put("TTTGA", -2.67); structureA.put("TTTGT", -2.56); structureA.put("TTTGG", -3.10); structureA.put("TTTGC", -3.68); structureA.put("TTTCA", -1.64); structureA.put("TTTCT", -2.61); structureA.put("TTTCG", -2.61); structureA.put("TTTCC", -3.36); structureA.put("TTGAA", 5.46); structureA.put("TTGAT", 6.62); structureA.put("TTGAG", 5.89); structureA.put("TTGAC", 6.83); structureA.put("TTGTA", 5.80); structureA.put("TTGTT", 6.26); structureA.put("TTGTG", 6.07); structureA.put("TTGTC", 6.28); structureA.put("TTGGA", 2.70); structureA.put("TTGGT", 4.34); structureA.put("TTGGG", 6.64); structureA.put("TTGGC", 4.45); structureA.put("TTGCA", 4.60); structureA.put("TTGCT", 3.78); structureA.put("TTGCG", 4.82); structureA.put("TTGCC", 3.97); structureA.put("TTCAA", 0.18); structureA.put("TTCAT", 0.04); structureA.put("TTCAG", 0.57); structureA.put("TTCAC", 0.69); structureA.put("TTCTA", -0.49); structureA.put("TTCTT", -0.63); structureA.put("TTCTG", -0.54); structureA.put("TTCTC", -1.63); structureA.put("TTCGA", 0.19); structureA.put("TTCGT", -0.84); structureA.put("TTCGG", -0.53); structureA.put("TTCGC", -0.23); structureA.put("TTCCA", -0.69); structureA.put("TTCCT", -1.30); structureA.put("TTCCG", -1.80); structureA.put("TTCCC", -0.97); structureA.put("TGAAA", 0.49); structureA.put("TGAAT", 0.21); structureA.put("TGAAG", 0.22); structureA.put("TGAAC", 0.09); structureA.put("TGATA", -1.13); structureA.put("TGATT", -1.08); structureA.put("TGATG", -0.46); structureA.put("TGATC", -1.37); structureA.put("TGAGA", -1.29); structureA.put("TGAGT", -1.75); structureA.put("TGAGG", -0.98); structureA.put("TGAGC", -0.90); structureA.put("TGACA", -1.53); structureA.put("TGACT", -1.77); structureA.put("TGACG", -1.16); structureA.put("TGACC", -2.01); structureA.put("TGTAA", -2.10); structureA.put("TGTAT", -2.07); structureA.put("TGTAG", -3.23); structureA.put("TGTAC", -1.75); structureA.put("TGTTA", -2.47); structureA.put("TGTTT", -2.89); structureA.put("TGTTG", -2.50); structureA.put("TGTTC", -2.74); structureA.put("TGTGA", -2.33); structureA.put("TGTGT", -2.65); structureA.put("TGTGG", -1.82); structureA.put("TGTGC", -1.85); structureA.put("TGTCA", -2.49); structureA.put("TGTCT", -2.80); structureA.put("TGTCG", -2.39); structureA.put("TGTCC", -2.88); structureA.put("TGGAA", -0.87); structureA.put("TGGAT", -0.54); structureA.put("TGGAG", -0.86); structureA.put("TGGAC", -0.37); structureA.put("TGGTA", -0.68); structureA.put("TGGTT", -0.59); structureA.put("TGGTG", -0.68); structureA.put("TGGTC", -0.69); structureA.put("TGGGA", -1.55); structureA.put("TGGGT", -2.00); structureA.put("TGGGG", -1.74); structureA.put("TGGGC", -2.07); structureA.put("TGGCA", -1.33); structureA.put("TGGCT", -2.44); structureA.put("TGGCG", -1.66); structureA.put("TGGCC", -1.76); structureA.put("TGCAA", -1.25); structureA.put("TGCAT", -1.20); structureA.put("TGCAG", -0.70); structureA.put("TGCAC", -0.76); structureA.put("TGCTA", -1.50); structureA.put("TGCTT", -3.31); structureA.put("TGCTG", -1.51); structureA.put("TGCTC", -2.29); structureA.put("TGCGA", -0.91); structureA.put("TGCGT", -1.26); structureA.put("TGCGG", -0.88); structureA.put("TGCGC", -0.67); structureA.put("TGCCA", -1.81); structureA.put("TGCCT", -2.41); structureA.put("TGCCG", -1.38); structureA.put("TGCCC", -1.81); structureA.put("TCAAA", 5.24); structureA.put("TCAAT", 7.05); structureA.put("TCAAG", 5.51); structureA.put("TCAAC", 5.39); structureA.put("TCATA", 4.95); structureA.put("TCATT", 3.80); structureA.put("TCATG", 5.91); structureA.put("TCATC", 4.02); structureA.put("TCAGA", 4.43); structureA.put("TCAGT", 4.75); structureA.put("TCAGG", 3.63); structureA.put("TCAGC", 4.93); structureA.put("TCACA", 3.97); structureA.put("TCACT", 3.56); structureA.put("TCACG", 4.27); structureA.put("TCACC", 3.82); structureA.put("TCTAA", -1.11); structureA.put("TCTAT", -1.51); structureA.put("TCTAG", -1.22); structureA.put("TCTAC", -2.44); structureA.put("TCTTA", -2.51); structureA.put("TCTTT", -3.21); structureA.put("TCTTG", -1.59); structureA.put("TCTTC", -2.28); structureA.put("TCTGA", -1.76); structureA.put("TCTGT", -1.93); structureA.put("TCTGG", -2.71); structureA.put("TCTGC", -1.20); structureA.put("TCTCA", -2.02); structureA.put("TCTCT", -1.87); structureA.put("TCTCG", -1.90); structureA.put("TCTCC", -2.23); structureA.put("TCGAA", 5.38); structureA.put("TCGAT", 5.51); structureA.put("TCGAG", 5.47); structureA.put("TCGAC", 5.38); structureA.put("TCGTA", 4.91); structureA.put("TCGTT", 5.41); structureA.put("TCGTG", 5.80); structureA.put("TCGTC", 4.81); structureA.put("TCGGA", 3.14); structureA.put("TCGGT", 3.35); structureA.put("TCGGG", 3.35); structureA.put("TCGGC", 3.91); structureA.put("TCGCA", 4.16); structureA.put("TCGCT", 4.15); structureA.put("TCGCG", 4.50); structureA.put("TCGCC", 3.27); structureA.put("TCCAA", -1.03); structureA.put("TCCAT", -0.26); structureA.put("TCCAG", -0.76); structureA.put("TCCAC", -0.49); structureA.put("TCCTA", -0.97); structureA.put("TCCTT", -1.91); structureA.put("TCCTG", -1.05); structureA.put("TCCTC", -1.37); structureA.put("TCCGA", -0.81); structureA.put("TCCGT", -2.10); structureA.put("TCCGG", -0.62); structureA.put("TCCGC", -0.89); structureA.put("TCCCA", -0.93); structureA.put("TCCCT", -1.61); structureA.put("TCCCG", -0.91); structureA.put("TCCCC", -1.23); structureA.put("GAAAA", -3.67); structureA.put("GAAAT", -3.13); structureA.put("GAAAG", -3.00); structureA.put("GAAAC", -2.18); structureA.put("GAATA", -3.10); structureA.put("GAATT", -3.59); structureA.put("GAATG", -3.64); structureA.put("GAATC", -3.18); structureA.put("GAAGA", -3.52); structureA.put("GAAGT", -4.20); structureA.put("GAAGG", -3.82); structureA.put("GAAGC", -3.36); structureA.put("GAACA", -3.14); structureA.put("GAACT", -3.79); structureA.put("GAACG", -2.93); structureA.put("GAACC", -3.83); structureA.put("GATAA", -3.54); structureA.put("GATAT", -3.98); structureA.put("GATAG", -4.19); structureA.put("GATAC", -3.62); structureA.put("GATTA", -4.51); structureA.put("GATTT", -5.36); structureA.put("GATTG", -4.28); structureA.put("GATTC", -5.55); structureA.put("GATGA", -4.68); structureA.put("GATGT", -4.91); structureA.put("GATGG", -3.42); structureA.put("GATGC", -4.24); structureA.put("GATCA", -4.67); structureA.put("GATCT", -5.53); structureA.put("GATCG", -4.15); structureA.put("GATCC", -4.63); structureA.put("GAGAA", -2.79); structureA.put("GAGAT", -2.16); structureA.put("GAGAG", -1.93); structureA.put("GAGAC", -1.45); structureA.put("GAGTA", -2.76); structureA.put("GAGTT", -3.01); structureA.put("GAGTG", -1.98); structureA.put("GAGTC", -2.44); structureA.put("GAGGA", -2.86); structureA.put("GAGGT", -3.46); structureA.put("GAGGG", -2.73); structureA.put("GAGGC", -2.42); structureA.put("GAGCA", -2.44); structureA.put("GAGCT", -2.86); structureA.put("GAGCG", -1.89); structureA.put("GAGCC", -2.76); structureA.put("GACAA", -1.95); structureA.put("GACAT", -2.83); structureA.put("GACAG", -2.46); structureA.put("GACAC", -2.01); structureA.put("GACTA", -2.07); structureA.put("GACTT", -5.04); structureA.put("GACTG", -2.08); structureA.put("GACTC", -3.57); structureA.put("GACGA", -2.39); structureA.put("GACGT", -3.06); structureA.put("GACGG", -2.46); structureA.put("GACGC", -2.45); structureA.put("GACCA", -2.73); structureA.put("GACCT", -3.96); structureA.put("GACCG", -2.77); structureA.put("GACCC", -3.44); structureA.put("GTAAA", 6.47); structureA.put("GTAAT", 5.03); structureA.put("GTAAG", 5.90); structureA.put("GTAAC", 5.89); structureA.put("GTATA", 5.60); structureA.put("GTATT", 6.24); structureA.put("GTATG", 6.01); structureA.put("GTATC", 5.72); structureA.put("GTAGA", 4.12); structureA.put("GTAGT", 4.89); structureA.put("GTAGG", 4.46); structureA.put("GTAGC", 4.45); structureA.put("GTACA", 4.26); structureA.put("GTACT", 4.94); structureA.put("GTACG", 4.68); structureA.put("GTACC", 4.32); structureA.put("GTTAA", -2.86); structureA.put("GTTAT", -3.50); structureA.put("GTTAG", -2.89); structureA.put("GTTAC", -2.71); structureA.put("GTTTA", -2.84); structureA.put("GTTTT", -4.80); structureA.put("GTTTG", -3.27); structureA.put("GTTTC", -3.35); structureA.put("GTTGA", -3.34); structureA.put("GTTGT", -3.26); structureA.put("GTTGG", -1.94); structureA.put("GTTGC", -2.98); structureA.put("GTTCA", -2.98); structureA.put("GTTCT", -3.03); structureA.put("GTTCG", -3.31); structureA.put("GTTCC", -3.78); structureA.put("GTGAA", 4.07); structureA.put("GTGAT", 3.72); structureA.put("GTGAG", 4.33); structureA.put("GTGAC", 4.03); structureA.put("GTGTA", 3.40); structureA.put("GTGTT", 4.19); structureA.put("GTGTG", 5.01); structureA.put("GTGTC", 4.23); structureA.put("GTGGA", 2.75); structureA.put("GTGGT", 3.35); structureA.put("GTGGG", 2.54); structureA.put("GTGGC", 3.09); structureA.put("GTGCA", 2.85); structureA.put("GTGCT", 2.81); structureA.put("GTGCG", 3.27); structureA.put("GTGCC", 3.05); structureA.put("GTCAA", -0.77); structureA.put("GTCAT", -2.06); structureA.put("GTCAG", -1.29); structureA.put("GTCAC", -1.42); structureA.put("GTCTA", -1.45); structureA.put("GTCTT", -2.37); structureA.put("GTCTG", -1.52); structureA.put("GTCTC", -1.85); structureA.put("GTCGA", -1.63); structureA.put("GTCGT", -2.42); structureA.put("GTCGG", -1.52); structureA.put("GTCGC", -1.39); structureA.put("GTCCA", -2.08); structureA.put("GTCCT", -2.19); structureA.put("GTCCG", -1.73); structureA.put("GTCCC", -2.34); structureA.put("GGAAA", -1.41); structureA.put("GGAAT", -0.88); structureA.put("GGAAG", -0.61); structureA.put("GGAAC", -1.77); structureA.put("GGATA", -1.31); structureA.put("GGATT", -0.90); structureA.put("GGATG", -1.14); structureA.put("GGATC", -1.67); structureA.put("GGAGA", -2.03); structureA.put("GGAGT", -2.04); structureA.put("GGAGG", -1.91); structureA.put("GGAGC", -1.59); structureA.put("GGACA", -2.20); structureA.put("GGACT", -2.46); structureA.put("GGACG", -1.80); structureA.put("GGACC", -2.12); structureA.put("GGTAA", -3.71); structureA.put("GGTAT", -2.59); structureA.put("GGTAG", -2.63); structureA.put("GGTAC", -2.37); structureA.put("GGTTA", -3.26); structureA.put("GGTTT", -4.65); structureA.put("GGTTG", -3.18); structureA.put("GGTTC", -3.59); structureA.put("GGTGA", -3.21); structureA.put("GGTGT", -2.95); structureA.put("GGTGG", -2.55); structureA.put("GGTGC", -2.69); structureA.put("GGTCA", -3.46); structureA.put("GGTCT", -3.14); structureA.put("GGTCG", -3.50); structureA.put("GGTCC", -3.32); structureA.put("GGGAA", -1.61); structureA.put("GGGAT", -1.06); structureA.put("GGGAG", -1.00); structureA.put("GGGAC", -0.93); structureA.put("GGGTA", -1.79); structureA.put("GGGTT", -1.38); structureA.put("GGGTG", -1.08); structureA.put("GGGTC", -1.78); structureA.put("GGGGA", -2.33); structureA.put("GGGGT", -2.40); structureA.put("GGGGG", -2.24); structureA.put("GGGGC", -2.02); structureA.put("GGGCA", -1.78); structureA.put("GGGCT", -1.98); structureA.put("GGGCG", -1.63); structureA.put("GGGCC", -2.36); structureA.put("GGCAA", -2.26); structureA.put("GGCAT", -1.93); structureA.put("GGCAG", -1.34); structureA.put("GGCAC", -1.35); structureA.put("GGCTA", -2.39); structureA.put("GGCTT", -4.34); structureA.put("GGCTG", -2.29); structureA.put("GGCTC", -3.07); structureA.put("GGCGA", -1.65); structureA.put("GGCGT", -2.09); structureA.put("GGCGG", -2.02); structureA.put("GGCGC", -1.71); structureA.put("GGCCA", -2.42); structureA.put("GGCCT", -2.34); structureA.put("GGCCG", -2.00); structureA.put("GGCCC", -2.40); structureA.put("GCAAA", 3.96); structureA.put("GCAAT", 3.90); structureA.put("GCAAG", 4.47); structureA.put("GCAAC", 4.66); structureA.put("GCATA", 5.20); structureA.put("GCATT", 3.59); structureA.put("GCATG", 4.69); structureA.put("GCATC", 3.67); structureA.put("GCAGA", 4.10); structureA.put("GCAGT", 3.67); structureA.put("GCAGG", 2.96); structureA.put("GCAGC", 3.55); structureA.put("GCACA", 3.31); structureA.put("GCACT", 2.74); structureA.put("GCACG", 3.22); structureA.put("GCACC", 2.97); structureA.put("GCTAA", -2.69); structureA.put("GCTAT", -2.59); structureA.put("GCTAG", -2.24); structureA.put("GCTAC", -2.28); structureA.put("GCTTA", -2.56); structureA.put("GCTTT", -3.95); structureA.put("GCTTG", -2.39); structureA.put("GCTTC", -2.79); structureA.put("GCTGA", -2.00); structureA.put("GCTGT", -2.10); structureA.put("GCTGG", -2.45); structureA.put("GCTGC", -2.09); structureA.put("GCTCA", -2.11); structureA.put("GCTCT", -2.48); structureA.put("GCTCG", -2.22); structureA.put("GCTCC", -2.75); structureA.put("GCGAA", 3.79); structureA.put("GCGAT", 4.15); structureA.put("GCGAG", 4.38); structureA.put("GCGAC", 4.64); structureA.put("GCGTA", 4.31); structureA.put("GCGTT", 4.64); structureA.put("GCGTG", 4.71); structureA.put("GCGTC", 4.23); structureA.put("GCGGA", 2.40); structureA.put("GCGGT", 2.79); structureA.put("GCGGG", 2.34); structureA.put("GCGGC", 2.78); structureA.put("GCGCA", 3.54); structureA.put("GCGCT", 2.89); structureA.put("GCGCG", 3.12); structureA.put("GCGCC", 2.85); structureA.put("GCCAA", -1.23); structureA.put("GCCAT", -2.18); structureA.put("GCCAG", -1.52); structureA.put("GCCAC", -1.52); structureA.put("GCCTA", -1.96); structureA.put("GCCTT", -2.62); structureA.put("GCCTG", -1.61); structureA.put("GCCTC", -2.18); structureA.put("GCCGA", -0.99); structureA.put("GCCGT", -1.58); structureA.put("GCCGG", -1.33); structureA.put("GCCGC", -1.31); structureA.put("GCCCA", -1.99); structureA.put("GCCCT", -2.16); structureA.put("GCCCG", -1.71); structureA.put("GCCCC", -1.96); structureA.put("CAAAA", -2.19); structureA.put("CAAAT", -3.54); structureA.put("CAAAG", -2.80); structureA.put("CAAAC", -2.42); structureA.put("CAATA", -2.87); structureA.put("CAATT", -2.97); structureA.put("CAATG", -2.63); structureA.put("CAATC", -2.12); structureA.put("CAAGA", -3.37); structureA.put("CAAGT", -3.59); structureA.put("CAAGG", -3.66); structureA.put("CAAGC", -3.44); structureA.put("CAACA", -2.78); structureA.put("CAACT", -3.88); structureA.put("CAACG", -2.97); structureA.put("CAACC", -2.06); structureA.put("CATAA", -3.28); structureA.put("CATAT", -4.26); structureA.put("CATAG", -3.65); structureA.put("CATAC", -2.99); structureA.put("CATTA", -4.86); structureA.put("CATTT", -7.00); structureA.put("CATTG", -4.37); structureA.put("CATTC", -5.91); structureA.put("CATGA", -4.44); structureA.put("CATGT", -4.67); structureA.put("CATGG", -4.03); structureA.put("CATGC", -3.87); structureA.put("CATCA", -3.98); structureA.put("CATCT", -5.19); structureA.put("CATCG", -4.47); structureA.put("CATCC", -4.71); structureA.put("CAGAA", -1.90); structureA.put("CAGAT", -2.27); structureA.put("CAGAG", -1.81); structureA.put("CAGAC", -1.18); structureA.put("CAGTA", -1.74); structureA.put("CAGTT", -1.85); structureA.put("CAGTG", -1.18); structureA.put("CAGTC", -1.40); structureA.put("CAGGA", -2.79); structureA.put("CAGGT", -2.97); structureA.put("CAGGG", -3.39); structureA.put("CAGGC", -2.26); structureA.put("CAGCA", -1.86); structureA.put("CAGCT", -2.54); structureA.put("CAGCG", -1.93); structureA.put("CAGCC", -2.64); structureA.put("CACAA", -2.40); structureA.put("CACAT", -2.22); structureA.put("CACAG", -2.15); structureA.put("CACAC", -1.37); structureA.put("CACTA", -2.73); structureA.put("CACTT", -4.51); structureA.put("CACTG", -2.39); structureA.put("CACTC", -3.21); structureA.put("CACGA", -2.18); structureA.put("CACGT", -3.13); structureA.put("CACGG", -2.43); structureA.put("CACGC", -2.23); structureA.put("CACCA", -2.83); structureA.put("CACCT", -3.26); structureA.put("CACCG", -2.48); structureA.put("CACCC", -2.99); structureA.put("CTAAA", 6.08); structureA.put("CTAAT", 7.71); structureA.put("CTAAG", 6.02); structureA.put("CTAAC", 5.73); structureA.put("CTATA", 5.66); structureA.put("CTATT", 3.47); structureA.put("CTATG", 5.41); structureA.put("CTATC", 6.28); structureA.put("CTAGA", 5.27); structureA.put("CTAGT", 3.55); structureA.put("CTAGG", 4.92); structureA.put("CTAGC", 4.03); structureA.put("CTACA", 3.24); structureA.put("CTACT", 4.64); structureA.put("CTACG", 4.93); structureA.put("CTACC", 4.24); structureA.put("CTTAA", -3.71); structureA.put("CTTAT", -3.47); structureA.put("CTTAG", -3.25); structureA.put("CTTAC", -3.24); structureA.put("CTTTA", -3.87); structureA.put("CTTTT", -6.47); structureA.put("CTTTG", -4.84); structureA.put("CTTTC", -4.95); structureA.put("CTTGA", -3.44); structureA.put("CTTGT", -3.95); structureA.put("CTTGG", -3.40); structureA.put("CTTGC", -3.39); structureA.put("CTTCA", -3.01); structureA.put("CTTCT", -4.10); structureA.put("CTTCG", -3.70); structureA.put("CTTCC", -3.81); structureA.put("CTGAA", 5.37); structureA.put("CTGAT", 4.36); structureA.put("CTGAG", 4.27); structureA.put("CTGAC", 4.57); structureA.put("CTGTA", 3.96); structureA.put("CTGTT", 5.23); structureA.put("CTGTG", 4.99); structureA.put("CTGTC", 3.98); structureA.put("CTGGA", 2.80); structureA.put("CTGGT", 3.13); structureA.put("CTGGG", 2.42); structureA.put("CTGGC", 2.79); structureA.put("CTGCA", 3.43); structureA.put("CTGCT", 3.76); structureA.put("CTGCG", 3.64); structureA.put("CTGCC", 3.38); structureA.put("CTCAA", -0.68); structureA.put("CTCAT", -1.52); structureA.put("CTCAG", -0.89); structureA.put("CTCAC", -0.77); structureA.put("CTCTA", -0.44); structureA.put("CTCTT", -1.36); structureA.put("CTCTG", -1.00); structureA.put("CTCTC", -1.90); structureA.put("CTCGA", -1.20); structureA.put("CTCGT", -2.01); structureA.put("CTCGG", -0.49); structureA.put("CTCGC", -1.17); structureA.put("CTCCA", -1.81); structureA.put("CTCCT", -2.62); structureA.put("CTCCG", -1.83); structureA.put("CTCCC", -1.87); structureA.put("CGAAA", -0.38); structureA.put("CGAAT", -0.24); structureA.put("CGAAG", -0.16); structureA.put("CGAAC", -0.26); structureA.put("CGATA", -0.47); structureA.put("CGATT", -0.80); structureA.put("CGATG", -0.95); structureA.put("CGATC", -0.57); structureA.put("CGAGA", -1.21); structureA.put("CGAGT", -1.04); structureA.put("CGAGG", -1.26); structureA.put("CGAGC", -1.22); structureA.put("CGACA", -1.70); structureA.put("CGACT", -2.31); structureA.put("CGACG", -1.47); structureA.put("CGACC", -2.17); structureA.put("CGTAA", -1.95); structureA.put("CGTAT", -2.22); structureA.put("CGTAG", -2.16); structureA.put("CGTAC", -2.11); structureA.put("CGTTA", -2.83); structureA.put("CGTTT", -3.27); structureA.put("CGTTG", -2.83); structureA.put("CGTTC", -2.93); structureA.put("CGTGA", -2.49); structureA.put("CGTGT", -2.25); structureA.put("CGTGG", -2.34); structureA.put("CGTGC", -2.27); structureA.put("CGTCA", -2.40); structureA.put("CGTCT", -2.95); structureA.put("CGTCG", -2.51); structureA.put("CGTCC", -2.49); structureA.put("CGGAA", -1.46); structureA.put("CGGAT", -2.34); structureA.put("CGGAG", -0.61); structureA.put("CGGAC", -0.51); structureA.put("CGGTA", -0.83); structureA.put("CGGTT", -0.65); structureA.put("CGGTG", -0.28); structureA.put("CGGTC", -0.84); structureA.put("CGGGA", -1.93); structureA.put("CGGGT", -1.76); structureA.put("CGGGG", -1.77); structureA.put("CGGGC", -1.70); structureA.put("CGGCA", -1.26); structureA.put("CGGCT", -1.44); structureA.put("CGGCG", -1.33); structureA.put("CGGCC", -1.30); structureA.put("CGCAA", -0.77); structureA.put("CGCAT", -0.76); structureA.put("CGCAG", -0.89); structureA.put("CGCAC", -0.64); structureA.put("CGCTA", -1.71); structureA.put("CGCTT", -2.72); structureA.put("CGCTG", -1.69); structureA.put("CGCTC", -1.98); structureA.put("CGCGA", -1.33); structureA.put("CGCGT", -1.39); structureA.put("CGCGG", -1.05); structureA.put("CGCGC", -1.15); structureA.put("CGCCA", -1.90); structureA.put("CGCCT", -2.16); structureA.put("CGCCG", -1.46); structureA.put("CGCCC", -1.66); structureA.put("CCAAA", 2.51); structureA.put("CCAAT", 5.06); structureA.put("CCAAG", 4.48); structureA.put("CCAAC", 6.57); structureA.put("CCATA", 3.24); structureA.put("CCATT", 3.60); structureA.put("CCATG", 3.95); structureA.put("CCATC", 4.13); structureA.put("CCAGA", 2.85); structureA.put("CCAGT", 3.06); structureA.put("CCAGG", 2.39); structureA.put("CCAGC", 2.75); structureA.put("CCACA", 2.59); structureA.put("CCACT", 2.64); structureA.put("CCACG", 3.23); structureA.put("CCACC", 2.46); structureA.put("CCTAA", -2.83); structureA.put("CCTAT", -2.45); structureA.put("CCTAG", -2.23); structureA.put("CCTAC", -2.71); structureA.put("CCTTA", -4.02); structureA.put("CCTTT", -5.06); structureA.put("CCTTG", -2.93); structureA.put("CCTTC", -3.57); structureA.put("CCTGA", -3.12); structureA.put("CCTGT", -2.48); structureA.put("CCTGG", -2.87); structureA.put("CCTGC", -3.15); structureA.put("CCTCA", -2.49); structureA.put("CCTCT", -2.60); structureA.put("CCTCG", -2.80); structureA.put("CCTCC", -3.27); structureA.put("CCGAA", 2.76); structureA.put("CCGAT", 3.63); structureA.put("CCGAG", 4.60); structureA.put("CCGAC", 3.41); structureA.put("CCGTA", 2.74); structureA.put("CCGTT", 3.74); structureA.put("CCGTG", 4.06); structureA.put("CCGTC", 3.11); structureA.put("CCGGA", 1.31); structureA.put("CCGGT", 2.54); structureA.put("CCGGG", 1.93); structureA.put("CCGGC", 2.08); structureA.put("CCGCA", 2.75); structureA.put("CCGCT", 2.44); structureA.put("CCGCG", 2.68); structureA.put("CCGCC", 1.79); structureA.put("CCCAA", -0.64); structureA.put("CCCAT", -2.51); structureA.put("CCCAG", -1.97); structureA.put("CCCAC", -1.85); structureA.put("CCCTA", -2.27); structureA.put("CCCTT", -3.54); structureA.put("CCCTG", -2.88); structureA.put("CCCTC", -2.62); structureA.put("CCCGA", -1.75); structureA.put("CCCGT", -2.05); structureA.put("CCCGG", -1.59); structureA.put("CCCGC", -1.73); structureA.put("CCCCA", -2.10); structureA.put("CCCCT", -2.41); structureA.put("CCCCG", -1.76); structureA.put("CCCCC", -2.41); structureB.put("AAAAA", -5.09); structureB.put("AAAAT", -5.12); structureB.put("AAAAG", -6.47); structureB.put("AAAAC", -4.80); structureB.put("AAATA", -6.42); structureB.put("AAATT", -8.57); structureB.put("AAATG", -7.00); structureB.put("AAATC", -5.36); structureB.put("AAAGA", -3.21); structureB.put("AAAGT", -4.78); structureB.put("AAAGG", -5.06); structureB.put("AAAGC", -3.95); structureB.put("AAACA", -2.89); structureB.put("AAACT", -5.49); structureB.put("AAACG", -3.27); structureB.put("AAACC", -4.65); structureB.put("AATAA", 8.21); structureB.put("AATAT", 6.33); structureB.put("AATAG", 3.47); structureB.put("AATAC", 6.24); structureB.put("AATTA", -2.38); structureB.put("AATTT", -5.00); structureB.put("AATTG", -2.97); structureB.put("AATTC", -3.59); structureB.put("AATGA", 3.80); structureB.put("AATGT", 4.78); structureB.put("AATGG", 3.60); structureB.put("AATGC", 3.59); structureB.put("AATCA", -1.08); structureB.put("AATCT", -2.71); structureB.put("AATCG", -0.80); structureB.put("AATCC", -0.90); structureB.put("AAGAA", -0.63); structureB.put("AAGAT", -3.29); structureB.put("AAGAG", -1.36); structureB.put("AAGAC", -2.37); structureB.put("AAGTA", -4.72); structureB.put("AAGTT", -5.19); structureB.put("AAGTG", -4.51); structureB.put("AAGTC", -5.04); structureB.put("AAGGA", -1.91); structureB.put("AAGGT", -3.27); structureB.put("AAGGG", -3.54); structureB.put("AAGGC", -2.62); structureB.put("AAGCA", -3.31); structureB.put("AAGCT", -4.35); structureB.put("AAGCG", -2.72); structureB.put("AAGCC", -4.34); structureB.put("AACAA", 6.26); structureB.put("AACAT", 5.76); structureB.put("AACAG", 5.23); structureB.put("AACAC", 4.19); structureB.put("AACTA", -3.90); structureB.put("AACTT", -3.62); structureB.put("AACTG", -1.85); structureB.put("AACTC", -3.01); structureB.put("AACGA", 5.41); structureB.put("AACGT", 5.64); structureB.put("AACGG", 3.74); structureB.put("AACGC", 4.64); structureB.put("AACCA", -0.59); structureB.put("AACCT", -2.23); structureB.put("AACCG", -0.65); structureB.put("AACCC", -1.38); structureB.put("ATAAA", -0.95); structureB.put("ATAAT", -2.76); structureB.put("ATAAG", -3.47); structureB.put("ATAAC", -3.50); structureB.put("ATATA", -2.62); structureB.put("ATATT", -5.48); structureB.put("ATATG", -4.26); structureB.put("ATATC", -3.98); structureB.put("ATAGA", -1.51); structureB.put("ATAGT", -3.25); structureB.put("ATAGG", -2.45); structureB.put("ATAGC", -2.59); structureB.put("ATACA", -2.07); structureB.put("ATACT", -2.71); structureB.put("ATACG", -2.22); structureB.put("ATACC", -2.59); structureB.put("ATTAA", 8.64); structureB.put("ATTAT", 6.41); structureB.put("ATTAG", 7.71); structureB.put("ATTAC", 5.03); structureB.put("ATTTA", -0.94); structureB.put("ATTTT", -3.56); structureB.put("ATTTG", -3.54); structureB.put("ATTTC", -3.13); structureB.put("ATTGA", 7.05); structureB.put("ATTGT", 6.33); structureB.put("ATTGG", 5.06); structureB.put("ATTGC", 3.90); structureB.put("ATTCA", 0.21); structureB.put("ATTCT", -1.42); structureB.put("ATTCG", -0.24); structureB.put("ATTCC", -0.88); structureB.put("ATGAA", 0.04); structureB.put("ATGAT", -1.32); structureB.put("ATGAG", -1.52); structureB.put("ATGAC", -2.06); structureB.put("ATGTA", -2.14); structureB.put("ATGTT", -3.23); structureB.put("ATGTG", -2.22); structureB.put("ATGTC", -2.83); structureB.put("ATGGA", -0.26); structureB.put("ATGGT", -1.22); structureB.put("ATGGG", -2.51); structureB.put("ATGGC", -2.18); structureB.put("ATGCA", -1.20); structureB.put("ATGCT", -2.20); structureB.put("ATGCG", -0.76); structureB.put("ATGCC", -1.93); structureB.put("ATCAA", 6.62); structureB.put("ATCAT", 3.79); structureB.put("ATCAG", 4.36); structureB.put("ATCAC", 3.72); structureB.put("ATCTA", -2.21); structureB.put("ATCTT", -3.96); structureB.put("ATCTG", -2.27); structureB.put("ATCTC", -2.16); structureB.put("ATCGA", 5.51); structureB.put("ATCGT", 4.65); structureB.put("ATCGG", 3.63); structureB.put("ATCGC", 4.15); structureB.put("ATCCA", -0.54); structureB.put("ATCCT", -1.41); structureB.put("ATCCG", -2.34); structureB.put("ATCCC", -1.06); structureB.put("AGAAA", -2.61); structureB.put("AGAAT", -3.86); structureB.put("AGAAG", -4.10); structureB.put("AGAAC", -3.03); structureB.put("AGATA", -4.23); structureB.put("AGATT", -6.11); structureB.put("AGATG", -5.19); structureB.put("AGATC", -5.53); structureB.put("AGAGA", -1.87); structureB.put("AGAGT", -1.51); structureB.put("AGAGG", -2.60); structureB.put("AGAGC", -2.48); structureB.put("AGACA", -2.80); structureB.put("AGACT", -3.59); structureB.put("AGACG", -2.95); structureB.put("AGACC", -3.14); structureB.put("AGTAA", 5.33); structureB.put("AGTAT", 6.22); structureB.put("AGTAG", 4.64); structureB.put("AGTAC", 4.94); structureB.put("AGTTA", -3.30); structureB.put("AGTTT", -4.30); structureB.put("AGTTG", -3.88); structureB.put("AGTTC", -3.79); structureB.put("AGTGA", 3.56); structureB.put("AGTGT", 3.69); structureB.put("AGTGG", 2.64); structureB.put("AGTGC", 2.74); structureB.put("AGTCA", -1.77); structureB.put("AGTCT", -2.00); structureB.put("AGTCG", -2.31); structureB.put("AGTCC", -2.46); structureB.put("AGGAA", -1.30); structureB.put("AGGAT", -1.25); structureB.put("AGGAG", -2.62); structureB.put("AGGAC", -2.19); structureB.put("AGGTA", -4.49); structureB.put("AGGTT", -4.78); structureB.put("AGGTG", -3.26); structureB.put("AGGTC", -3.96); structureB.put("AGGGA", -1.61); structureB.put("AGGGT", -2.05); structureB.put("AGGGG", -2.41); structureB.put("AGGGC", -2.16); structureB.put("AGGCA", -2.41); structureB.put("AGGCT", -3.85); structureB.put("AGGCG", -2.16); structureB.put("AGGCC", -2.34); structureB.put("AGCAA", 3.78); structureB.put("AGCAT", 4.59); structureB.put("AGCAG", 3.76); structureB.put("AGCAC", 2.81); structureB.put("AGCTA", -2.32); structureB.put("AGCTT", -3.24); structureB.put("AGCTG", -2.54); structureB.put("AGCTC", -2.86); structureB.put("AGCGA", 4.15); structureB.put("AGCGT", 3.70); structureB.put("AGCGG", 2.44); structureB.put("AGCGC", 2.89); structureB.put("AGCCA", -2.44); structureB.put("AGCCT", -2.71); structureB.put("AGCCG", -1.44); structureB.put("AGCCC", -1.98); structureB.put("ACAAA", -2.56); structureB.put("ACAAT", -2.43); structureB.put("ACAAG", -3.95); structureB.put("ACAAC", -3.26); structureB.put("ACATA", -4.73); structureB.put("ACATT", -6.17); structureB.put("ACATG", -4.67); structureB.put("ACATC", -4.91); structureB.put("ACAGA", -1.93); structureB.put("ACAGT", -1.83); structureB.put("ACAGG", -2.48); structureB.put("ACAGC", -2.10); structureB.put("ACACA", -2.65); structureB.put("ACACT", -3.51); structureB.put("ACACG", -2.25); structureB.put("ACACC", -2.95); structureB.put("ACTAA", 7.88); structureB.put("ACTAT", 3.79); structureB.put("ACTAG", 3.55); structureB.put("ACTAC", 4.89); structureB.put("ACTTA", -3.58); structureB.put("ACTTT", -6.36); structureB.put("ACTTG", -3.59); structureB.put("ACTTC", -4.20); structureB.put("ACTGA", 4.75); structureB.put("ACTGT", 4.57); structureB.put("ACTGG", 3.06); structureB.put("ACTGC", 3.67); structureB.put("ACTCA", -1.75); structureB.put("ACTCT", -0.84); structureB.put("ACTCG", -1.04); structureB.put("ACTCC", -2.04); structureB.put("ACGAA", -0.84); structureB.put("ACGAT", -1.68); structureB.put("ACGAG", -2.01); structureB.put("ACGAC", -2.42); structureB.put("ACGTA", -2.68); structureB.put("ACGTT", -3.43); structureB.put("ACGTG", -3.13); structureB.put("ACGTC", -3.06); structureB.put("ACGGA", -2.10); structureB.put("ACGGT", -1.20); structureB.put("ACGGG", -2.05); structureB.put("ACGGC", -1.58); structureB.put("ACGCA", -1.26); structureB.put("ACGCT", -2.63); structureB.put("ACGCG", -1.39); structureB.put("ACGCC", -2.09); structureB.put("ACCAA", 4.34); structureB.put("ACCAT", 4.04); structureB.put("ACCAG", 3.13); structureB.put("ACCAC", 3.35); structureB.put("ACCTA", -2.96); structureB.put("ACCTT", -4.81); structureB.put("ACCTG", -2.97); structureB.put("ACCTC", -3.46); structureB.put("ACCGA", 3.35); structureB.put("ACCGT", 3.68); structureB.put("ACCGG", 2.54); structureB.put("ACCGC", 2.79); structureB.put("ACCCA", -2.00); structureB.put("ACCCT", -3.17); structureB.put("ACCCG", -1.76); structureB.put("ACCCC", -2.40); structureB.put("TAAAA", -2.75); structureB.put("TAAAT", -2.36); structureB.put("TAAAG", -3.87); structureB.put("TAAAC", -2.84); structureB.put("TAATA", -3.92); structureB.put("TAATT", -5.21); structureB.put("TAATG", -4.86); structureB.put("TAATC", -4.51); structureB.put("TAAGA", -2.51); structureB.put("TAAGT", -2.87); structureB.put("TAAGG", -4.02); structureB.put("TAAGC", -2.56); structureB.put("TAACA", -2.47); structureB.put("TAACT", -3.98); structureB.put("TAACG", -2.83); structureB.put("TAACC", -3.26); structureB.put("TATAA", 7.31); structureB.put("TATAT", 8.32); structureB.put("TATAG", 5.66); structureB.put("TATAC", 5.60); structureB.put("TATTA", -2.19); structureB.put("TATTT", -3.91); structureB.put("TATTG", -2.87); structureB.put("TATTC", -3.10); structureB.put("TATGA", 4.95); structureB.put("TATGT", 4.85); structureB.put("TATGG", 3.24); structureB.put("TATGC", 5.20); structureB.put("TATCA", -1.13); structureB.put("TATCT", -1.03); structureB.put("TATCG", -0.47); structureB.put("TATCC", -1.31); structureB.put("TAGAA", -0.49); structureB.put("TAGAT", -1.24); structureB.put("TAGAG", -0.44); structureB.put("TAGAC", -1.45); structureB.put("TAGTA", -2.12); structureB.put("TAGTT", -4.24); structureB.put("TAGTG", -2.73); structureB.put("TAGTC", -2.07); structureB.put("TAGGA", -0.97); structureB.put("TAGGT", -1.78); structureB.put("TAGGG", -2.27); structureB.put("TAGGC", -1.96); structureB.put("TAGCA", -1.50); structureB.put("TAGCT", -2.66); structureB.put("TAGCG", -1.71); structureB.put("TAGCC", -2.39); structureB.put("TACAA", 5.80); structureB.put("TACAT", 5.57); structureB.put("TACAG", 3.96); structureB.put("TACAC", 3.40); structureB.put("TACTA", -1.21); structureB.put("TACTT", -3.52); structureB.put("TACTG", -1.74); structureB.put("TACTC", -2.76); structureB.put("TACGA", 4.91); structureB.put("TACGT", 5.09); structureB.put("TACGG", 2.74); structureB.put("TACGC", 4.31); structureB.put("TACCA", -0.68); structureB.put("TACCT", -2.81); structureB.put("TACCG", -0.83); structureB.put("TACCC", -1.79); structureB.put("TTAAA", -3.00); structureB.put("TTAAT", -2.12); structureB.put("TTAAG", -3.71); structureB.put("TTAAC", -2.86); structureB.put("TTATA", -3.01); structureB.put("TTATT", -3.91); structureB.put("TTATG", -3.28); structureB.put("TTATC", -3.54); structureB.put("TTAGA", -1.11); structureB.put("TTAGT", -0.98); structureB.put("TTAGG", -2.83); structureB.put("TTAGC", -2.69); structureB.put("TTACA", -2.10); structureB.put("TTACT", -3.91); structureB.put("TTACG", -1.95); structureB.put("TTACC", -3.71); structureB.put("TTTAA", 5.72); structureB.put("TTTAT", 8.13); structureB.put("TTTAG", 6.08); structureB.put("TTTAC", 6.47); structureB.put("TTTTA", -2.46); structureB.put("TTTTT", -5.05); structureB.put("TTTTG", -2.19); structureB.put("TTTTC", -3.67); structureB.put("TTTGA", 5.24); structureB.put("TTTGT", 6.09); structureB.put("TTTGG", 2.51); structureB.put("TTTGC", 3.96); structureB.put("TTTCA", 0.49); structureB.put("TTTCT", -0.69); structureB.put("TTTCG", -0.38); structureB.put("TTTCC", -1.41); structureB.put("TTGAA", 0.18); structureB.put("TTGAT", 0.04); structureB.put("TTGAG", -0.68); structureB.put("TTGAC", -0.77); structureB.put("TTGTA", -1.49); structureB.put("TTGTT", -2.29); structureB.put("TTGTG", -2.40); structureB.put("TTGTC", -1.95); structureB.put("TTGGA", -1.03); structureB.put("TTGGT", -0.94); structureB.put("TTGGG", -0.64); structureB.put("TTGGC", -1.23); structureB.put("TTGCA", -1.25); structureB.put("TTGCT", -3.02); structureB.put("TTGCG", -0.77); structureB.put("TTGCC", -2.26); structureB.put("TTCAA", 5.46); structureB.put("TTCAT", 5.73); structureB.put("TTCAG", 5.37); structureB.put("TTCAC", 4.07); structureB.put("TTCTA", -1.40); structureB.put("TTCTT", -1.79); structureB.put("TTCTG", -1.90); structureB.put("TTCTC", -2.79); structureB.put("TTCGA", 5.38); structureB.put("TTCGT", 5.06); structureB.put("TTCGG", 2.76); structureB.put("TTCGC", 3.79); structureB.put("TTCCA", -0.87); structureB.put("TTCCT", -1.44); structureB.put("TTCCG", -1.46); structureB.put("TTCCC", -1.61); structureB.put("TGAAA", -1.64); structureB.put("TGAAT", -2.45); structureB.put("TGAAG", -3.01); structureB.put("TGAAC", -2.98); structureB.put("TGATA", -3.40); structureB.put("TGATT", -4.75); structureB.put("TGATG", -3.98); structureB.put("TGATC", -4.67); structureB.put("TGAGA", -2.02); structureB.put("TGAGT", -2.78); structureB.put("TGAGG", -2.49); structureB.put("TGAGC", -2.11); structureB.put("TGACA", -2.49); structureB.put("TGACT", -3.69); structureB.put("TGACG", -2.40); structureB.put("TGACC", -3.46); structureB.put("TGTAA", 6.03); structureB.put("TGTAT", 5.89); structureB.put("TGTAG", 3.24); structureB.put("TGTAC", 4.26); structureB.put("TGTTA", -2.39); structureB.put("TGTTT", -2.98); structureB.put("TGTTG", -2.78); structureB.put("TGTTC", -3.14); structureB.put("TGTGA", 3.97); structureB.put("TGTGT", 2.96); structureB.put("TGTGG", 2.59); structureB.put("TGTGC", 3.31); structureB.put("TGTCA", -1.53); structureB.put("TGTCT", -1.88); structureB.put("TGTCG", -1.70); structureB.put("TGTCC", -2.20); structureB.put("TGGAA", -0.69); structureB.put("TGGAT", -0.96); structureB.put("TGGAG", -1.81); structureB.put("TGGAC", -2.08); structureB.put("TGGTA", -2.45); structureB.put("TGGTT", -3.30); structureB.put("TGGTG", -2.83); structureB.put("TGGTC", -2.73); structureB.put("TGGGA", -0.93); structureB.put("TGGGT", -1.42); structureB.put("TGGGG", -2.10); structureB.put("TGGGC", -1.99); structureB.put("TGGCA", -1.81); structureB.put("TGGCT", -3.86); structureB.put("TGGCG", -1.90); structureB.put("TGGCC", -2.42); structureB.put("TGCAA", 4.60); structureB.put("TGCAT", 4.66); structureB.put("TGCAG", 3.43); structureB.put("TGCAC", 2.85); structureB.put("TGCTA", -2.09); structureB.put("TGCTT", -3.05); structureB.put("TGCTG", -1.86); structureB.put("TGCTC", -2.44); structureB.put("TGCGA", 4.16); structureB.put("TGCGT", 4.21); structureB.put("TGCGG", 2.75); structureB.put("TGCGC", 3.54); structureB.put("TGCCA", -1.33); structureB.put("TGCCT", -2.06); structureB.put("TGCCG", -1.26); structureB.put("TGCCC", -1.78); structureB.put("TCAAA", -2.67); structureB.put("TCAAT", -2.10); structureB.put("TCAAG", -3.44); structureB.put("TCAAC", -3.34); structureB.put("TCATA", -3.24); structureB.put("TCATT", -6.08); structureB.put("TCATG", -4.44); structureB.put("TCATC", -4.68); structureB.put("TCAGA", -1.76); structureB.put("TCAGT", -1.92); structureB.put("TCAGG", -3.12); structureB.put("TCAGC", -2.00); structureB.put("TCACA", -2.33); structureB.put("TCACT", -3.58); structureB.put("TCACG", -2.49); structureB.put("TCACC", -3.21); structureB.put("TCTAA", 6.26); structureB.put("TCTAT", 6.34); structureB.put("TCTAG", 5.27); structureB.put("TCTAC", 4.12); structureB.put("TCTTA", -3.37); structureB.put("TCTTT", -4.76); structureB.put("TCTTG", -3.37); structureB.put("TCTTC", -3.52); structureB.put("TCTGA", 4.43); structureB.put("TCTGT", 3.72); structureB.put("TCTGG", 2.85); structureB.put("TCTGC", 4.10); structureB.put("TCTCA", -1.29); structureB.put("TCTCT", -1.55); structureB.put("TCTCG", -1.21); structureB.put("TCTCC", -2.03); structureB.put("TCGAA", 0.19); structureB.put("TCGAT", -0.54); structureB.put("TCGAG", -1.20); structureB.put("TCGAC", -1.63); structureB.put("TCGTA", -1.92); structureB.put("TCGTT", -2.49); structureB.put("TCGTG", -2.18); structureB.put("TCGTC", -2.39); structureB.put("TCGGA", -0.81); structureB.put("TCGGT", -0.94); structureB.put("TCGGG", -1.75); structureB.put("TCGGC", -0.99); structureB.put("TCGCA", -0.91); structureB.put("TCGCT", -2.29); structureB.put("TCGCG", -1.33); structureB.put("TCGCC", -1.65); structureB.put("TCCAA", 2.70); structureB.put("TCCAT", 4.34); structureB.put("TCCAG", 2.80); structureB.put("TCCAC", 2.75); structureB.put("TCCTA", -2.51); structureB.put("TCCTT", -3.38); structureB.put("TCCTG", -2.79); structureB.put("TCCTC", -2.86); structureB.put("TCCGA", 3.14); structureB.put("TCCGT", 2.56); structureB.put("TCCGG", 1.31); structureB.put("TCCGC", 2.40); structureB.put("TCCCA", -1.55); structureB.put("TCCCT", -2.51); structureB.put("TCCCG", -1.93); structureB.put("TCCCC", -2.33); structureB.put("GAAAA", -4.32); structureB.put("GAAAT", -4.40); structureB.put("GAAAG", -4.95); structureB.put("GAAAC", -3.35); structureB.put("GAATA", -4.85); structureB.put("GAATT", -6.49); structureB.put("GAATG", -5.91); structureB.put("GAATC", -5.55); structureB.put("GAAGA", -2.28); structureB.put("GAAGT", -3.34); structureB.put("GAAGG", -3.57); structureB.put("GAAGC", -2.79); structureB.put("GAACA", -2.74); structureB.put("GAACT", -4.54); structureB.put("GAACG", -2.93); structureB.put("GAACC", -3.59); structureB.put("GATAA", 7.32); structureB.put("GATAT", 6.33); structureB.put("GATAG", 6.28); structureB.put("GATAC", 5.72); structureB.put("GATTA", -2.32); structureB.put("GATTT", -2.43); structureB.put("GATTG", -2.12); structureB.put("GATTC", -3.18); structureB.put("GATGA", 4.02); structureB.put("GATGT", 5.15); structureB.put("GATGG", 4.13); structureB.put("GATGC", 3.67); structureB.put("GATCA", -1.37); structureB.put("GATCT", -1.69); structureB.put("GATCG", -0.57); structureB.put("GATCC", -1.67); structureB.put("GAGAA", -1.63); structureB.put("GAGAT", -1.46); structureB.put("GAGAG", -1.90); structureB.put("GAGAC", -1.85); structureB.put("GAGTA", -3.67); structureB.put("GAGTT", -4.38); structureB.put("GAGTG", -3.21); structureB.put("GAGTC", -3.57); structureB.put("GAGGA", -1.37); structureB.put("GAGGT", -2.35); structureB.put("GAGGG", -2.62); structureB.put("GAGGC", -2.18); structureB.put("GAGCA", -2.29); structureB.put("GAGCT", -3.25); structureB.put("GAGCG", -1.98); structureB.put("GAGCC", -3.07); structureB.put("GACAA", 6.28); structureB.put("GACAT", 4.90); structureB.put("GACAG", 3.98); structureB.put("GACAC", 4.23); structureB.put("GACTA", -1.00); structureB.put("GACTT", -4.01); structureB.put("GACTG", -1.40); structureB.put("GACTC", -2.44); structureB.put("GACGA", 4.81); structureB.put("GACGT", 5.05); structureB.put("GACGG", 3.11); structureB.put("GACGC", 4.23); structureB.put("GACCA", -0.69); structureB.put("GACCT", -2.46); structureB.put("GACCG", -0.84); structureB.put("GACCC", -1.78); structureB.put("GTAAA", -0.99); structureB.put("GTAAT", -2.51); structureB.put("GTAAG", -3.24); structureB.put("GTAAC", -2.71); structureB.put("GTATA", -2.80); structureB.put("GTATT", -4.27); structureB.put("GTATG", -2.99); structureB.put("GTATC", -3.62); structureB.put("GTAGA", -2.44); structureB.put("GTAGT", -1.63); structureB.put("GTAGG", -2.71); structureB.put("GTAGC", -2.28); structureB.put("GTACA", -1.75); structureB.put("GTACT", -2.73); structureB.put("GTACG", -2.11); structureB.put("GTACC", -2.37); structureB.put("GTTAA", 7.53); structureB.put("GTTAT", 6.14); structureB.put("GTTAG", 5.73); structureB.put("GTTAC", 5.89); structureB.put("GTTTA", -1.29); structureB.put("GTTTT", -3.62); structureB.put("GTTTG", -2.42); structureB.put("GTTTC", -2.18); structureB.put("GTTGA", 5.39); structureB.put("GTTGT", 6.20); structureB.put("GTTGG", 6.57); structureB.put("GTTGC", 4.66); structureB.put("GTTCA", 0.09); structureB.put("GTTCT", -0.56); structureB.put("GTTCG", -0.26); structureB.put("GTTCC", -1.77); structureB.put("GTGAA", 0.69); structureB.put("GTGAT", -0.51); structureB.put("GTGAG", -0.77); structureB.put("GTGAC", -1.42); structureB.put("GTGTA", -2.01); structureB.put("GTGTT", -2.42); structureB.put("GTGTG", -1.37); structureB.put("GTGTC", -2.01); structureB.put("GTGGA", -0.49); structureB.put("GTGGT", -0.49); structureB.put("GTGGG", -1.85); structureB.put("GTGGC", -1.52); structureB.put("GTGCA", -0.76); structureB.put("GTGCT", -1.72); structureB.put("GTGCG", -0.64); structureB.put("GTGCC", -1.35); structureB.put("GTCAA", 6.83); structureB.put("GTCAT", 5.16); structureB.put("GTCAG", 4.57); structureB.put("GTCAC", 4.03); structureB.put("GTCTA", -1.45); structureB.put("GTCTT", -2.15); structureB.put("GTCTG", -1.18); structureB.put("GTCTC", -1.45); structureB.put("GTCGA", 5.38); structureB.put("GTCGT", 5.01); structureB.put("GTCGG", 3.41); structureB.put("GTCGC", 4.64); structureB.put("GTCCA", -0.37); structureB.put("GTCCT", -0.96); structureB.put("GTCCG", -0.51); structureB.put("GTCCC", -0.93); structureB.put("GGAAA", -3.36); structureB.put("GGAAT", -3.73); structureB.put("GGAAG", -3.81); structureB.put("GGAAC", -3.78); structureB.put("GGATA", -4.17); structureB.put("GGATT", -5.81); structureB.put("GGATG", -4.71); structureB.put("GGATC", -4.63); structureB.put("GGAGA", -2.23); structureB.put("GGAGT", -2.84); structureB.put("GGAGG", -3.27); structureB.put("GGAGC", -2.75); structureB.put("GGACA", -2.88); structureB.put("GGACT", -4.26); structureB.put("GGACG", -2.49); structureB.put("GGACC", -3.32); structureB.put("GGTAA", 5.01); structureB.put("GGTAT", 5.39); structureB.put("GGTAG", 4.24); structureB.put("GGTAC", 4.32); structureB.put("GGTTA", -3.03); structureB.put("GGTTT", -3.75); structureB.put("GGTTG", -2.06); structureB.put("GGTTC", -3.83); structureB.put("GGTGA", 3.82); structureB.put("GGTGT", 3.95); structureB.put("GGTGG", 2.46); structureB.put("GGTGC", 2.97); structureB.put("GGTCA", -2.01); structureB.put("GGTCT", -1.90); structureB.put("GGTCG", -2.17); structureB.put("GGTCC", -2.12); structureB.put("GGGAA", -0.97); structureB.put("GGGAT", -1.49); structureB.put("GGGAG", -1.87); structureB.put("GGGAC", -2.34); structureB.put("GGGTA", -3.44); structureB.put("GGGTT", -4.18); structureB.put("GGGTG", -2.99); structureB.put("GGGTC", -3.44); structureB.put("GGGGA", -1.23); structureB.put("GGGGT", -1.80); structureB.put("GGGGG", -2.41); structureB.put("GGGGC", -1.96); structureB.put("GGGCA", -1.81); structureB.put("GGGCT", -2.95); structureB.put("GGGCG", -1.66); structureB.put("GGGCC", -2.40); structureB.put("GGCAA", 3.97); structureB.put("GGCAT", 4.26); structureB.put("GGCAG", 3.38); structureB.put("GGCAC", 3.05); structureB.put("GGCTA", -2.77); structureB.put("GGCTT", -3.70); structureB.put("GGCTG", -2.64); structureB.put("GGCTC", -2.76); structureB.put("GGCGA", 3.27); structureB.put("GGCGT", 3.67); structureB.put("GGCGG", 1.79); structureB.put("GGCGC", 2.85); structureB.put("GGCCA", -1.76); structureB.put("GGCCT", -1.89); structureB.put("GGCCG", -1.30); structureB.put("GGCCC", -2.36); structureB.put("GCAAA", -3.68); structureB.put("GCAAT", -2.92); structureB.put("GCAAG", -3.39); structureB.put("GCAAC", -2.98); structureB.put("GCATA", -2.97); structureB.put("GCATT", -5.22); structureB.put("GCATG", -3.87); structureB.put("GCATC", -4.24); structureB.put("GCAGA", -1.20); structureB.put("GCAGT", -1.42); structureB.put("GCAGG", -3.15); structureB.put("GCAGC", -2.09); structureB.put("GCACA", -1.85); structureB.put("GCACT", -3.54); structureB.put("GCACG", -2.27); structureB.put("GCACC", -2.69); structureB.put("GCTAA", 5.63); structureB.put("GCTAT", 4.96); structureB.put("GCTAG", 4.03); structureB.put("GCTAC", 4.45); structureB.put("GCTTA", -2.87); structureB.put("GCTTT", -5.07); structureB.put("GCTTG", -3.44); structureB.put("GCTTC", -3.36); structureB.put("GCTGA", 4.93); structureB.put("GCTGT", 5.07); structureB.put("GCTGG", 2.75); structureB.put("GCTGC", 3.55); structureB.put("GCTCA", -0.90); structureB.put("GCTCT", -1.41); structureB.put("GCTCG", -1.22); structureB.put("GCTCC", -1.59); structureB.put("GCGAA", -0.23); structureB.put("GCGAT", -0.66); structureB.put("GCGAG", -1.17); structureB.put("GCGAC", -1.39); structureB.put("GCGTA", -2.07); structureB.put("GCGTT", -2.93); structureB.put("GCGTG", -2.23); structureB.put("GCGTC", -2.45); structureB.put("GCGGA", -0.89); structureB.put("GCGGT", -0.62); structureB.put("GCGGG", -1.73); structureB.put("GCGGC", -1.31); structureB.put("GCGCA", -0.67); structureB.put("GCGCT", -1.92); structureB.put("GCGCG", -1.15); structureB.put("GCGCC", -1.71); structureB.put("GCCAA", 4.45); structureB.put("GCCAT", 3.68); structureB.put("GCCAG", 2.79); structureB.put("GCCAC", 3.09); structureB.put("GCCTA", -2.47); structureB.put("GCCTT", -2.75); structureB.put("GCCTG", -2.26); structureB.put("GCCTC", -2.42); structureB.put("GCCGA", 3.91); structureB.put("GCCGT", 3.91); structureB.put("GCCGG", 2.08); structureB.put("GCCGC", 2.78); structureB.put("GCCCA", -2.07); structureB.put("GCCCT", -2.27); structureB.put("GCCCG", -1.70); structureB.put("GCCCC", -2.02); structureB.put("CAAAA", -2.76); structureB.put("CAAAT", -4.68); structureB.put("CAAAG", -4.84); structureB.put("CAAAC", -3.27); structureB.put("CAATA", -3.90); structureB.put("CAATT", -5.32); structureB.put("CAATG", -4.37); structureB.put("CAATC", -4.28); structureB.put("CAAGA", -1.59); structureB.put("CAAGT", -2.35); structureB.put("CAAGG", -2.93); structureB.put("CAAGC", -2.39); structureB.put("CAACA", -2.50); structureB.put("CAACT", -4.47); structureB.put("CAACG", -2.83); structureB.put("CAACC", -3.18); structureB.put("CATAA", 7.92); structureB.put("CATAT", 5.85); structureB.put("CATAG", 5.41); structureB.put("CATAC", 6.01); structureB.put("CATTA", -2.15); structureB.put("CATTT", -4.21); structureB.put("CATTG", -2.63); structureB.put("CATTC", -3.64); structureB.put("CATGA", 5.91); structureB.put("CATGT", 5.73); structureB.put("CATGG", 3.95); structureB.put("CATGC", 4.69); structureB.put("CATCA", -0.46); structureB.put("CATCT", -1.27); structureB.put("CATCG", -0.95); structureB.put("CATCC", -1.14); structureB.put("CAGAA", -0.54); structureB.put("CAGAT", -0.33); structureB.put("CAGAG", -1.00); structureB.put("CAGAC", -1.52); structureB.put("CAGTA", -2.15); structureB.put("CAGTT", -3.28); structureB.put("CAGTG", -2.39); structureB.put("CAGTC", -2.08); structureB.put("CAGGA", -1.05); structureB.put("CAGGT", -1.63); structureB.put("CAGGG", -2.88); structureB.put("CAGGC", -1.61); structureB.put("CAGCA", -1.51); structureB.put("CAGCT", -2.49); structureB.put("CAGCG", -1.69); structureB.put("CAGCC", -2.29); structureB.put("CACAA", 6.07); structureB.put("CACAT", 6.57); structureB.put("CACAG", 4.99); structureB.put("CACAC", 5.01); structureB.put("CACTA", -1.38); structureB.put("CACTT", -2.79); structureB.put("CACTG", -1.18); structureB.put("CACTC", -1.98); structureB.put("CACGA", 5.80); structureB.put("CACGT", 5.64); structureB.put("CACGG", 4.06); structureB.put("CACGC", 4.71); structureB.put("CACCA", -0.68); structureB.put("CACCT", -1.65); structureB.put("CACCG", -0.28); structureB.put("CACCC", -1.08); structureB.put("CTAAA", -1.41); structureB.put("CTAAT", -1.62); structureB.put("CTAAG", -3.25); structureB.put("CTAAC", -2.89); structureB.put("CTATA", -3.10); structureB.put("CTATT", -5.98); structureB.put("CTATG", -3.65); structureB.put("CTATC", -4.19); structureB.put("CTAGA", -1.22); structureB.put("CTAGT", -2.86); structureB.put("CTAGG", -2.23); structureB.put("CTAGC", -2.24); structureB.put("CTACA", -3.23); structureB.put("CTACT", -4.12); structureB.put("CTACG", -2.16); structureB.put("CTACC", -2.63); structureB.put("CTTAA", 6.23); structureB.put("CTTAT", 6.31); structureB.put("CTTAG", 6.02); structureB.put("CTTAC", 5.90); structureB.put("CTTTA", -1.56); structureB.put("CTTTT", -4.23); structureB.put("CTTTG", -2.80); structureB.put("CTTTC", -3.00); structureB.put("CTTGA", 5.51); structureB.put("CTTGT", 5.65); structureB.put("CTTGG", 4.48); structureB.put("CTTGC", 4.47); structureB.put("CTTCA", 0.22); structureB.put("CTTCT", -1.65); structureB.put("CTTCG", -0.16); structureB.put("CTTCC", -0.61); structureB.put("CTGAA", 0.57); structureB.put("CTGAT", -0.36); structureB.put("CTGAG", -0.89); structureB.put("CTGAC", -1.29); structureB.put("CTGTA", -1.95); structureB.put("CTGTT", -2.40); structureB.put("CTGTG", -2.15); structureB.put("CTGTC", -2.46); structureB.put("CTGGA", -0.76); structureB.put("CTGGT", -0.64); structureB.put("CTGGG", -1.97); structureB.put("CTGGC", -1.52); structureB.put("CTGCA", -0.70); structureB.put("CTGCT", -2.72); structureB.put("CTGCG", -0.89); structureB.put("CTGCC", -1.34); structureB.put("CTCAA", 5.89); structureB.put("CTCAT", 5.69); structureB.put("CTCAG", 4.27); structureB.put("CTCAC", 4.33); structureB.put("CTCTA", -1.35); structureB.put("CTCTT", -1.76); structureB.put("CTCTG", -1.81); structureB.put("CTCTC", -1.93); structureB.put("CTCGA", 5.47); structureB.put("CTCGT", 4.47); structureB.put("CTCGG", 4.60); structureB.put("CTCGC", 4.38); structureB.put("CTCCA", -0.86); structureB.put("CTCCT", -1.32); structureB.put("CTCCG", -0.61); structureB.put("CTCCC", -1.00); structureB.put("CGAAA", -2.61); structureB.put("CGAAT", -2.98); structureB.put("CGAAG", -3.70); structureB.put("CGAAC", -3.31); structureB.put("CGATA", -3.35); structureB.put("CGATT", -4.90); structureB.put("CGATG", -4.47); structureB.put("CGATC", -4.15); structureB.put("CGAGA", -1.90); structureB.put("CGAGT", -1.90); structureB.put("CGAGG", -2.80); structureB.put("CGAGC", -2.22); structureB.put("CGACA", -2.39); structureB.put("CGACT", -4.46); structureB.put("CGACG", -2.51); structureB.put("CGACC", -3.50); structureB.put("CGTAA", 6.35); structureB.put("CGTAT", 5.89); structureB.put("CGTAG", 4.93); structureB.put("CGTAC", 4.68); structureB.put("CGTTA", -2.63); structureB.put("CGTTT", -2.94); structureB.put("CGTTG", -2.97); structureB.put("CGTTC", -2.93); structureB.put("CGTGA", 4.27); structureB.put("CGTGT", 4.66); structureB.put("CGTGG", 3.23); structureB.put("CGTGC", 3.22); structureB.put("CGTCA", -1.16); structureB.put("CGTCT", -2.02); structureB.put("CGTCG", -1.47); structureB.put("CGTCC", -1.80); structureB.put("CGGAA", -1.80); structureB.put("CGGAT", -2.07); structureB.put("CGGAG", -1.83); structureB.put("CGGAC", -1.73); structureB.put("CGGTA", -2.35); structureB.put("CGGTT", -3.13); structureB.put("CGGTG", -2.48); structureB.put("CGGTC", -2.77); structureB.put("CGGGA", -0.91); structureB.put("CGGGT", -0.94); structureB.put("CGGGG", -1.76); structureB.put("CGGGC", -1.71); structureB.put("CGGCA", -1.38); structureB.put("CGGCT", -2.14); structureB.put("CGGCG", -1.46); structureB.put("CGGCC", -2.00); structureB.put("CGCAA", 4.82); structureB.put("CGCAT", 5.09); structureB.put("CGCAG", 3.64); structureB.put("CGCAC", 3.27); structureB.put("CGCTA", -2.20); structureB.put("CGCTT", -2.38); structureB.put("CGCTG", -1.93); structureB.put("CGCTC", -1.89); structureB.put("CGCGA", 4.50); structureB.put("CGCGT", 4.51); structureB.put("CGCGG", 2.68); structureB.put("CGCGC", 3.12); structureB.put("CGCCA", -1.66); structureB.put("CGCCT", -2.10); structureB.put("CGCCG", -1.33); structureB.put("CGCCC", -1.63); structureB.put("CCAAA", -3.10); structureB.put("CCAAT", -2.07); structureB.put("CCAAG", -3.40); structureB.put("CCAAC", -1.94); structureB.put("CCATA", -2.84); structureB.put("CCATT", -4.16); structureB.put("CCATG", -4.03); structureB.put("CCATC", -3.42); structureB.put("CCAGA", -2.71); structureB.put("CCAGT", -1.82); structureB.put("CCAGG", -2.87); structureB.put("CCAGC", -2.45); structureB.put("CCACA", -1.82); structureB.put("CCACT", -2.95); structureB.put("CCACG", -2.34); structureB.put("CCACC", -2.55); structureB.put("CCTAA", 5.87); structureB.put("CCTAT", 5.54); structureB.put("CCTAG", 4.92); structureB.put("CCTAC", 4.46); structureB.put("CCTTA", -3.71); structureB.put("CCTTT", -4.80); structureB.put("CCTTG", -3.66); structureB.put("CCTTC", -3.82); structureB.put("CCTGA", 3.63); structureB.put("CCTGT", 4.68); structureB.put("CCTGG", 2.39); structureB.put("CCTGC", 2.96); structureB.put("CCTCA", -0.98); structureB.put("CCTCT", -1.11); structureB.put("CCTCG", -1.26); structureB.put("CCTCC", -1.91); structureB.put("CCGAA", -0.53); structureB.put("CCGAT", -0.66); structureB.put("CCGAG", -0.49); structureB.put("CCGAC", -1.52); structureB.put("CCGTA", -2.19); structureB.put("CCGTT", -3.07); structureB.put("CCGTG", -2.43); structureB.put("CCGTC", -2.46); structureB.put("CCGGA", -0.62); structureB.put("CCGGT", -0.44); structureB.put("CCGGG", -1.59); structureB.put("CCGGC", -1.33); structureB.put("CCGCA", -0.88); structureB.put("CCGCT", -1.90); structureB.put("CCGCG", -1.05); structureB.put("CCGCC", -2.02); structureB.put("CCCAA", 6.64); structureB.put("CCCAT", 3.38); structureB.put("CCCAG", 2.42); structureB.put("CCCAC", 2.54); structureB.put("CCCTA", -2.67); structureB.put("CCCTT", -3.37); structureB.put("CCCTG", -3.39); structureB.put("CCCTC", -2.73); structureB.put("CCCGA", 3.35); structureB.put("CCCGT", 2.76); structureB.put("CCCGG", 1.93); structureB.put("CCCGC", 2.34); structureB.put("CCCCA", -1.74); structureB.put("CCCCT", -2.55); structureB.put("CCCCG", -1.77); structureB.put("CCCCC", -2.24); } }