diff --git a/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromBEDCLI.java b/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromBEDCLI.java index 424599ac..9ef25ace 100644 --- a/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromBEDCLI.java +++ b/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromBEDCLI.java @@ -5,15 +5,15 @@ import picocli.CommandLine.Option; import picocli.CommandLine.Parameters; +import java.util.ArrayList; import java.util.concurrent.Callable; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; -import java.io.PrintStream; import scriptmanager.objects.ToolDescriptions; import scriptmanager.objects.Exceptions.OptionException; +import scriptmanager.util.DNAShapeReference; import scriptmanager.util.ExtensionFileFilter; import scriptmanager.scripts.Sequence_Analysis.DNAShapefromBED; @@ -56,21 +56,43 @@ public DNAShapefromBEDCLI(){} @ArgGroup(validate = false, heading = "Shape Options%n") ShapeType shape = new ShapeType(); + ArrayList OUTPUT_TYPES; - static class ShapeType { + public static class ShapeType { @Option(names = { "-g", "--groove" }, description = "output minor groove width") - private boolean groove = false; + public boolean groove = false; @Option(names = { "-r", "--roll" }, description = "output roll") - private boolean roll = false; + public boolean roll = false; @Option(names = { "-p", "--propeller" }, description = "output propeller twist") - private boolean propeller = false; + public boolean propeller = false; @Option(names = { "-l", "--helical" }, description = "output helical twist") - private boolean helical = false; - @Option(names = { "-a", "--all" }, description = "output groove, roll, propeller twist, and helical twist (equivalent to -grpl).") - private boolean all = false; + public boolean helical = false; + @Option(names = { "--electrostatic-potential" }, description = "output electrostatic potential") + public boolean ep = false; + @Option(names = { "--stretch" }, description = "output stretch") + public boolean stretch = false; + @Option(names = { "--buckle" }, description = "output buckle") + public boolean buckle = false; + @Option(names = { "--shear" }, description = "output shear") + public boolean shear = false; + @Option(names = { "--opening" }, description = "output opening") + public boolean opening = false; + @Option(names = { "--stagger" }, description = "output stagger") + public boolean stagger = false; + @Option(names = { "--tilt" }, description = "output tilt") + public boolean tilt = false; + @Option(names = { "--slide" }, description = "output slide") + public boolean slide = false; + @Option(names = { "--rise" }, description = "output rise") + public boolean rise = false; + @Option(names = { "--shift" }, description = "output shift") + public boolean shift = false; + @Option(names = { "--2013" }, description = "output groove, roll, propeller twist, and helical twist (equivalent to -grpl).") + public boolean originalAll = false; + @Option(names = { "-a", "--2021" }, description = "output all 14 shapes") + public boolean all = false; } - private boolean[] OUTPUT_TYPE = new boolean[] { false, false, false, false }; private short outputMatrix = DNAShapefromBED.NO_MATRIX; /** @@ -88,29 +110,9 @@ public Integer call() throws Exception { } // Generate Composite Plot - DNAShapefromBED script_obj = new DNAShapefromBED(genomeFASTA, bedFile, outputBasename, OUTPUT_TYPE, + DNAShapefromBED script_obj = new DNAShapefromBED(genomeFASTA, bedFile, outputBasename, OUTPUT_TYPES, forceStrand, composite, outputMatrix, gzOutput); script_obj.run(); - // Print Composite Scores - if (composite) { - String[] headers = new String[] { "AVG_MGW", "AVG_PropT", "AVG_HelT", "AVG_Roll" }; - for (int t = 0; t < OUTPUT_TYPE.length; t++) { - if (OUTPUT_TYPE[t]) { - PrintStream COMPOSITE = new PrintStream(new File(outputBasename + "_" + headers[t] + ".out")); - double[] AVG = script_obj.getAvg(t); - // position vals - for (int z = 0; z < AVG.length; z++) { - COMPOSITE.print("\t" + z); - } - COMPOSITE.print("\n" + ExtensionFileFilter.stripExtension(bedFile) + "_" + headers[t]); - // score vals - for (int z = 0; z < AVG.length; z++) { - COMPOSITE.print("\t" + AVG[z]); - } - COMPOSITE.println(); - } - } - } System.err.println("Shapes Calculated."); return (0); } @@ -144,36 +146,47 @@ private String validateInput() throws IOException { // no extension check // check directory if (outParent == null) { -// System.err.println("default to current directory"); + System.err.println("default to current directory"); } else if (!new File(outParent).exists()) { r += "(!)Check output directory exists: " + outParent + "\n"; } } - // Check & set output_type - if (!(shape.groove || shape.propeller || shape.helical || shape.roll || shape.all)) { - r += "(!)Please select at least one of the shape flags.\n"; - } else if ((shape.groove || shape.propeller || shape.helical || shape.roll) && shape.all) { - r += "(!)Please avoid mixing the \"-a\" flag with the other shape flags.\n"; - } - - if (shape.groove) { - OUTPUT_TYPE[0] = true; - } - if (shape.propeller) { - OUTPUT_TYPE[1] = true; - } - if (shape.helical) { - OUTPUT_TYPE[2] = true; - } - if (shape.roll) { - OUTPUT_TYPE[3] = true; + OUTPUT_TYPES = new ArrayList<>(); + if (shape.groove) { OUTPUT_TYPES.add(DNAShapeReference.MGW); } + if (shape.propeller) { OUTPUT_TYPES.add(DNAShapeReference.PROPT); } + if (shape.helical) { OUTPUT_TYPES.add(DNAShapeReference.HELT); } + if (shape.roll) { OUTPUT_TYPES.add(DNAShapeReference.ROLL); } + if (shape.ep) { OUTPUT_TYPES.add(DNAShapeReference.EP); } + if (shape.stretch) { OUTPUT_TYPES.add(DNAShapeReference.STRETCH); } + if (shape.buckle) { OUTPUT_TYPES.add(DNAShapeReference.BUCKLE); } + if (shape.shear) { OUTPUT_TYPES.add(DNAShapeReference.SHEAR); } + if (shape.opening) { OUTPUT_TYPES.add(DNAShapeReference.OPENING); } + if (shape.stagger) { OUTPUT_TYPES.add(DNAShapeReference.STAGGER); } + if (shape.tilt) { OUTPUT_TYPES.add(DNAShapeReference.TILT); } + if (shape.slide) { OUTPUT_TYPES.add(DNAShapeReference.SLIDE); } + if (shape.rise) { OUTPUT_TYPES.add(DNAShapeReference.RISE); } + if (shape.shift) { OUTPUT_TYPES.add(DNAShapeReference.SHIFT); } + if (shape.all){ + for (int i = 0; i < 14; i++){ + if (OUTPUT_TYPES.contains(i)){ + r += "(!)Please avoid mixing the \"-a\" flag with the other shape flags.\n"; + } + else { + OUTPUT_TYPES.add(i); + } + } } - - if (shape.all) { - OUTPUT_TYPE = new boolean[] { true, true, true, true }; + else if (shape.originalAll){ + for (int i = 0; i < 5; i++){ + if (OUTPUT_TYPES.contains(i)){ + r += "(!)Please avoid mixing the \"--2013\" flag with the other shape flags.\n"; + } + else { + OUTPUT_TYPES.add(i); + } + } } - if (matrix && cdt) { r += "(!)Please select either the matrix or the cdt flag.\n"; } else if (matrix) { @@ -194,8 +207,7 @@ private String validateInput() throws IOException { * sequence from * @param out the output file name base (to add * _<shapetype>.cdt suffix to) - * @param type a four-element boolean list for specifying shape type - * to output (no enforcement on size) + * @param type An ArrayList specifying the shape type of the output with integers * @param str force strandedness (true=forced, false=not forced) * @param outputComposite whether to output a composite average output * @param outputMatrix value encoding not to write output matrix data, write @@ -203,14 +215,28 @@ private String validateInput() throws IOException { * @param gzOutput whether or not to gzip output * @return command line to execute with formatted inputs */ - public static String getCLIcommand(File gen, File input, File out, boolean[] type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput) throws OptionException { + public static String getCLIcommand(File gen, File input, File out, ArrayList type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput) throws OptionException { String command = "java -jar $SCRIPTMANAGER sequence-analysis dna-shape-bed"; command += " -o " + out.getAbsolutePath(); command += gzOutput ? " -z " : ""; - command += type[0] ? " --groove" : ""; - command += type[1] ? " --propeller" : ""; - command += type[2] ? " --helical" : ""; - command += type[3] ? " --roll" : ""; + if (type.size() == 14){ + command += type.size() == 14? "-a" : ""; + } else { + command += type.contains(0)? "--groove" : ""; + command += type.contains(1)? "--propeller" : ""; + command += type.contains(2)? "--helical" : ""; + command += type.contains(3)? "--roll" : ""; + command += type.contains(4)? "--electrostatic-potential" : ""; + command += type.contains(5)? "--stretch" : ""; + command += type.contains(6)? "--buckle" : ""; + command += type.contains(7)? "--shear" : ""; + command += type.contains(8)? "--opening" : ""; + command += type.contains(9)? "--stagger" : ""; + command += type.contains(10)? "--tilt" : ""; + command += type.contains(11)? "--slide" : ""; + command += type.contains(12)? "--rise" : ""; + command += type.contains(13)? "--shift" : ""; + } command += str ? "" : "--no-force"; command += outputComposite ? "--composite" : ""; switch (outputMatrix) { diff --git a/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromFASTACLI.java b/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromFASTACLI.java index 99afa918..e4aa517c 100644 --- a/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromFASTACLI.java +++ b/src/main/java/scriptmanager/cli/Sequence_Analysis/DNAShapefromFASTACLI.java @@ -5,15 +5,15 @@ import picocli.CommandLine.Option; import picocli.CommandLine.Parameters; +import java.util.ArrayList; import java.util.concurrent.Callable; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; -import java.io.PrintStream; import scriptmanager.objects.ToolDescriptions; import scriptmanager.objects.Exceptions.OptionException; +import scriptmanager.util.DNAShapeReference; import scriptmanager.util.ExtensionFileFilter; import scriptmanager.scripts.Sequence_Analysis.DNAShapefromBED; import scriptmanager.scripts.Sequence_Analysis.DNAShapefromFASTA; @@ -53,21 +53,43 @@ public DNAShapefromFASTACLI(){} @ArgGroup(validate = false, heading = "Shape Options%n") ShapeType shape = new ShapeType(); + ArrayList OUTPUT_TYPES; - static class ShapeType { + public static class ShapeType { @Option(names = { "-g", "--groove" }, description = "output minor groove width") - private boolean groove = false; + public boolean groove = false; @Option(names = { "-r", "--roll" }, description = "output roll") - private boolean roll = false; + public boolean roll = false; @Option(names = { "-p", "--propeller" }, description = "output propeller twist") - private boolean propeller = false; + public boolean propeller = false; @Option(names = { "-l", "--helical" }, description = "output helical twist") - private boolean helical = false; - @Option(names = { "-a", "--all" }, description = "output groove, roll, propeller twist, and helical twist (equivalent to -grpl).") - private boolean all = false; + public boolean helical = false; + @Option(names = { "--electrostatic-potential" }, description = "output electrostatic potential") + public boolean ep = false; + @Option(names = { "--stretch" }, description = "output stretch") + public boolean stretch = false; + @Option(names = { "--buckle" }, description = "output buckle") + public boolean buckle = false; + @Option(names = { "--shear" }, description = "output shear") + public boolean shear = false; + @Option(names = { "--opening" }, description = "output opening") + public boolean opening = false; + @Option(names = { "--stagger" }, description = "output stagger") + public boolean stagger = false; + @Option(names = { "--tilt" }, description = "output tilt") + public boolean tilt = false; + @Option(names = { "--slide" }, description = "output slide") + public boolean slide = false; + @Option(names = { "--rise" }, description = "output rise") + public boolean rise = false; + @Option(names = { "--shift" }, description = "output shift") + public boolean shift = false; + @Option(names = { "-a", "--2013" }, description = "output groove, roll, propeller twist, and helical twist (equivalent to -grpl).") + public boolean originalAll = false; + @Option(names = { "--2021" }, description = "output all 14 shapes") + public boolean all = false; } - private boolean[] OUTPUT_TYPE = new boolean[] { false, false, false, false }; private short outputMatrix = DNAShapefromBED.NO_MATRIX; /** @@ -85,29 +107,9 @@ public Integer call() throws Exception { } // Generate Composite Plot - DNAShapefromFASTA script_obj = new DNAShapefromFASTA(fastaFile, outputBasename, OUTPUT_TYPE, + DNAShapefromFASTA script_obj = new DNAShapefromFASTA(fastaFile, outputBasename, OUTPUT_TYPES, composite, outputMatrix, gzOutput); script_obj.run(); - // Print Composite Scoress - if (composite) { - String[] headers = new String[] { "AVG_MGW", "AVG_PropT", "AVG_HelT", "AVG_Roll" }; - for (int t = 0; t < OUTPUT_TYPE.length; t++) { - if (OUTPUT_TYPE[t]) { - PrintStream COMPOSITE = new PrintStream(new File(outputBasename + "_" + headers[t] + ".out")); - double[] AVG = script_obj.getAvg(t); - // position vals - for (int z = 0; z < AVG.length; z++) { - COMPOSITE.print("\t" + z); - } - COMPOSITE.print("\n" + ExtensionFileFilter.stripExtension(fastaFile) + "_" + headers[t]); - // score vals - for (int z = 0; z < AVG.length; z++) { - COMPOSITE.print("\t" + AVG[z]); - } - COMPOSITE.println(); - } - } - } System.err.println("Shapes Calculated."); return (0); @@ -138,34 +140,46 @@ private String validateInput() throws IOException { // no extension check // check directory if (outParent == null) { -// System.err.println("default to current directory"); + System.err.println("default to current directory"); } else if (!new File(outParent).exists()) { r += "(!)Check output directory exists: " + outParent + "\n"; } } - // Check & set output_type - if (!(shape.groove || shape.propeller || shape.helical || shape.roll || shape.all)) { - r += "(!)Please select at least one of the shape flags.\n"; - } else if ((shape.groove || shape.propeller || shape.helical || shape.roll) && shape.all) { - r += "(!)Please avoid mixing the \"-a\" flag with the other shape flags.\n"; - } - - if (shape.groove) { - OUTPUT_TYPE[0] = true; - } - if (shape.propeller) { - OUTPUT_TYPE[1] = true; - } - if (shape.helical) { - OUTPUT_TYPE[2] = true; - } - if (shape.roll) { - OUTPUT_TYPE[3] = true; + OUTPUT_TYPES = new ArrayList<>(); + if (shape.groove) { OUTPUT_TYPES.add(DNAShapeReference.MGW); } + if (shape.propeller) { OUTPUT_TYPES.add(DNAShapeReference.PROPT); } + if (shape.helical) { OUTPUT_TYPES.add(DNAShapeReference.HELT); } + if (shape.roll) { OUTPUT_TYPES.add(DNAShapeReference.ROLL); } + if (shape.ep) { OUTPUT_TYPES.add(DNAShapeReference.EP); } + if (shape.stretch) { OUTPUT_TYPES.add(DNAShapeReference.STRETCH); } + if (shape.buckle) { OUTPUT_TYPES.add(DNAShapeReference.BUCKLE); } + if (shape.shear) { OUTPUT_TYPES.add(DNAShapeReference.SHEAR); } + if (shape.opening) { OUTPUT_TYPES.add(DNAShapeReference.OPENING); } + if (shape.stagger) { OUTPUT_TYPES.add(DNAShapeReference.STAGGER); } + if (shape.tilt) { OUTPUT_TYPES.add(DNAShapeReference.TILT); } + if (shape.slide) { OUTPUT_TYPES.add(DNAShapeReference.SLIDE); } + if (shape.rise) { OUTPUT_TYPES.add(DNAShapeReference.RISE); } + if (shape.shift) { OUTPUT_TYPES.add(DNAShapeReference.SHIFT); } + if (shape.all){ + for (int i = 0; i < 14; i++){ + if (OUTPUT_TYPES.contains(i)){ + r += "(!)Please avoid mixing the \"-a\" flag with the other shape flags.\n"; + } + else { + OUTPUT_TYPES.add(i); + } + } } - - if (shape.all) { - OUTPUT_TYPE = new boolean[] { true, true, true, true }; + else if (shape.originalAll){ + for (int i = 0; i < 5; i++){ + if (OUTPUT_TYPES.contains(i)){ + r += "(!)Please avoid mixing the \"--2013\" flag with the other shape flags.\n"; + } + else { + OUTPUT_TYPES.add(i); + } + } } if (matrix && cdt) { @@ -181,26 +195,39 @@ private String validateInput() throws IOException { /** * Reconstruct CLI command - * * @param input the FASTA-formatted file with a fixed sequence length * @param out the output file name base (to add * _<shapetype>.cdt suffix to) - * @param type a four-element boolean list for specifying shape type - * to output (no enforcement on size) + * @param type An ArrayList specifying the shape type of the output with integers + * @param str force strandedness (true=forced, false=not forced) * @param outputComposite whether to output a composite average output * @param outputMatrix value encoding not to write output matrix data, write * matrix in CDT format, and write matrix in tab format * @param gzOutput whether or not to gzip output * @return command line to execute with formatted inputs */ - public static String getCLIcommand(File input, File out, boolean[] type, boolean outputComposite, short outputMatrix, boolean gzOutput) throws OptionException { + public static String getCLIcommand(File input, File out, ArrayList type, boolean outputComposite, short outputMatrix, boolean gzOutput) throws OptionException { String command = "java -jar $SCRIPTMANAGER sequence-analysis dna-shape-fasta"; command += " -o " + out.getAbsolutePath(); command += gzOutput ? " -z " : ""; - command += type[0] ? " --groove" : ""; - command += type[1] ? " --propeller" : ""; - command += type[2] ? " --helical" : ""; - command += type[3] ? " --roll" : ""; + if (type.size() == 14){ + command += type.size() == 14? "-a" : ""; + } else { + command += type.contains(0)? "--groove" : ""; + command += type.contains(1)? "--propeller" : ""; + command += type.contains(2)? "--helical" : ""; + command += type.contains(3)? "--roll" : ""; + command += type.contains(4)? "--electrostatic-potential" : ""; + command += type.contains(5)? "--stretch" : ""; + command += type.contains(6)? "--buckle" : ""; + command += type.contains(7)? "--shear" : ""; + command += type.contains(8)? "--opening" : ""; + command += type.contains(9)? "--stagger" : ""; + command += type.contains(10)? "--tilt" : ""; + command += type.contains(11)? "--slide" : ""; + command += type.contains(12)? "--rise" : ""; + command += type.contains(13)? "--shift" : ""; + } command += outputComposite ? "--composite" : ""; switch (outputMatrix) { case DNAShapefromBED.NO_MATRIX: diff --git a/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromBED.java b/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromBED.java index 5fa77689..9f33bb79 100644 --- a/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromBED.java +++ b/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromBED.java @@ -3,7 +3,6 @@ import htsjdk.samtools.SAMException; import htsjdk.samtools.reference.FastaSequenceIndexCreator; import htsjdk.samtools.reference.IndexedFastaSequenceFile; -import scriptmanager.objects.CoordinateObjects.BEDCoord; import java.awt.Component; import java.io.BufferedReader; @@ -11,22 +10,30 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; +import java.nio.charset.Charset; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.text.DecimalFormat; + import scriptmanager.charts.CompositePlot; -import scriptmanager.util.FASTAUtilities; +import scriptmanager.objects.CustomOutputStream; +import scriptmanager.objects.CoordinateObjects.BEDCoord; +import scriptmanager.objects.Exceptions.OptionException; +import scriptmanager.objects.Exceptions.ScriptManagerException; import scriptmanager.util.GZipUtilities; import scriptmanager.util.DNAShapeReference; import scriptmanager.util.ExtensionFileFilter; +import scriptmanager.util.FASTAUtilities; /** * Calculate and score various aspects of DNA shape across a set of BED - * intervals. + * sequences. * * @author William KM Lai * @see scriptmanager.util.DNAShapeReference @@ -39,48 +46,43 @@ public class DNAShapefromBED { private File BED = null; private File OUTBASENAME = null; - private boolean[] OUTPUT_TYPE = null; private boolean OUTPUT_COMPOSITE = false; private short OUTPUT_MATRIX = 0; private boolean GZIP_OUTPUT; - private boolean STRAND = true; + private boolean STRAND; - private PrintStream OUT_M = null; - private PrintStream OUT_P = null; - private PrintStream OUT_H = null; - private PrintStream OUT_R = null; - - private PrintStream[] PS = null; + private HashMap OUT_FILES; + private HashMap COMPOSITE_FILES; + private HashMap> PREDICTIONS; + private HashMap AVG_ARRS; + private ArrayList OUTPUT_TYPES; + private HashMap PS = null; static Map> STRUCTURE = null; - - double[] AVG_MGW = null; - double[] AVG_PropT = null; - double[] AVG_HelT = null; - double[] AVG_Roll = null; - - Component chart_M = null; - Component chart_P = null; - Component chart_H = null; - Component chart_R = null; + private HashMap CHARTS = null; + private DecimalFormat FORMAT = new DecimalFormat("##.00"); public final static short NO_MATRIX = 0; public final static short TAB = 1; public final static short CDT = 2; - public DNAShapefromBED(File gen, File b, File out, boolean[] type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput) { + public DNAShapefromBED(File gen, File b, File out, ArrayList type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput) { GENOME = gen; BED = b; OUTBASENAME = out; - OUTPUT_TYPE = type; - STRAND = str; + OUTPUT_TYPES = type; OUTPUT_COMPOSITE = outputComposite; OUTPUT_MATRIX = outputMatrix; GZIP_OUTPUT = gzOutput; - PS = new PrintStream[] { null, null, null, null }; + STRAND = str; + PS = null; STRUCTURE = DNAShapeReference.InitializeStructure(); + OUT_FILES = new HashMap<>(); + COMPOSITE_FILES = new HashMap<>(); + AVG_ARRS = new HashMap<>(); + PREDICTIONS = new HashMap<>(); } /** @@ -92,356 +94,299 @@ public DNAShapefromBED(File gen, File b, File out, boolean[] type, boolean str, * sequence from * @param out the output file name base (to add * _<shapetype>.cdt suffix to) - * @param type a four-element boolean list for specifying shape type - * to output (no enforcement on size) - * @param str force strandedness (true=forced, false=not forced) + * @param type An ArrayList with integers corresponding to shape types stored in {@link DNAShapeReference} * @param outputComposite whether to output a composite average output * @param outputMatrix value encoding not to write output matrix data, write * matrix in CDT format, and write matrix in tab format * @param gzOutput whether to output compressed file - * @param ps list of four PrintStream objects corresponding to each - * shape type (for GUI) + * @param ps HashMap of PrintStream objects corresponding to each shape type (for GUI) * @throws IOException Invalid file or parameters */ - public DNAShapefromBED(File gen, File b, File out, boolean[] type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput, PrintStream[] ps) { + public DNAShapefromBED(File gen, File b, File out, ArrayList type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput, HashMap ps) { GENOME = gen; BED = b; OUTBASENAME = out; - OUTPUT_TYPE = type; - STRAND = str; + OUTPUT_TYPES = type; OUTPUT_COMPOSITE = outputComposite; OUTPUT_MATRIX = outputMatrix; GZIP_OUTPUT = gzOutput; + STRAND = str; PS = ps; STRUCTURE = DNAShapeReference.InitializeStructure(); + OUT_FILES = new HashMap<>(); + COMPOSITE_FILES = new HashMap<>(); + AVG_ARRS = new HashMap<>(); + PREDICTIONS = new HashMap<>(); + CHARTS = new HashMap<>(); } /** * Execute script to calculate DNA shape for all types across the input * sequence. * + * @throws ScriptManagerException thrown when FASTA parsing encounters N-containing sequence + * @throws FileNotFoundException * @throws IOException Invalid file or parameters * @throws InterruptedException Thrown when more than one script is run at the same time + * @throws OptionException */ - public void run() throws FileNotFoundException, IOException, InterruptedException { - File FAI = new File(GENOME + ".fai"); - // Check if FAI index file exists - if (!FAI.exists() || FAI.isDirectory()) { - FastaSequenceIndexCreator.create(GENOME.toPath(), true); + public void run() throws ScriptManagerException, FileNotFoundException, IOException, InterruptedException, OptionException { + File FAI = new File(GENOME + ".fai"); + // Check if FAI index file exists + if (!FAI.exists() || FAI.isDirectory()) { + FastaSequenceIndexCreator.create(GENOME.toPath(), true); + } + IndexedFastaSequenceFile QUERY = new IndexedFastaSequenceFile(GENOME); + // Print time to ScriptManager gui + String NAME = ExtensionFileFilter.stripExtension(BED); + String time = new Timestamp(new Date().getTime()).toString(); + if (PS != null){ + for (Integer shape: OUTPUT_TYPES){ + PS.get(shape).write((time + "\n" + NAME + "\n").getBytes(Charset.forName("UTF-8"))); } - IndexedFastaSequenceFile QUERY = new IndexedFastaSequenceFile(GENOME); + } + openOutputFiles(); - String NAME = ExtensionFileFilter.stripExtension(BED); - String time = new Timestamp(new Date().getTime()).toString(); - for (int p = 0; p < PS.length; p++) { - if (OUTPUT_TYPE[p] && PS[p] != null) { - PS[p].println(time + "\n" + NAME); - } - } - openOutputFiles(); - ArrayList BED_Coord = loadCoord(BED); + // Find longest sequence in file + ArrayList BED_Coord = loadCoord(BED); + int longestSequence = -1; + BufferedReader br = GZipUtilities.makeReader(GENOME); + for (BEDCoord coord: BED_Coord) { + long length = coord.getStop() - coord.getStart(); + longestSequence = Math.max(longestSequence, (int)length); + } + br.close(); + // Create coordinate domain + int numPredictions = (1 + (int)(longestSequence - 4)); + double[] domain = new double[numPredictions]; + int temp = (int) (((double) (numPredictions) / 2.0) + 0.5); + for (int z = 0; z < numPredictions; z++) { + domain[z] = (temp - (numPredictions - z)); + } - for (int y = 0; y < BED_Coord.size(); y++) { - try { - String seq = new String(QUERY.getSubsequenceAt(BED_Coord.get(y).getChrom(), - BED_Coord.get(y).getStart() + 1, BED_Coord.get(y).getStop()).getBases()).toUpperCase(); - if (!seq.contains("N")) { - if (STRAND && BED_Coord.get(y).getDir().equals("-")) { - seq = FASTAUtilities.RevComplement(seq); - } - // Populate array for each BED file - List MGW = new ArrayList(); - List PropT = new ArrayList(); - List HelT = new ArrayList(); - List Roll = new ArrayList(); - for (int z = 0; z < seq.length() - 4; z++) { - String key = seq.substring(z, z + 5); - List SCORES = STRUCTURE.get(key); - if (OUTPUT_TYPE[0]) { - MGW.add(SCORES.get(0)); - } - if (OUTPUT_TYPE[1]) { - PropT.add(SCORES.get(1)); - } - if (OUTPUT_TYPE[2]) { - if (z == 0) { - HelT.add(SCORES.get(2)); - HelT.add(SCORES.get(3)); - } else { - HelT.set(HelT.size() - 1, (HelT.get(HelT.size() - 1) + SCORES.get(2)) / 2); - HelT.add(SCORES.get(3)); + BED_Coord = loadCoord(BED); + int counter = 0; + for (int y = 0; y < BED_Coord.size(); y++) { + try { + String seq = new String(QUERY.getSubsequenceAt(BED_Coord.get(y).getChrom(), + BED_Coord.get(y).getStart() + 1, BED_Coord.get(y).getStop()).getBases()).toUpperCase(); + System.out.println(seq); + if (!seq.contains("N")) { + if (STRAND && BED_Coord.get(y).getDir().equals("-")) { + seq = FASTAUtilities.RevComplement(seq); + } + // Populate array for each shape type + for (Integer shape: OUTPUT_TYPES){ + PREDICTIONS.put(shape, DNAShapeReference.seqToShape(shape, seq)); + } + for (Integer shape: OUTPUT_TYPES){ + if (counter == 0) { + // Don't print matrix info if user specifies no matrix output + if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { + // print header + OUT_FILES.get(shape).print("YORF"); + if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { + OUT_FILES.get(shape).print("\tNAME"); } - } - if (OUTPUT_TYPE[3]) { - if (z == 0) { - Roll.add(SCORES.get(4)); - Roll.add(SCORES.get(5)); + // Adjust domain to fit number of predictions + int end; + if (new ArrayList<>(Arrays.asList( DNAShapeReference.HELT, DNAShapeReference.ROLL, DNAShapeReference.RISE, + DNAShapeReference.SHIFT, DNAShapeReference.TILT, DNAShapeReference.SLIDE)).contains(shape)){ + end = numPredictions - 0; } else { - Roll.set(Roll.size() - 1, (Roll.get(Roll.size() - 1) + SCORES.get(4)) / 2); - Roll.add(SCORES.get(5)); + end = numPredictions - 1; } - } - } // Move through seq by window - - if (OUTPUT_TYPE[0]) { - if (y == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_M.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_M.print("\tNAME"); - } - // print domain - for (int z = 0; z < MGW.size(); z++) { - OUT_M.print("\t" + z); - } - OUT_M.println(); - } - // Initialize AVG storage object - AVG_MGW = new double[MGW.size()]; - } - // print matrix data and store avg data - AVG_MGW = printVals(BED_Coord.get(y), MGW, AVG_MGW, OUT_M); - } - if (OUTPUT_TYPE[1]) { - if (y == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_P.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_P.print("\tNAME"); + for (int z = 0; z < end; z++) { + if (end == 1){ + OUT_FILES.get(shape).print("\t" + 0); } - // print domain - for (int z = 0; z < PropT.size(); z++) { - OUT_P.print("\t" + z); + else{ + OUT_FILES.get(shape).print("\t" + domain[z]); } - OUT_P.println(); } - // Initialize AVG storage object - AVG_PropT = new double[PropT.size()]; + OUT_FILES.get(shape).println(); } - // print matrix data and store avg data - AVG_PropT = printVals(BED_Coord.get(y), PropT, AVG_PropT, OUT_P); + // Initialize AVG storage object + double[][] avg = new double[2][numPredictions + 1]; + Arrays.fill(avg[0], Double.NaN); + Arrays.fill(avg[1], Double.NaN); + AVG_ARRS.put(shape, avg); } - if (OUTPUT_TYPE[2]) { - if (y == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_H.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_H.print("\tNAME"); - } - // print domain - for (int z = 0; z < HelT.size(); z++) { - OUT_H.print("\t" + z); - } - OUT_H.println(); - } - // Initialize AVG storage object - AVG_HelT = new double[HelT.size()]; - } - // print matrix data and store avg data - AVG_HelT = printVals(BED_Coord.get(y), HelT, AVG_HelT, OUT_H); + int temporaryPredictions; + // Adjust domain to fit number of predictions + if (new ArrayList<>(Arrays.asList( DNAShapeReference.HELT, DNAShapeReference.ROLL, DNAShapeReference.RISE, + DNAShapeReference.SHIFT, DNAShapeReference.TILT, DNAShapeReference.SLIDE)).contains(shape)){ + temporaryPredictions = numPredictions + 1; + } else { + temporaryPredictions = numPredictions; } - if (OUTPUT_TYPE[3]) { - if (y == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_R.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_R.print("\tNAME"); - } - // print domain - for (int z = 0; z < Roll.size(); z++) { - OUT_R.print("\t" + z); - } - OUT_R.println(); - } - // Initialize AVG storage object - AVG_Roll = new double[Roll.size()]; - } - // print matrix data and store avg data - AVG_Roll = printVals(BED_Coord.get(y), Roll, AVG_Roll, OUT_R); + //Print values and save output as ArrayList + AVG_ARRS.put(shape, printVals(BED_Coord.get(y), PREDICTIONS.get(shape), AVG_ARRS.get(shape), OUT_FILES.get(shape), temporaryPredictions)); } - } // if seq contains 'N' + } // if seq contains 'N's + counter++; } catch (SAMException e) { - for (int p = 0; p < PS.length; p++) { - if (OUTPUT_TYPE[p] && PS[p] != null) { - PS[p].println("INVALID COORDINATE: " + BED_Coord.get(y).toString()); + if (PS != null) { + for (Integer shape: OUTPUT_TYPES){ + PS.get(shape).write(("INVALID COORDINATE: " + BED_Coord.get(y).toString() + "\n").getBytes(Charset.forName("UTF-8"))); } } } } - QUERY.close(); - if (OUT_M != null) { OUT_M.close(); } - if (OUT_P != null) { OUT_P.close(); } - if (OUT_H != null) { OUT_H.close(); } - if (OUT_R != null) { OUT_R.close(); } - - // Convert average and statistics to output tabs panes - if (OUTPUT_TYPE[0]) { - double[] DOMAIN_MGW = new double[AVG_MGW.length]; - int temp = (int) (((double) AVG_MGW.length / 2.0) + 0.5); - for (int z = 0; z < AVG_MGW.length; z++) { - DOMAIN_MGW[z] = (double) (temp - (AVG_MGW.length - z)); - AVG_MGW[z] /= BED_Coord.size(); - if (PS[0] != null) { - PS[0].println(DOMAIN_MGW[z] + "\t" + AVG_MGW[z]); - } - } - chart_M = CompositePlot.createCompositePlot(DOMAIN_MGW, AVG_MGW, NAME + " MGW"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_MGW-Composite.out")); - for (int z = 0; z < AVG_MGW.length; z++) { - COMPOSITE.print("\t" + DOMAIN_MGW[z]); - } - COMPOSITE.println(); - COMPOSITE.print(NAME + "MGW-Composite"); - for (int z = 0; z < AVG_MGW.length; z++) { - COMPOSITE.print("\t" + AVG_MGW[z]); - } - COMPOSITE.println(); + br.close(); + if (OUT_FILES.keySet().size() > 0){ + for (Integer shape: OUTPUT_TYPES){ + OUT_FILES.get(shape).close(); } } - if (OUTPUT_TYPE[1]) { - double[] DOMAIN_PropT = new double[AVG_PropT.length]; - int temp = (int) (((double) AVG_PropT.length / 2.0) + 0.5); - for (int z = 0; z < AVG_PropT.length; z++) { - DOMAIN_PropT[z] = (double) (temp - (AVG_PropT.length - z)); - AVG_PropT[z] /= BED_Coord.size(); - if (PS[1] != null) { - PS[1].println(DOMAIN_PropT[z] + "\t" + AVG_PropT[z]); - } + // Calculate averages based on total number of strand (mimics TagPileup) + for (int shape : OUTPUT_TYPES) { + double[] totals = AVG_ARRS.get(shape)[0]; + double[] counts = AVG_ARRS.get(shape)[1]; + int predictionsLength = 0; + for (int i = 0; i < totals.length && !Double.isNaN(totals[i]); i++){ + predictionsLength += 1; } - chart_P = CompositePlot.createCompositePlot(DOMAIN_PropT, AVG_PropT, NAME + " PropT"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_PropT-Composite.out")); - for (int z = 0; z < AVG_PropT.length; z++) { - COMPOSITE.print("\t" + DOMAIN_PropT[z]); - } - COMPOSITE.println(); - COMPOSITE.print(NAME + "PropT-Composite"); - for (int z = 0; z < AVG_PropT.length; z++) { - COMPOSITE.print("\t" + AVG_PropT[z]); + double[][] averages = new double[1][predictionsLength]; + for (int i = 0; i < averages[0].length; i++){ + if (!Double.isNaN(counts[i])){ + // Dividing by the count[i] would divide total by number of strands at that coord + // averages[0][i] = totals[i] / counts[i]; + averages[0][i] = totals[i] / counter; } - COMPOSITE.println(); } + AVG_ARRS.put(shape, averages); } - if (OUTPUT_TYPE[2]) { - double[] DOMAIN_HelT = new double[AVG_HelT.length]; - int temp = (int) (((double) AVG_HelT.length / 2.0) + 0.5); - for (int z = 0; z < AVG_HelT.length; z++) { - DOMAIN_HelT[z] = (double) (temp - (AVG_HelT.length - z)); - AVG_HelT[z] /= BED_Coord.size(); - if (PS[2] != null) { - PS[2].println(DOMAIN_HelT[z] + "\t" + AVG_HelT[z]); + // Output averages to composite files + if (OUTPUT_COMPOSITE){ + for (Integer shape: OUTPUT_TYPES){ + double[] scores = AVG_ARRS.get(shape)[0]; + temp = (int) (((double) (scores.length) / 2.0) + 0.5); + domain = new double[scores.length]; + for (int z = 0; z < scores.length; z++) { + domain[z] = (temp - (scores.length - z)); } - } - chart_H = CompositePlot.createCompositePlot(DOMAIN_HelT, AVG_HelT, NAME + " HelT"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_HelT-Composite.out")); - for (int z = 0; z < AVG_HelT.length; z++) { - COMPOSITE.print("\t" + DOMAIN_HelT[z]); + for (int z = 0; z < scores.length; z++) { + COMPOSITE_FILES.get(shape).print("\t" + domain[z]); } - COMPOSITE.println(); - COMPOSITE.print(NAME + "HelT-Composite"); - for (int z = 0; z < AVG_HelT.length; z++) { - COMPOSITE.print("\t" + AVG_HelT[z]); + COMPOSITE_FILES.get(shape).println(); + COMPOSITE_FILES.get(shape).print(NAME + "-" + DNAShapeReference.HEADERS[shape] + "-Composite"); + for (int z = 0; z < scores.length; z++){ + COMPOSITE_FILES.get(shape).print("\t" + FORMAT.format(scores[z])); } - COMPOSITE.println(); } - } - if (OUTPUT_TYPE[3]) { - double[] DOMAIN_Roll = new double[AVG_Roll.length]; - int temp = (int) (((double) AVG_Roll.length / 2.0) + 0.5); - for (int z = 0; z < AVG_Roll.length; z++) { - DOMAIN_Roll[z] = (double) (temp - (AVG_Roll.length - z)); - AVG_Roll[z] /= BED_Coord.size(); - if (PS[3] != null) { - PS[3].println(DOMAIN_Roll[z] + "\t" + AVG_Roll[z]); - } + for (Integer shape: OUTPUT_TYPES){ + COMPOSITE_FILES.get(shape).close(); } - chart_R = CompositePlot.createCompositePlot(DOMAIN_Roll, AVG_Roll, NAME + " Roll"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_Roll-Composite.out")); - for (int z = 0; z < AVG_Roll.length; z++) { - COMPOSITE.print("\t" + DOMAIN_Roll[z]); + } + // Output averages to GUI + if (PS != null){ + for (Integer shape: OUTPUT_TYPES){ + // Convert arraylist to array + double[] scores = AVG_ARRS.get(shape)[0]; + temp = (int) (((double) (scores.length) / 2.0) + 0.5); + domain = new double[scores.length]; + for (int z = 0; z < scores.length; z++) { + domain[z] = (temp - (scores.length - z)); } - COMPOSITE.println(); - COMPOSITE.print(NAME + "Roll-Composite"); - for (int z = 0; z < AVG_Roll.length; z++) { - COMPOSITE.print("\t" + AVG_Roll[z]); + for (int z = 0; z < scores.length; z++){ + PS.get(shape).write((domain[z] + "\t" + FORMAT.format(scores[z]) + "\n").getBytes(Charset.forName("UTF-8"))); } - COMPOSITE.println(); + // Create composite plot + CHARTS.put(shape, CompositePlot.createCompositePlot(domain, scores, NAME + " " + DNAShapeReference.HEADERS[shape])); } } - } + } /** - * Getter method for the swing component chart of the Minor Groove Width DNA - * shape type. - * - * @return the chart for Minor Groove Width + * Getter for specific chart based on shape ID + * @param shape shape to retrieve chart for + * @return the specific chart based on shape ID */ - public Component getChartM() { - return chart_M; + public Component getCharts(Integer shape){ + return CHARTS.get(shape); } /** - * Getter method for the swing component chart of the Propeller Twist DNA shape type. - * - * @return the chart for Propeller Twist + * Returns HashMap of all charts for all shapes + * @return HashMap of all charts for all shapes */ - public Component getChartP() { - return chart_P; + public HashMap getCharts(){ + return CHARTS; } /** - * Getter method for the swing component chart of the Helical Twist DNA shape - * type. - * - * @return the chart for Helical Twist - */ - public Component getChartH() { - return chart_H; - } - - /** - * Getter method for the swing component chart of the Roll DNA shape type. + * Initialize output PrintStream objects for each DNA shape as needed. * - * @return the chart for Roll + * @throws FileNotFoundException + * @throws IOException */ - public Component getChartR() { - return chart_R; + private void openOutputFiles() throws FileNotFoundException, IOException { + if (OUTBASENAME == null) { + OUTBASENAME = new File(ExtensionFileFilter.stripExtension(BED)); + } + // Open Output File + if (OUTPUT_MATRIX > 0) { + String SUFFIX = (OUTPUT_MATRIX==DNAShapefromBED.CDT ? ".cdt" : ".tab") + (GZIP_OUTPUT? ".gz": ""); + for (Integer shape: OUTPUT_TYPES){ + OUT_FILES.put(shape, GZipUtilities.makePrintStream(new File(OUTBASENAME + "_" + DNAShapeReference.HEADERS[shape] + SUFFIX), GZIP_OUTPUT)); + } + if (OUTPUT_COMPOSITE){ + for (Integer shape: OUTPUT_TYPES){ + COMPOSITE_FILES.put(shape, GZipUtilities.makePrintStream(new File(OUTBASENAME + "_" + DNAShapeReference.HEADERS[shape] + "-Composite" + SUFFIX), GZIP_OUTPUT)); + } + } + } } /** - * Getter method for average scores of each DNA shape type. + * Print a row of scores in a tab-delimited manner using the CDT format with the + * header string occupying the first two tokens (or "columns"). Each score is + * simultaneously added to the AVG array in the matching position (parallel + * arrays). * - * @param shapeType indicate shape type to return (0=MGW, 1=PropT, 2=HelT, 3=Roll). - * @return the array of shape scores + * @param header the string to print for the first two tab-delimited tokens + * preceeding the scores + * @param SCORES an array of scores to print to a line + * @param AVG an array with the same length as SCORES (if not longer) + * @param O destination to print the line to + * @param numPredictions Greatest number of predictions in output file + * @return SCORES that have been element-wise summed with AVG */ - public double[] getAvg(int shapeType) { - if (shapeType == 0) { - return AVG_MGW; - } else if (shapeType == 1) { - return AVG_PropT; - } else if (shapeType == 2) { - return AVG_HelT; - } else if (shapeType == 3) { - return AVG_Roll; - } else { - return null; + private double[][] printVals(BEDCoord b, List SCORES, double[][] AVG, PrintStream O, int numPredictions) { + // print header + if (O != null) { + O.print(b.getName()); + if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { + O.print("\t" + b.getName()); + } + } + // Calculate how many cells to skip on each side if the sequence is shorter than the longest sequence + int buffer = Math.round((numPredictions - SCORES.size()) / 2); + for (int z = 0; z < numPredictions - 1; z++) { + // Stopping and starting point for outputs. If number of predictions is even, the median of coordinate will be -0.5. If odd the median coordinate will be 0. + int stop = (SCORES.size() % 2 == 0)? numPredictions - buffer: numPredictions - buffer - 1; + int start = buffer; + int index = z - buffer; + // Print score if available or 'Nan'. Save output to AVG array + if (z >= start && z < stop && index < SCORES.size()){ + if (O != null) { O.print("\t" + FORMAT.format(SCORES.get(index))); } + if (Double.isNaN(AVG[0][z])){ + AVG[0][z] = SCORES.get(index); + AVG[1][z] = 1; + } else { + AVG[0][z] += SCORES.get(index); + AVG[1][z] += 1; + } + } else { + if (O != null) { O.print("\tNan"); }; + } } + // print new line + if (O != null) { O.println(); } + // return avg + return (AVG); } /** @@ -485,65 +430,4 @@ public ArrayList loadCoord(File INPUT) throws FileNotFoundException, I br.close(); return COORD; } - - /** - * Initialize output PrintStream objects for each DNA shape as needed. - * - * @throws FileNotFoundException - * @throws IOException - */ - private void openOutputFiles() throws FileNotFoundException, IOException { - if (OUTBASENAME == null) { - OUTBASENAME = new File(ExtensionFileFilter.stripExtension(BED)); - } - // Open Output File - if (OUTPUT_MATRIX > 0) { - String SUFFIX = (OUTPUT_MATRIX==DNAShapefromBED.CDT ? ".cdt" : ".tab") + (GZIP_OUTPUT? ".gz": ""); - if (OUTPUT_TYPE[0]) { - OUT_M = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_MGW" + SUFFIX), GZIP_OUTPUT); - } - if (OUTPUT_TYPE[1]) { - OUT_P = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_PropT" + SUFFIX), GZIP_OUTPUT); - } - if (OUTPUT_TYPE[2]) { - OUT_H = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_HelT" + SUFFIX), GZIP_OUTPUT); - } - if (OUTPUT_TYPE[3]) { - OUT_R = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_Roll" + SUFFIX), GZIP_OUTPUT); - } - } - } - - /** - * Print a row of scores in a tab-delimited manner using the CDT format with the - * BEDCoord name/id string occupying the first two tokens (or "columns"). Each - * score is simultaneously added to the AVG array in the matching position - * (parallel arrays). - * - * @param b the coordinate object whose name/id attribute is used for the - * header - * @param SCORES an array of scores to print to a line - * @param AVG an array with the same length as SCORES (if not longer) - * @param O destination to print the line to - * @return SCORES that have been element-wise summed with AVG - */ - private double[] printVals(BEDCoord b, List SCORES, double[] AVG, PrintStream O) { - // print header - if (O != null) { - O.print(b.getName()); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - O.print("\t" + b.getName()); - } - } - for (int z = 0; z < SCORES.size(); z++) { - // print values - if (O != null) { O.print("\t" + SCORES.get(z)); } - // build avg - AVG[z] += SCORES.get(z); - } - // print new line - if (O != null) { O.println(); } - // return avg - return (AVG); - } } \ No newline at end of file diff --git a/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromFASTA.java b/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromFASTA.java index 6dc733d1..f220ff69 100644 --- a/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromFASTA.java +++ b/src/main/java/scriptmanager/scripts/Sequence_Analysis/DNAShapefromFASTA.java @@ -6,13 +6,19 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintStream; +import java.nio.charset.Charset; import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; +import java.text.DecimalFormat; import scriptmanager.charts.CompositePlot; +import scriptmanager.objects.CustomOutputStream; +import scriptmanager.objects.Exceptions.OptionException; import scriptmanager.objects.Exceptions.ScriptManagerException; import scriptmanager.util.GZipUtilities; import scriptmanager.util.DNAShapeReference; @@ -32,44 +38,39 @@ public class DNAShapefromFASTA { private File FASTA = null; private File OUTBASENAME = null; - private boolean[] OUTPUT_TYPE = null; private boolean OUTPUT_COMPOSITE = false; private short OUTPUT_MATRIX = 0; private boolean GZIP_OUTPUT; - private PrintStream OUT_M = null; - private PrintStream OUT_P = null; - private PrintStream OUT_H = null; - private PrintStream OUT_R = null; - - private PrintStream[] PS = null; + private HashMap OUT_FILES; + private HashMap COMPOSITE_FILES; + private HashMap> PREDICTIONS; + private HashMap AVG_ARRS; + private ArrayList OUTPUT_TYPES; + private HashMap PS = null; static Map> STRUCTURE = null; - - double[] AVG_MGW = null; - double[] AVG_PropT = null; - double[] AVG_HelT = null; - double[] AVG_Roll = null; - - Component chart_M = null; - Component chart_P = null; - Component chart_H = null; - Component chart_R = null; + private HashMap CHARTS = null; + private DecimalFormat FORMAT = new DecimalFormat("##.00"); public final static short NO_MATRIX = 0; public final static short TAB = 1; public final static short CDT = 2; - public DNAShapefromFASTA(File input, File out, boolean[] type, boolean outputComposite, short outputMatrix, boolean gzOutput) { + public DNAShapefromFASTA(File input, File out, ArrayList type, boolean outputComposite, short outputMatrix, boolean gzOutput) { FASTA = input; OUTBASENAME = out; - OUTPUT_TYPE = type; + OUTPUT_TYPES = type; OUTPUT_COMPOSITE = outputComposite; OUTPUT_MATRIX = outputMatrix; GZIP_OUTPUT = gzOutput; - PS = new PrintStream[] { null, null, null, null }; + PS = null; STRUCTURE = DNAShapeReference.InitializeStructure(); + OUT_FILES = new HashMap<>(); + COMPOSITE_FILES = new HashMap<>(); + AVG_ARRS = new HashMap<>(); + PREDICTIONS = new HashMap<>(); } /** @@ -78,26 +79,29 @@ public DNAShapefromFASTA(File input, File out, boolean[] type, boolean outputCom * @param input the FASTA-formatted sequence to calculate shape for * @param out the output file name base (to add * _<shapetype>.cdt suffix to) - * @param type a four-element boolean list for specifying shape type - * to output (no enforcement on size) + * @param type An ArrayList with integers corresponding to shape types stored in {@link DNAShapeReference} * @param outputComposite whether to output a composite average output * @param outputMatrix value encoding not to write output matrix data, write * matrix in CDT format, and write matrix in tab format * @param gzOutput whether to output compressed file - * @param ps list of four PrintStream objects corresponding to each - * shape type (for GUI) + * @param ps HashMap of PrintStream objects corresponding to each shape type (for GUI) * @throws IOException Invalid file or parameters */ - public DNAShapefromFASTA(File input, File out, boolean[] type, boolean outputComposite, short outputMatrix, boolean gzOutput, PrintStream[] ps) { + public DNAShapefromFASTA(File input, File out, ArrayList type, boolean outputComposite, short outputMatrix, boolean gzOutput, HashMap ps) { FASTA = input; OUTBASENAME = out; - OUTPUT_TYPE = type; + OUTPUT_TYPES = type; OUTPUT_COMPOSITE = outputComposite; OUTPUT_MATRIX = outputMatrix; GZIP_OUTPUT = gzOutput; PS = ps; STRUCTURE = DNAShapeReference.InitializeStructure(); + OUT_FILES = new HashMap<>(); + COMPOSITE_FILES = new HashMap<>(); + AVG_ARRS = new HashMap<>(); + PREDICTIONS = new HashMap<>(); + CHARTS = new HashMap<>(); } /** @@ -108,145 +112,92 @@ public DNAShapefromFASTA(File input, File out, boolean[] type, boolean outputCom * @throws FileNotFoundException * @throws IOException Invalid file or parameters * @throws InterruptedException Thrown when more than one script is run at the same time + * @throws OptionException */ - public void run() throws ScriptManagerException, FileNotFoundException, IOException, InterruptedException { + public void run() throws ScriptManagerException, FileNotFoundException, IOException, InterruptedException, OptionException { + // Print time to ScriptManager gui String NAME = ExtensionFileFilter.stripExtension(FASTA); String time = new Timestamp(new Date().getTime()).toString(); - for (int p = 0; p < PS.length; p++) { - if (OUTPUT_TYPE[p] && PS[p] != null) { - PS[p].println(time + "\n" + NAME); + if (PS != null){ + for (Integer shape: OUTPUT_TYPES){ + PS.get(shape).write((time + "\n" + NAME + "\n").getBytes(Charset.forName("UTF-8"))); } } openOutputFiles(); - - int counter = 0; + // Find longest sequence in file String line; - // Check if file is gzipped and instantiate appropriate BufferedReader + int longestSequence = -1; BufferedReader br = GZipUtilities.makeReader(FASTA); + while ((line = br.readLine()) != null) { + if (!line.contains(">")) { + longestSequence = Math.max(longestSequence, line.length()); + } + } + br.close(); + // Create coordinate domain + int numPredictions = (1 + (int)(longestSequence - 4)); + double[] domain = new double[numPredictions]; + int temp = (int) (((double) (numPredictions) / 2.0) + 0.5); + for (int z = 0; z < numPredictions; z++) { + domain[z] = (temp - (numPredictions - z)); + } + + int counter = 0; + br = GZipUtilities.makeReader(FASTA); while ((line = br.readLine()) != null) { String HEADER = line; if (HEADER.contains(">")) { HEADER = HEADER.substring(1, HEADER.length()); String seq = br.readLine(); if (!seq.contains("N")) { - // Populate array for each FASTA line - List MGW = new ArrayList(); - List PropT = new ArrayList(); - List HelT = new ArrayList(); - List Roll = new ArrayList(); - for (int z = 0; z < seq.length() - 4; z++) { - String key = seq.substring(z, z + 5); - List SCORES = STRUCTURE.get(key); - if (OUTPUT_TYPE[0]) { - MGW.add(SCORES.get(0)); - } - if (OUTPUT_TYPE[1]) { - PropT.add(SCORES.get(1)); - } - if (OUTPUT_TYPE[2]) { - if (z == 0) { - HelT.add(SCORES.get(2)); - HelT.add(SCORES.get(3)); - } else { - HelT.set(HelT.size() - 1, (HelT.get(HelT.size() - 1) + SCORES.get(2)) / 2); - HelT.add(SCORES.get(3)); - } - } - if (OUTPUT_TYPE[3]) { - if (z == 0) { - Roll.add(SCORES.get(4)); - Roll.add(SCORES.get(5)); - } else { - Roll.set(Roll.size() - 1, (Roll.get(Roll.size() - 1) + SCORES.get(4)) / 2); - Roll.add(SCORES.get(5)); - } - } + // Populate array for each shape type + for (Integer shape: OUTPUT_TYPES){ + PREDICTIONS.put(shape, DNAShapeReference.seqToShape(shape, seq)); } - - if (OUTPUT_TYPE[0]) { + for (Integer shape: OUTPUT_TYPES){ if (counter == 0) { // Don't print matrix info if user specifies no matrix output if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { // print header - OUT_M.print("YORF"); + OUT_FILES.get(shape).print("YORF"); if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_M.print("\tNAME"); + OUT_FILES.get(shape).print("\tNAME"); } - // print domain - for (int z = 0; z < MGW.size(); z++) { - OUT_M.print("\t" + z); + // Adjust domain to fit number of predictions + int end; + if (new ArrayList<>(Arrays.asList( DNAShapeReference.HELT, DNAShapeReference.ROLL, DNAShapeReference.RISE, + DNAShapeReference.SHIFT, DNAShapeReference.TILT, DNAShapeReference.SLIDE)).contains(shape)){ + end = numPredictions - 0; + } else { + end = numPredictions - 1; } - OUT_M.println(); - } - // Initialize AVG storage object - AVG_MGW = new double[MGW.size()]; - } - // print matrix data and store avg data - AVG_MGW = printVals(HEADER, MGW, AVG_MGW, OUT_M); - } - if (OUTPUT_TYPE[1]) { - if (counter == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_P.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_P.print("\tNAME"); - } - // print domain - for (int z = 0; z < PropT.size(); z++) { - OUT_P.print("\t" + z); + for (int z = 0; z < end; z++) { + if (end == 1){ + OUT_FILES.get(shape).print("\t" + 0); + } + else{ + OUT_FILES.get(shape).print("\t" + domain[z]); + } } - OUT_P.println(); + OUT_FILES.get(shape).println(); } // Initialize AVG storage object - AVG_PropT = new double[PropT.size()]; + double[][] avg = new double[2][numPredictions + 1]; + Arrays.fill(avg[0], Double.NaN); + Arrays.fill(avg[1], Double.NaN); + AVG_ARRS.put(shape, avg); } - // print matrix data and store avg data - AVG_PropT = printVals(HEADER, PropT, AVG_PropT, OUT_P); - } - if (OUTPUT_TYPE[2]) { - if (counter == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_H.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_H.print("\tNAME"); - } - // print domain - for (int z = 0; z < HelT.size(); z++) { - OUT_H.print("\t" + z); - } - OUT_H.println(); - } - // Initialize AVG storage object - AVG_HelT = new double[HelT.size()]; + int temporaryPredictions; + // Adjust domain to fit number of predictions + if (new ArrayList<>(Arrays.asList( DNAShapeReference.HELT, DNAShapeReference.ROLL, DNAShapeReference.RISE, + DNAShapeReference.SHIFT, DNAShapeReference.TILT, DNAShapeReference.SLIDE)).contains(shape)){ + temporaryPredictions = numPredictions + 1; + } else { + temporaryPredictions = numPredictions; } - // print matrix data and store avg data - AVG_HelT = printVals(HEADER, HelT, AVG_HelT, OUT_H); - } - if (OUTPUT_TYPE[3]) { - if (counter == 0) { - // Don't print matrix info if user specifies no matrix output - if (OUTPUT_MATRIX != DNAShapefromBED.NO_MATRIX) { - // print header - OUT_R.print("YORF"); - if (OUTPUT_MATRIX == DNAShapefromBED.CDT) { - OUT_R.print("\tNAME"); - } - // print domain - for (int z = 0; z < Roll.size(); z++) { - OUT_R.print("\t" + z); - } - OUT_R.println(); - } - // Initialize AVG storage object - AVG_Roll = new double[Roll.size()]; + //Print values and save output as ArrayList + AVG_ARRS.put(shape, printVals(HEADER, PREDICTIONS.get(shape), AVG_ARRS.get(shape), OUT_FILES.get(shape), temporaryPredictions)); } - // print matrix data and store avg data - AVG_Roll = printVals(HEADER, Roll, AVG_Roll, OUT_R); - } } // if seq contains 'N's counter++; } else { @@ -254,170 +205,85 @@ public void run() throws ScriptManagerException, FileNotFoundException, IOExcept } } br.close(); - if (OUT_M != null) { OUT_M.close(); } - if (OUT_P != null) { OUT_P.close(); } - if (OUT_H != null) { OUT_H.close(); } - if (OUT_R != null) { OUT_R.close(); } - - // Convert average and statistics to output tabs panes - if (OUTPUT_TYPE[0]) { - double[] DOMAIN_MGW = new double[AVG_MGW.length]; - int temp = (int) (((double) AVG_MGW.length / 2.0) + 0.5); - for (int z = 0; z < AVG_MGW.length; z++) { - DOMAIN_MGW[z] = (double) (temp - (AVG_MGW.length - z)); - AVG_MGW[z] /= counter; - if (PS[0] != null) { - PS[0].println(DOMAIN_MGW[z] + "\t" + AVG_MGW[z]); - } - } - chart_M = CompositePlot.createCompositePlot(DOMAIN_MGW, AVG_MGW, NAME + " MGW"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_MGW-Composite.out")); - for (int z = 0; z < AVG_MGW.length; z++) { - COMPOSITE.print("\t" + DOMAIN_MGW[z]); - } - COMPOSITE.println(); - COMPOSITE.print(NAME + "MGW-Composite"); - for (int z = 0; z < AVG_MGW.length; z++) { - COMPOSITE.print("\t" + AVG_MGW[z]); - } - COMPOSITE.println(); + if (OUT_FILES.keySet().size() > 0){ + for (Integer shape: OUTPUT_TYPES){ + OUT_FILES.get(shape).close(); } } - if (OUTPUT_TYPE[1]) { - double[] DOMAIN_PropT = new double[AVG_PropT.length]; - int temp = (int) (((double) AVG_PropT.length / 2.0) + 0.5); - for (int z = 0; z < AVG_PropT.length; z++) { - DOMAIN_PropT[z] = (double) (temp - (AVG_PropT.length - z)); - AVG_PropT[z] /= counter; - if (PS[1] != null) { - PS[1].println(DOMAIN_PropT[z] + "\t" + AVG_PropT[z]); - } + // Calculate averages based on total number of strand (mimics TagPileup) + for (int shape : OUTPUT_TYPES) { + double[] totals = AVG_ARRS.get(shape)[0]; + double[] counts = AVG_ARRS.get(shape)[1]; + int predictionsLength = 0; + for (int i = 0; i < totals.length && !Double.isNaN(totals[i]); i++){ + predictionsLength += 1; } - chart_P = CompositePlot.createCompositePlot(DOMAIN_PropT, AVG_PropT, NAME + " PropT"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_PropT-Composite.out")); - for (int z = 0; z < AVG_PropT.length; z++) { - COMPOSITE.print("\t" + DOMAIN_PropT[z]); + double[][] averages = new double[1][predictionsLength]; + for (int i = 0; i < averages[0].length; i++){ + if (!Double.isNaN(counts[i])){ + // Dividing by the count[i] would divide total by number of strands at that coord + // averages[0][i] = totals[i] / counts[i]; + averages[0][i] = totals[i] / counter; } - COMPOSITE.println(); - COMPOSITE.print(NAME + "PropT-Composite"); - for (int z = 0; z < AVG_PropT.length; z++) { - COMPOSITE.print("\t" + AVG_PropT[z]); - } - COMPOSITE.println(); } + AVG_ARRS.put(shape, averages); } - if (OUTPUT_TYPE[2]) { - double[] DOMAIN_HelT = new double[AVG_HelT.length]; - int temp = (int) (((double) AVG_HelT.length / 2.0) + 0.5); - for (int z = 0; z < AVG_HelT.length; z++) { - DOMAIN_HelT[z] = (double) (temp - (AVG_HelT.length - z)); - AVG_HelT[z] /= counter; - if (PS[2] != null) { - PS[2].println(DOMAIN_HelT[z] + "\t" + AVG_HelT[z]); + // Output averages to composite files + if (OUTPUT_COMPOSITE){ + for (Integer shape: OUTPUT_TYPES){ + double[] scores = AVG_ARRS.get(shape)[0]; + temp = (int) (((double) scores.length / 2.0) + 0.5); + domain = new double[scores.length]; + for (int z = 0; z < scores.length; z++) { + domain[z] = (temp - (scores.length - z)); } - } - chart_H = CompositePlot.createCompositePlot(DOMAIN_HelT, AVG_HelT, NAME + " HelT"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_HelT-Composite.out")); - for (int z = 0; z < AVG_HelT.length; z++) { - COMPOSITE.print("\t" + DOMAIN_HelT[z]); + for (int z = 0; z < scores.length; z++) { + COMPOSITE_FILES.get(shape).print("\t" + domain[z]); } - COMPOSITE.println(); - COMPOSITE.print(NAME + "HelT-Composite"); - for (int z = 0; z < AVG_HelT.length; z++) { - COMPOSITE.print("\t" + AVG_HelT[z]); + COMPOSITE_FILES.get(shape).println(); + COMPOSITE_FILES.get(shape).print(NAME + "-" + DNAShapeReference.HEADERS[shape] + "-Composite"); + for (int z = 0; z < scores.length; z++){ + COMPOSITE_FILES.get(shape).print("\t" + FORMAT.format(scores[z])); } - COMPOSITE.println(); } - } - if (OUTPUT_TYPE[3]) { - double[] DOMAIN_Roll = new double[AVG_Roll.length]; - int temp = (int) (((double) AVG_Roll.length / 2.0) + 0.5); - for (int z = 0; z < AVG_Roll.length; z++) { - DOMAIN_Roll[z] = (double) (temp - (AVG_Roll.length - z)); - AVG_Roll[z] /= counter; - if (PS[3] != null) { - PS[3].println(DOMAIN_Roll[z] + "\t" + AVG_Roll[z]); - } + for (Integer shape: OUTPUT_TYPES){ + COMPOSITE_FILES.get(shape).close(); } - chart_R = CompositePlot.createCompositePlot(DOMAIN_Roll, AVG_Roll, NAME + " Roll"); - // Write output composite file - if (OUTPUT_COMPOSITE) { - PrintStream COMPOSITE = new PrintStream(new File(OUTBASENAME + "_Roll-Composite.out")); - for (int z = 0; z < AVG_Roll.length; z++) { - COMPOSITE.print("\t" + DOMAIN_Roll[z]); + } + // Output averages to GUI + if (PS != null){ + for (Integer shape: OUTPUT_TYPES){ + // Convert arraylist to array + double[] scores = AVG_ARRS.get(shape)[0]; + temp = (int) (((double) (scores.length) / 2.0) + 0.5); + domain = new double[scores.length]; + for (int z = 0; z < scores.length; z++) { + domain[z] = (temp - (scores.length - z)); } - COMPOSITE.println(); - COMPOSITE.print(NAME + "Roll-Composite"); - for (int z = 0; z < AVG_Roll.length; z++) { - COMPOSITE.print("\t" + AVG_Roll[z]); + for (int z = 0; z < scores.length; z++){ + PS.get(shape).write((domain[z] + "\t" + FORMAT.format(scores[z]) + "\n").getBytes(Charset.forName("UTF-8"))); } - COMPOSITE.println(); + // Create composite plot + CHARTS.put(shape, CompositePlot.createCompositePlot(domain, scores, NAME + " " + DNAShapeReference.HEADERS[shape])); } } - } - - /** - * Getter method for the swing component chart of the Minor Groove Width DNA - * shape type. - * - * @return the chart for Minor Groove Width - */ - public Component getChartM() { - return chart_M; - } - - /** - * Getter method for the swing component chart of the Propeller Twist DNA shape type. - * - * @return the chart for Propeller Twist - */ - public Component getChartP() { - return chart_P; - } - - /** - * Getter method for the swing component chart of the Helical Twist DNA shape - * type. - * - * @return the chart for Helical Twist - */ - public Component getChartH() { - return chart_H; - } + } /** - * Getter method for the swing component chart of the Roll DNA shape type. - * - * @return the chart for Roll + * Getter for specific chart based on shape ID + * @param shape shape to retrieve chart for + * @return the specific chart based on shape ID */ - public Component getChartR() { - return chart_R; + public Component getCharts(Integer shape){ + return CHARTS.get(shape); } /** - * Getter method for average scores of each DNA shape type. - * - * @param shapeType indicate shape type to return (0=MGW, 1=PropT, 2=HelT, 3=Roll). - * @return the array of shape scores + * Returns HashMap of all charts for all shapes + * @return HashMap of all charts for all shapes */ - public double[] getAvg(int shapeType) { - if (shapeType == 0) { - return AVG_MGW; - } else if (shapeType == 1) { - return AVG_PropT; - } else if (shapeType == 2) { - return AVG_HelT; - } else if (shapeType == 3) { - return AVG_Roll; - } else { - return null; - } + public HashMap getCharts(){ + return CHARTS; } /** @@ -433,17 +299,13 @@ private void openOutputFiles() throws FileNotFoundException, IOException { // Open Output File if (OUTPUT_MATRIX > 0) { String SUFFIX = (OUTPUT_MATRIX==DNAShapefromBED.CDT ? ".cdt" : ".tab") + (GZIP_OUTPUT? ".gz": ""); - if (OUTPUT_TYPE[0]) { - OUT_M = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_MGW" + SUFFIX), GZIP_OUTPUT); - } - if (OUTPUT_TYPE[1]) { - OUT_P = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_PropT" + SUFFIX), GZIP_OUTPUT); + for (Integer shape: OUTPUT_TYPES){ + OUT_FILES.put(shape, GZipUtilities.makePrintStream(new File(OUTBASENAME + "_" + DNAShapeReference.HEADERS[shape] + SUFFIX), GZIP_OUTPUT)); } - if (OUTPUT_TYPE[2]) { - OUT_H = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_HelT" + SUFFIX), GZIP_OUTPUT); - } - if (OUTPUT_TYPE[3]) { - OUT_R = GZipUtilities.makePrintStream(new File(OUTBASENAME + "_Roll" + SUFFIX), GZIP_OUTPUT); + if (OUTPUT_COMPOSITE){ + for (Integer shape: OUTPUT_TYPES){ + COMPOSITE_FILES.put(shape, GZipUtilities.makePrintStream(new File(OUTBASENAME + "_" + DNAShapeReference.HEADERS[shape] + "-Composite" + SUFFIX), GZIP_OUTPUT)); + } } } } @@ -459,9 +321,10 @@ private void openOutputFiles() throws FileNotFoundException, IOException { * @param SCORES an array of scores to print to a line * @param AVG an array with the same length as SCORES (if not longer) * @param O destination to print the line to + * @param numPredictions Greatest number of predictions in output file * @return SCORES that have been element-wise summed with AVG */ - private double[] printVals(String header, List SCORES, double[] AVG, PrintStream O) { + private double[][] printVals(String header, List SCORES, double[][] AVG, PrintStream O, int numPredictions) { // print header if (O != null) { O.print(header); @@ -469,11 +332,26 @@ private double[] printVals(String header, List SCORES, double[] AVG, Pri O.print("\t" + header); } } - for (int z = 0; z < SCORES.size(); z++) { - // print values - if (O != null) { O.print("\t" + SCORES.get(z)); } - // build avg - AVG[z] += SCORES.get(z); + // Calculate how many cells to skip on each side if the sequence is shorter than the longest sequence + int buffer = Math.round((numPredictions - SCORES.size()) / 2); + for (int z = 0; z < numPredictions - 1; z++) { + // Stopping and starting point for outputs. If number of predictions is even, the median of coordinate will be -0.5. If odd the median coordinate will be 0. + int stop = (SCORES.size() % 2 == 0)? numPredictions - buffer: numPredictions - buffer - 1; + int start = buffer; + int index = z - buffer; + // Print score if available or 'Nan'. Save output to AVG array + if (z >= start && z < stop && index < SCORES.size()){ + if (O != null) { O.print("\t" + FORMAT.format(SCORES.get(index))); } + if (Double.isNaN(AVG[0][z])){ + AVG[0][z] = SCORES.get(index); + AVG[1][z] = 1; + } else { + AVG[0][z] += SCORES.get(index); + AVG[1][z] += 1; + } + } else { + if (O != null) { O.print("\tNan"); }; + } } // print new line if (O != null) { O.println(); } diff --git a/src/main/java/scriptmanager/scripts/Sequence_Analysis/FASTAExtract.java b/src/main/java/scriptmanager/scripts/Sequence_Analysis/FASTAExtract.java index c9d9dc2e..e6ab084c 100644 --- a/src/main/java/scriptmanager/scripts/Sequence_Analysis/FASTAExtract.java +++ b/src/main/java/scriptmanager/scripts/Sequence_Analysis/FASTAExtract.java @@ -1,4 +1,4 @@ -package scriptmanager.scripts.Sequence_Analysis; + package scriptmanager.scripts.Sequence_Analysis; import htsjdk.samtools.SAMException; import htsjdk.samtools.reference.FastaSequenceIndexCreator; diff --git a/src/main/java/scriptmanager/util/DNAShapeReference.java b/src/main/java/scriptmanager/util/DNAShapeReference.java index f03f30a2..42d26033 100644 --- a/src/main/java/scriptmanager/util/DNAShapeReference.java +++ b/src/main/java/scriptmanager/util/DNAShapeReference.java @@ -5,6 +5,8 @@ import java.util.List; import java.util.Map; +import scriptmanager.objects.Exceptions.OptionException; + /** * This class stores reference collections on DNA shape as constants for tools * in the scripts package. @@ -14,6 +16,121 @@ * @see scriptmanager.scripts.Sequence_Analysis.DNAShapefromFASTA */ public final class DNAShapeReference { + + private static HashMap> STRUCTURE; + + final public static int MGW = 0; + final public static int PROPT = 1; + final public static int HELT = 2; + final public static int ROLL = 3; + final public static int EP = 4; + final public static int STRETCH = 5; + final public static int BUCKLE = 6; + final public static int SHEAR = 7; + final public static int OPENING = 8; + final public static int STAGGER = 9; + final public static int TILT = 10; + final public static int SLIDE = 11; + final public static int RISE = 12; + final public static int SHIFT = 13; + final public static String[] HEADERS = new String[] { "MGW", "PropT", "HelT", "Roll", "EP", "Stretch", "Buckle", "Shear", + "Opening", "Stagger", "Tilt", "Slide", "Rise", "Shift"}; + + public static ArrayList seqToShape(int shapeType, String seq) throws OptionException { + ArrayList shape = new ArrayList(seq.length() - 4); + + // Iterate through sequence with kmers + for (int z = 0; z < seq.length() - 4; z++) { + String key = seq.substring(z, z + 5); + List SCORES = STRUCTURE.get(key); + + switch (shapeType) { + case DNAShapeReference.MGW: + shape.add(SCORES.get(0)); + break; + case DNAShapeReference.PROPT: + shape.add(SCORES.get(1)); + break; + case DNAShapeReference.HELT: + if (z == 0) { + shape.add(SCORES.get(2)); + shape.add(SCORES.get(3)); + } else { + shape.set(shape.size() - 1, (shape.get(shape.size() - 1) + SCORES.get(2)) / 2); + shape.add(SCORES.get(3)); + } + break; + case DNAShapeReference.ROLL: + if (z == 0) { + shape.add(SCORES.get(4)); + shape.add(SCORES.get(5)); + } else { + shape.set(shape.size() - 1, (shape.get(shape.size() - 1) + SCORES.get(4)) / 2); + shape.add(SCORES.get(5)); + } + break; + case DNAShapeReference.EP: + shape.add(SCORES.get(6)); + break; + case DNAShapeReference.STRETCH: + shape.add(SCORES.get(7)); + break; + case DNAShapeReference.BUCKLE: + shape.add(SCORES.get(8)); + break; + case DNAShapeReference.SHEAR: + shape.add(SCORES.get(9)); + break; + case DNAShapeReference.OPENING: + shape.add(SCORES.get(10)); + break; + case DNAShapeReference.STAGGER: + shape.add(SCORES.get(11)); + break; + case DNAShapeReference.TILT: + if (z == 0) { + shape.add(SCORES.get(12)); + shape.add(SCORES.get(13)); + } else { + shape.set(shape.size() - 1, (shape.get(shape.size() - 1) + SCORES.get(12)) / 2); + shape.add(SCORES.get(13)); + } + break; + case DNAShapeReference.SLIDE: + if (z == 0) { + shape.add(SCORES.get(14)); + shape.add(SCORES.get(15)); + } else { + shape.set(shape.size() - 1, (shape.get(shape.size() - 1) + SCORES.get(14)) / 2); + shape.add(SCORES.get(15)); + } + break; + case DNAShapeReference.RISE: + if (z == 0) { + shape.add(SCORES.get(16)); + shape.add(SCORES.get(17)); + } else { + shape.set(shape.size() - 1, (shape.get(shape.size() - 1) + SCORES.get(16)) / 2); + shape.add(SCORES.get(17)); + } + break; + case DNAShapeReference.SHIFT: + if (z == 0) { + shape.add(SCORES.get(18)); + shape.add(SCORES.get(19)); + } else { + shape.set(shape.size() - 1, (shape.get(shape.size() - 1) + SCORES.get(18)) / 2); + shape.add(SCORES.get(19)); + } + break; + default: + throw new OptionException("Unrecognized DNA shape type: " + shapeType); + } + } + return shape; + } + + /** * A collection of 5-mers DNA strings with a list of constants that describe * DNAshape assigned to each based on the Rohs Lab 2013 paper (> InitializeStructure() { - Map> STRUCTURE = new HashMap>(); + STRUCTURE = new HashMap>(); /* - #Seq MGW PropT HelT-1 HelT-2 Roll-1 Roll-2 + #Seq MGW PropT HelT-1 HelT-2 Roll-1 Roll-2 EP Stretch Buckle Shear Opening Stagger Tilt-1 Tilt-2 Slide-1 Slide-2 Rise-1 Rise-2 Shift-1 Shift-2 */ - STRUCTURE.put("AAAAA", new ArrayList() {{add(3.38); add(-16.51); add(37.74); add(38.01); add(-5.05); add(-5.09); }} ); - STRUCTURE.put("AAAAT", new ArrayList() {{add(3.63); add(-14.89); add(36.93); add(37.68); add(-3.56); add(-5.12); }} ); - STRUCTURE.put("AAAAG", new ArrayList() {{add(3.68); add(-14.68); add(37.02); add(37.18); add(-4.23); add(-6.47); }} ); - STRUCTURE.put("AAAAC", new ArrayList() {{add(4.05); add(-14.47); add(37.13); add(36.95); add(-3.62); add(-4.8); }} ); - STRUCTURE.put("AAATA", new ArrayList() {{add(3.79); add(-12.63); add(37.22); add(33.85); add(-3.91); add(-6.42); }} ); - STRUCTURE.put("AAATT", new ArrayList() {{add(2.85); add(-14.95); add(37.52); add(35.11); add(-5.0); add(-8.57); }} ); - STRUCTURE.put("AAATG", new ArrayList() {{add(3.84); add(-11.76); add(36.86); add(33.42); add(-4.21); add(-7.0); }} ); - STRUCTURE.put("AAATC", new ArrayList() {{add(4.12); add(-12.27); add(36.55); add(33.42); add(-2.43); add(-5.36); }} ); - STRUCTURE.put("AAAGA", new ArrayList() {{add(4.02); add(-10.71); add(36.69); add(33.18); add(-4.76); add(-3.21); }} ); - STRUCTURE.put("AAAGT", new ArrayList() {{add(3.35); add(-11.68); add(36.93); add(33.88); add(-6.36); add(-4.78); }} ); - STRUCTURE.put("AAAGG", new ArrayList() {{add(4.05); add(-9.21); add(35.88); add(32.79); add(-4.8); add(-5.06); }} ); - STRUCTURE.put("AAAGC", new ArrayList() {{add(4.03); add(-10.58); add(36.56); add(32.81); add(-5.07); add(-3.95); }} ); - STRUCTURE.put("AAACA", new ArrayList() {{add(4.65); add(-13.05); add(36.59); add(35.22); add(-2.98); add(-2.89); }} ); - STRUCTURE.put("AAACT", new ArrayList() {{add(3.85); add(-12.78); add(35.86); add(36.86); add(-4.3); add(-5.49); }} ); - STRUCTURE.put("AAACG", new ArrayList() {{add(4.43); add(-13.15); add(36.57); add(35.48); add(-2.94); add(-3.27); }} ); - STRUCTURE.put("AAACC", new ArrayList() {{add(4.06); add(-12.41); add(36.34); add(36.2); add(-3.75); add(-4.65); }} ); - STRUCTURE.put("AATAA", new ArrayList() {{add(5.53); add(-9.65); add(32.44); add(34.83); add(-3.91); add(8.21); }} ); - STRUCTURE.put("AATAT", new ArrayList() {{add(4.8); add(-10.43); add(33.17); add(35.25); add(-5.48); add(6.33); }} ); - STRUCTURE.put("AATAG", new ArrayList() {{add(4.65); add(-11.61); add(33.54); add(35.89); add(-5.98); add(3.47); }} ); - STRUCTURE.put("AATAC", new ArrayList() {{add(5.3); add(-10.45); add(32.78); add(34.79); add(-4.27); add(6.24); }} ); - STRUCTURE.put("AATTA", new ArrayList() {{add(4.36); add(-12.2); add(33.31); add(35.92); add(-5.21); add(-2.38); }} ); - STRUCTURE.put("AATTT", new ArrayList() {{add(2.85); add(-14.95); add(35.11); add(37.52); add(-8.57); add(-5.0); }} ); - STRUCTURE.put("AATTG", new ArrayList() {{add(4.24); add(-11.93); add(33.37); add(35.62); add(-5.32); add(-2.97); }} ); - STRUCTURE.put("AATTC", new ArrayList() {{add(3.75); add(-11.18); add(33.75); add(36.17); add(-6.49); add(-3.59); }} ); - STRUCTURE.put("AATGA", new ArrayList() {{add(4.46); add(-9.02); add(32.87); add(34.98); add(-6.08); add(3.8); }} ); - STRUCTURE.put("AATGT", new ArrayList() {{add(4.27); add(-10.82); add(33.25); add(36.13); add(-6.17); add(4.78); }} ); - STRUCTURE.put("AATGG", new ArrayList() {{add(5.08); add(-8.98); add(32.12); add(34.87); add(-4.16); add(3.6); }} ); - STRUCTURE.put("AATGC", new ArrayList() {{add(4.89); add(-9.59); add(32.67); add(35.25); add(-5.22); add(3.59); }} ); - STRUCTURE.put("AATCA", new ArrayList() {{add(4.46); add(-9.91); add(33.01); add(36.14); add(-4.75); add(-1.08); }} ); - STRUCTURE.put("AATCT", new ArrayList() {{add(3.75); add(-10.31); add(33.3); add(37.53); add(-6.11); add(-2.71); }} ); - STRUCTURE.put("AATCG", new ArrayList() {{add(4.56); add(-9.51); add(32.89); add(36.19); add(-4.9); add(-0.8); }} ); - STRUCTURE.put("AATCC", new ArrayList() {{add(4.19); add(-9.67); add(33.31); add(36.57); add(-5.81); add(-0.9); }} ); - STRUCTURE.put("AAGAA", new ArrayList() {{add(4.8); add(-3.46); add(32.3); add(36.52); add(-1.79); add(-0.63); }} ); - STRUCTURE.put("AAGAT", new ArrayList() {{add(3.9); add(-3.55); add(32.88); add(37.56); add(-3.96); add(-3.29); }} ); - STRUCTURE.put("AAGAG", new ArrayList() {{add(4.68); add(-3.22); add(32.31); add(35.92); add(-1.76); add(-1.36); }} ); - STRUCTURE.put("AAGAC", new ArrayList() {{add(4.65); add(-3.82); add(32.56); add(36.4); add(-2.15); add(-2.37); }} ); - STRUCTURE.put("AAGTA", new ArrayList() {{add(4.03); add(-4.26); add(33.24); add(35.21); add(-3.52); add(-4.72); }} ); - STRUCTURE.put("AAGTT", new ArrayList() {{add(3.34); add(-6.26); add(33.58); add(36.3); add(-3.62); add(-5.19); }} ); - STRUCTURE.put("AAGTG", new ArrayList() {{add(4.14); add(-4.48); add(33.1); add(34.91); add(-2.79); add(-4.51); }} ); - STRUCTURE.put("AAGTC", new ArrayList() {{add(3.74); add(-4.07); add(33.16); add(35.44); add(-4.01); add(-5.04); }} ); - STRUCTURE.put("AAGGA", new ArrayList() {{add(4.31); add(-1.33); add(32.55); add(34.9); add(-3.38); add(-1.91); }} ); - STRUCTURE.put("AAGGT", new ArrayList() {{add(3.75); add(-1.48); add(32.53); add(35.68); add(-4.81); add(-3.27); }} ); - STRUCTURE.put("AAGGG", new ArrayList() {{add(4.42); add(-0.14); add(31.94); add(34.22); add(-3.37); add(-3.54); }} ); - STRUCTURE.put("AAGGC", new ArrayList() {{add(4.51); add(-1.5); add(32.34); add(34.57); add(-2.75); add(-2.62); }} ); - STRUCTURE.put("AAGCA", new ArrayList() {{add(4.61); add(-1.47); add(32.29); add(37.13); add(-3.05); add(-3.31); }} ); - STRUCTURE.put("AAGCT", new ArrayList() {{add(4.14); add(-1.56); add(32.14); add(38.05); add(-3.24); add(-4.35); }} ); - STRUCTURE.put("AAGCG", new ArrayList() {{add(4.63); add(-1.91); add(32.27); add(37.15); add(-2.38); add(-2.72); }} ); - STRUCTURE.put("AAGCC", new ArrayList() {{add(4.17); add(-1.55); add(32.49); add(37.74); add(-3.7); add(-4.34); }} ); - STRUCTURE.put("AACAA", new ArrayList() {{add(4.97); add(-10.17); add(34.6); add(35.64); add(-2.29); add(6.26); }} ); - STRUCTURE.put("AACAT", new ArrayList() {{add(4.3); add(-10.22); add(35.12); add(35.94); add(-3.23); add(5.76); }} ); - STRUCTURE.put("AACAG", new ArrayList() {{add(4.95); add(-9.26); add(34.88); add(34.91); add(-2.4); add(5.23); }} ); - STRUCTURE.put("AACAC", new ArrayList() {{add(5.05); add(-9.4); add(34.68); add(35.07); add(-2.42); add(4.19); }} ); - STRUCTURE.put("AACTA", new ArrayList() {{add(4.24); add(-6.07); add(35.56); add(32.1); add(-4.24); add(-3.9); }} ); - STRUCTURE.put("AACTT", new ArrayList() {{add(3.34); add(-6.26); add(36.3); add(33.58); add(-5.19); add(-3.62); }} ); - STRUCTURE.put("AACTG", new ArrayList() {{add(4.49); add(-5.42); add(35.45); add(31.73); add(-3.28); add(-1.85); }} ); - STRUCTURE.put("AACTC", new ArrayList() {{add(3.95); add(-5.23); add(36.03); add(32.41); add(-4.38); add(-3.01); }} ); - STRUCTURE.put("AACGA", new ArrayList() {{add(4.8); add(-9.62); add(34.71); add(33.66); add(-2.49); add(5.41); }} ); - STRUCTURE.put("AACGT", new ArrayList() {{add(4.21); add(-10.39); add(35.24); add(34.53); add(-3.43); add(5.64); }} ); - STRUCTURE.put("AACGG", new ArrayList() {{add(4.62); add(-10.04); add(35.14); add(33.45); add(-3.07); add(3.74); }} ); - STRUCTURE.put("AACGC", new ArrayList() {{add(4.64); add(-9.91); add(35.06); add(33.41); add(-2.93); add(4.64); }} ); - STRUCTURE.put("AACCA", new ArrayList() {{add(4.33); add(-8.86); add(35.26); add(34.89); add(-3.3); add(-0.59); }} ); - STRUCTURE.put("AACCT", new ArrayList() {{add(3.64); add(-8.15); add(35.92); add(35.61); add(-4.78); add(-2.23); }} ); - STRUCTURE.put("AACCG", new ArrayList() {{add(4.36); add(-7.97); add(35.23); add(34.48); add(-3.13); add(-0.65); }} ); - STRUCTURE.put("AACCC", new ArrayList() {{add(4.03); add(-7.68); add(35.8); add(34.89); add(-4.18); add(-1.38); }} ); - STRUCTURE.put("ATAAA", new ArrayList() {{add(5.66); add(-12.37); add(34.6); add(35.94); add(8.13); add(-0.95); }} ); - STRUCTURE.put("ATAAT", new ArrayList() {{add(5.28); add(-11.27); add(35.02); add(35.9); add(6.41); add(-2.76); }} ); - STRUCTURE.put("ATAAG", new ArrayList() {{add(5.48); add(-10.54); add(35.15); add(35.03); add(6.31); add(-3.47); }} ); - STRUCTURE.put("ATAAC", new ArrayList() {{add(5.62); add(-10.51); add(34.54); add(35.5); add(6.14); add(-3.5); }} ); - STRUCTURE.put("ATATA", new ArrayList() {{add(5.76); add(-8.95); add(34.46); add(32.12); add(8.32); add(-2.62); }} ); - STRUCTURE.put("ATATT", new ArrayList() {{add(4.8); add(-10.43); add(35.25); add(33.17); add(6.33); add(-5.48); }} ); - STRUCTURE.put("ATATG", new ArrayList() {{add(5.32); add(-8.33); add(35.37); add(32.04); add(5.85); add(-4.26); }} ); - STRUCTURE.put("ATATC", new ArrayList() {{add(5.4); add(-8.3); add(35.01); add(32.32); add(6.33); add(-3.98); }} ); - STRUCTURE.put("ATAGA", new ArrayList() {{add(5.69); add(-7.03); add(34.25); add(31.88); add(6.34); add(-1.51); }} ); - STRUCTURE.put("ATAGT", new ArrayList() {{add(4.86); add(-8.26); add(35.53); add(31.86); add(3.79); add(-3.25); }} ); - STRUCTURE.put("ATAGG", new ArrayList() {{add(5.6); add(-6.87); add(34.5); add(31.71); add(5.54); add(-2.45); }} ); - STRUCTURE.put("ATAGC", new ArrayList() {{add(5.37); add(-6.84); add(34.96); add(31.21); add(4.96); add(-2.59); }} ); - STRUCTURE.put("ATACA", new ArrayList() {{add(5.82); add(-8.93); add(34.63); add(34.26); add(5.89); add(-2.07); }} ); - STRUCTURE.put("ATACT", new ArrayList() {{add(5.37); add(-8.21); add(34.44); add(34.73); add(6.22); add(-2.71); }} ); - STRUCTURE.put("ATACG", new ArrayList() {{add(5.53); add(-9.05); add(34.59); add(34.16); add(5.89); add(-2.22); }} ); - STRUCTURE.put("ATACC", new ArrayList() {{add(5.46); add(-8.36); add(34.56); add(34.69); add(5.39); add(-2.59); }} ); - STRUCTURE.put("ATTAA", new ArrayList() {{add(5.58); add(-11.32); add(35.37); add(34.44); add(-2.12); add(8.64); }} ); - STRUCTURE.put("ATTAT", new ArrayList() {{add(5.28); add(-11.27); add(35.9); add(35.02); add(-2.76); add(6.41); }} ); - STRUCTURE.put("ATTAG", new ArrayList() {{add(5.57); add(-11.58); add(35.33); add(34.46); add(-1.62); add(7.71); }} ); - STRUCTURE.put("ATTAC", new ArrayList() {{add(5.44); add(-11.34); add(35.53); add(34.68); add(-2.51); add(5.03); }} ); - STRUCTURE.put("ATTTA", new ArrayList() {{add(4.75); add(-13.87); add(36.55); add(35.79); add(-2.36); add(-0.94); }} ); - STRUCTURE.put("ATTTT", new ArrayList() {{add(3.63); add(-14.89); add(37.68); add(36.93); add(-5.12); add(-3.56); }} ); - STRUCTURE.put("ATTTG", new ArrayList() {{add(4.12); add(-13.36); add(37.28); add(35.49); add(-4.68); add(-3.54); }} ); - STRUCTURE.put("ATTTC", new ArrayList() {{add(4.27); add(-12.09); add(36.7); add(35.77); add(-4.4); add(-3.13); }} ); - STRUCTURE.put("ATTGA", new ArrayList() {{add(5.46); add(-10.92); add(34.93); add(34.6); add(-2.1); add(7.05); }} ); - STRUCTURE.put("ATTGT", new ArrayList() {{add(5.03); add(-11.94); add(35.45); add(35.55); add(-2.43); add(6.33); }} ); - STRUCTURE.put("ATTGG", new ArrayList() {{add(5.3); add(-10.72); add(34.93); add(34.4); add(-2.07); add(5.06); }} ); - STRUCTURE.put("ATTGC", new ArrayList() {{add(5.15); add(-10.6); add(35.34); add(34.49); add(-2.92); add(3.9); }} ); - STRUCTURE.put("ATTCA", new ArrayList() {{add(5.22); add(-10.83); add(36.06); add(35.03); add(-2.45); add(0.21); }} ); - STRUCTURE.put("ATTCT", new ArrayList() {{add(4.43); add(-10.15); add(36.11); add(36.6); add(-3.86); add(-1.42); }} ); - STRUCTURE.put("ATTCG", new ArrayList() {{add(4.88); add(-10.56); add(35.86); add(35.52); add(-2.98); add(-0.24); }} ); - STRUCTURE.put("ATTCC", new ArrayList() {{add(4.69); add(-9.61); add(35.6); add(35.99); add(-3.73); add(-0.88); }} ); - STRUCTURE.put("ATGAA", new ArrayList() {{add(5.5); add(-6.07); add(35.03); add(35.39); add(5.73); add(0.04); }} ); - STRUCTURE.put("ATGAT", new ArrayList() {{add(4.79); add(-6.15); add(34.82); add(36.14); add(3.79); add(-1.32); }} ); - STRUCTURE.put("ATGAG", new ArrayList() {{add(5.23); add(-6.05); add(34.93); add(35.1); add(5.69); add(-1.52); }} ); - STRUCTURE.put("ATGAC", new ArrayList() {{add(5.45); add(-6.37); add(35.1); add(35.47); add(5.16); add(-2.06); }} ); - STRUCTURE.put("ATGTA", new ArrayList() {{add(5.27); add(-7.4); add(35.76); add(34.06); add(5.57); add(-2.14); }} ); - STRUCTURE.put("ATGTT", new ArrayList() {{add(4.3); add(-10.22); add(35.94); add(35.12); add(5.76); add(-3.23); }} ); - STRUCTURE.put("ATGTG", new ArrayList() {{add(5.15); add(-8.83); add(35.86); add(33.53); add(6.57); add(-2.22); }} ); - STRUCTURE.put("ATGTC", new ArrayList() {{add(5.02); add(-7.1); add(35.42); add(34.24); add(4.9); add(-2.83); }} ); - STRUCTURE.put("ATGGA", new ArrayList() {{add(5.34); add(-3.37); add(34.46); add(33.69); add(4.34); add(-0.26); }} ); - STRUCTURE.put("ATGGT", new ArrayList() {{add(4.97); add(-4.33); add(34.88); add(34.55); add(4.04); add(-1.22); }} ); - STRUCTURE.put("ATGGG", new ArrayList() {{add(5.19); add(-2.37); add(34.56); add(33.45); add(3.38); add(-2.51); }} ); - STRUCTURE.put("ATGGC", new ArrayList() {{add(5.23); add(-3.12); add(34.93); add(33.39); add(3.68); add(-2.18); }} ); - STRUCTURE.put("ATGCA", new ArrayList() {{add(5.55); add(-3.73); add(35.12); add(35.6); add(4.66); add(-1.2); }} ); - STRUCTURE.put("ATGCT", new ArrayList() {{add(5.23); add(-3.68); add(34.56); add(36.89); add(4.59); add(-2.2); }} ); - STRUCTURE.put("ATGCG", new ArrayList() {{add(5.6); add(-4.03); add(35.0); add(35.58); add(5.09); add(-0.76); }} ); - STRUCTURE.put("ATGCC", new ArrayList() {{add(5.33); add(-3.12); add(34.66); add(36.28); add(4.26); add(-1.93); }} ); - STRUCTURE.put("ATCAA", new ArrayList() {{add(5.52); add(-7.12); add(35.38); add(34.6); add(0.04); add(6.62); }} ); - STRUCTURE.put("ATCAT", new ArrayList() {{add(4.79); add(-6.15); add(36.14); add(34.82); add(-1.32); add(3.79); }} ); - STRUCTURE.put("ATCAG", new ArrayList() {{add(5.34); add(-6.55); add(35.8); add(34.24); add(-0.36); add(4.36); }} ); - STRUCTURE.put("ATCAC", new ArrayList() {{add(5.35); add(-6.53); add(35.64); add(34.03); add(-0.51); add(3.72); }} ); - STRUCTURE.put("ATCTA", new ArrayList() {{add(4.74); add(-3.2); add(36.79); add(31.29); add(-1.24); add(-2.21); }} ); - STRUCTURE.put("ATCTT", new ArrayList() {{add(3.9); add(-3.55); add(37.56); add(32.88); add(-3.29); add(-3.96); }} ); - STRUCTURE.put("ATCTG", new ArrayList() {{add(4.98); add(-2.7); add(36.37); add(31.12); add(-0.33); add(-2.27); }} ); - STRUCTURE.put("ATCTC", new ArrayList() {{add(4.74); add(-2.78); add(36.47); add(31.47); add(-1.46); add(-2.16); }} ); - STRUCTURE.put("ATCGA", new ArrayList() {{add(5.23); add(-7.08); add(35.76); add(32.77); add(-0.54); add(5.51); }} ); - STRUCTURE.put("ATCGT", new ArrayList() {{add(4.8); add(-6.85); add(36.22); add(33.64); add(-1.68); add(4.65); }} ); - STRUCTURE.put("ATCGG", new ArrayList() {{add(5.25); add(-7.15); add(35.6); add(32.57); add(-0.66); add(3.63); }} ); - STRUCTURE.put("ATCGC", new ArrayList() {{add(5.28); add(-6.96); add(35.82); add(32.49); add(-0.66); add(4.15); }} ); - STRUCTURE.put("ATCCA", new ArrayList() {{add(4.94); add(-5.7); add(36.24); add(33.69); add(-0.96); add(-0.54); }} ); - STRUCTURE.put("ATCCT", new ArrayList() {{add(4.51); add(-5.29); add(36.16); add(34.37); add(-1.25); add(-1.41); }} ); - STRUCTURE.put("ATCCG", new ArrayList() {{add(4.47); add(-4.49); add(36.59); add(32.93); add(-2.07); add(-2.34); }} ); - STRUCTURE.put("ATCCC", new ArrayList() {{add(4.81); add(-4.91); add(36.09); add(33.66); add(-1.49); add(-1.06); }} ); - STRUCTURE.put("AGAAA", new ArrayList() {{add(4.74); add(-10.55); add(36.43); add(36.02); add(-0.69); add(-2.61); }} ); - STRUCTURE.put("AGAAT", new ArrayList() {{add(4.43); add(-10.15); add(36.6); add(36.11); add(-1.42); add(-3.86); }} ); - STRUCTURE.put("AGAAG", new ArrayList() {{add(4.5); add(-10.3); add(36.79); add(35.47); add(-1.65); add(-4.1); }} ); - STRUCTURE.put("AGAAC", new ArrayList() {{add(4.85); add(-10.59); add(36.45); add(35.7); add(-0.56); add(-3.03); }} ); - STRUCTURE.put("AGATA", new ArrayList() {{add(4.72); add(-8.23); add(36.52); add(32.48); add(-1.03); add(-4.23); }} ); - STRUCTURE.put("AGATT", new ArrayList() {{add(3.75); add(-10.31); add(37.53); add(33.3); add(-2.71); add(-6.11); }} ); - STRUCTURE.put("AGATG", new ArrayList() {{add(4.66); add(-7.85); add(36.48); add(32.25); add(-1.27); add(-5.19); }} ); - STRUCTURE.put("AGATC", new ArrayList() {{add(4.36); add(-8.23); add(36.68); add(32.82); add(-1.69); add(-5.53); }} ); - STRUCTURE.put("AGAGA", new ArrayList() {{add(5.0); add(-6.62); add(35.8); add(31.7); add(-1.55); add(-1.87); }} ); - STRUCTURE.put("AGAGT", new ArrayList() {{add(4.86); add(-7.83); add(35.66); add(31.76); add(-0.84); add(-1.51); }} ); - STRUCTURE.put("AGAGG", new ArrayList() {{add(4.97); add(-6.38); add(35.39); add(31.44); add(-1.11); add(-2.6); }} ); - STRUCTURE.put("AGAGC", new ArrayList() {{add(5.04); add(-6.5); add(35.84); add(31.62); add(-1.41); add(-2.48); }} ); - STRUCTURE.put("AGACA", new ArrayList() {{add(4.99); add(-8.49); add(36.49); add(34.36); add(-1.88); add(-2.8); }} ); - STRUCTURE.put("AGACT", new ArrayList() {{add(4.57); add(-7.81); add(36.01); add(34.89); add(-2.0); add(-3.59); }} ); - STRUCTURE.put("AGACG", new ArrayList() {{add(4.83); add(-8.81); add(36.41); add(34.44); add(-2.02); add(-2.95); }} ); - STRUCTURE.put("AGACC", new ArrayList() {{add(4.73); add(-8.04); add(36.1); add(34.74); add(-1.9); add(-3.14); }} ); - STRUCTURE.put("AGTAA", new ArrayList() {{add(5.37); add(-7.55); add(34.75); add(34.55); add(-3.91); add(5.33); }} ); - STRUCTURE.put("AGTAT", new ArrayList() {{add(5.37); add(-8.21); add(34.73); add(34.44); add(-2.71); add(6.22); }} ); - STRUCTURE.put("AGTAG", new ArrayList() {{add(5.2); add(-8.16); add(35.18); add(34.13); add(-4.12); add(4.64); }} ); - STRUCTURE.put("AGTAC", new ArrayList() {{add(5.54); add(-8.16); add(34.74); add(33.82); add(-2.73); add(4.94); }} ); - STRUCTURE.put("AGTTA", new ArrayList() {{add(4.67); add(-10.74); add(35.6); add(34.85); add(-3.98); add(-3.3); }} ); - STRUCTURE.put("AGTTT", new ArrayList() {{add(3.85); add(-12.78); add(36.86); add(35.86); add(-5.49); add(-4.3); }} ); - STRUCTURE.put("AGTTG", new ArrayList() {{add(4.38); add(-11.29); add(36.24); add(34.76); add(-4.47); add(-3.88); }} ); - STRUCTURE.put("AGTTC", new ArrayList() {{add(4.25); add(-10.45); add(35.93); add(35.24); add(-4.54); add(-3.79); }} ); - STRUCTURE.put("AGTGA", new ArrayList() {{add(5.22); add(-7.1); add(34.23); add(33.87); add(-3.58); add(3.56); }} ); - STRUCTURE.put("AGTGT", new ArrayList() {{add(5.1); add(-8.48); add(34.67); add(34.61); add(-3.51); add(3.69); }} ); - STRUCTURE.put("AGTGG", new ArrayList() {{add(5.31); add(-7.4); add(34.38); add(34.11); add(-2.95); add(2.64); }} ); - STRUCTURE.put("AGTGC", new ArrayList() {{add(5.3); add(-7.68); add(34.58); add(33.99); add(-3.54); add(2.74); }} ); - STRUCTURE.put("AGTCA", new ArrayList() {{add(4.89); add(-8.11); add(35.06); add(35.14); add(-3.69); add(-1.77); }} ); - STRUCTURE.put("AGTCT", new ArrayList() {{add(4.57); add(-7.81); add(34.89); add(36.01); add(-3.59); add(-2.0); }} ); - STRUCTURE.put("AGTCG", new ArrayList() {{add(4.59); add(-8.15); add(35.27); add(35.38); add(-4.46); add(-2.31); }} ); - STRUCTURE.put("AGTCC", new ArrayList() {{add(4.51); add(-7.34); add(34.97); add(35.78); add(-4.26); add(-2.46); }} ); - STRUCTURE.put("AGGAA", new ArrayList() {{add(4.76); add(-4.88); add(34.39); add(36.26); add(-1.44); add(-1.3); }} ); - STRUCTURE.put("AGGAT", new ArrayList() {{add(4.51); add(-5.29); add(34.37); add(36.16); add(-1.41); add(-1.25); }} ); - STRUCTURE.put("AGGAG", new ArrayList() {{add(4.63); add(-4.81); add(34.13); add(36.23); add(-1.32); add(-2.62); }} ); - STRUCTURE.put("AGGAC", new ArrayList() {{add(4.81); add(-5.39); add(34.49); add(36.03); add(-0.96); add(-2.19); }} ); - STRUCTURE.put("AGGTA", new ArrayList() {{add(4.33); add(-5.43); add(35.24); add(34.69); add(-2.81); add(-4.49); }} ); - STRUCTURE.put("AGGTT", new ArrayList() {{add(3.64); add(-8.15); add(35.61); add(35.92); add(-2.23); add(-4.78); }} ); - STRUCTURE.put("AGGTG", new ArrayList() {{add(4.42); add(-6.64); add(35.25); add(34.31); add(-1.65); add(-3.26); }} ); - STRUCTURE.put("AGGTC", new ArrayList() {{add(4.18); add(-5.67); add(35.04); add(34.84); add(-2.46); add(-3.96); }} ); - STRUCTURE.put("AGGGA", new ArrayList() {{add(4.68); add(-1.76); add(33.86); add(33.6); add(-2.51); add(-1.61); }} ); - STRUCTURE.put("AGGGT", new ArrayList() {{add(4.29); add(-2.62); add(34.17); add(34.42); add(-3.17); add(-2.05); }} ); - STRUCTURE.put("AGGGG", new ArrayList() {{add(4.62); add(-1.32); add(33.78); add(33.61); add(-2.55); add(-2.41); }} ); - STRUCTURE.put("AGGGC", new ArrayList() {{add(4.73); add(-1.88); add(34.0); add(33.54); add(-2.27); add(-2.16); }} ); - STRUCTURE.put("AGGCA", new ArrayList() {{add(4.82); add(-2.38); add(34.03); add(36.26); add(-2.06); add(-2.41); }} ); - STRUCTURE.put("AGGCT", new ArrayList() {{add(4.33); add(-2.34); add(34.0); add(37.47); add(-2.71); add(-3.85); }} ); - STRUCTURE.put("AGGCG", new ArrayList() {{add(4.77); add(-2.82); add(34.34); add(36.31); add(-2.1); add(-2.16); }} ); - STRUCTURE.put("AGGCC", new ArrayList() {{add(4.72); add(-2.2); add(33.71); add(36.64); add(-1.89); add(-2.34); }} ); - STRUCTURE.put("AGCAA", new ArrayList() {{add(5.08); add(-3.36); add(36.94); add(34.41); add(-3.02); add(3.78); }} ); - STRUCTURE.put("AGCAT", new ArrayList() {{add(5.23); add(-3.68); add(36.89); add(34.56); add(-2.2); add(4.59); }} ); - STRUCTURE.put("AGCAG", new ArrayList() {{add(5.16); add(-3.6); add(36.97); add(33.86); add(-2.72); add(3.76); }} ); - STRUCTURE.put("AGCAC", new ArrayList() {{add(5.43); add(-3.79); add(36.67); add(34.03); add(-1.72); add(2.81); }} ); - STRUCTURE.put("AGCTA", new ArrayList() {{add(4.88); add(-1.3); add(37.56); add(31.13); add(-2.66); add(-2.32); }} ); - STRUCTURE.put("AGCTT", new ArrayList() {{add(4.14); add(-1.56); add(38.05); add(32.14); add(-4.35); add(-3.24); }} ); - STRUCTURE.put("AGCTG", new ArrayList() {{add(4.8); add(-1.38); add(37.48); add(31.01); add(-2.49); add(-2.54); }} ); - STRUCTURE.put("AGCTC", new ArrayList() {{add(4.63); add(-0.83); add(37.66); add(31.33); add(-3.25); add(-2.86); }} ); - STRUCTURE.put("AGCGA", new ArrayList() {{add(5.19); add(-3.56); add(36.83); add(32.44); add(-2.29); add(4.15); }} ); - STRUCTURE.put("AGCGT", new ArrayList() {{add(4.86); add(-3.93); add(37.02); add(33.0); add(-2.63); add(3.7); }} ); - STRUCTURE.put("AGCGG", new ArrayList() {{add(5.15); add(-3.78); add(36.72); add(32.34); add(-1.9); add(2.44); }} ); - STRUCTURE.put("AGCGC", new ArrayList() {{add(5.18); add(-3.87); add(36.76); add(32.08); add(-1.92); add(2.89); }} ); - STRUCTURE.put("AGCCA", new ArrayList() {{add(4.53); add(-2.76); add(37.62); add(33.35); add(-3.86); add(-2.44); }} ); - STRUCTURE.put("AGCCT", new ArrayList() {{add(4.33); add(-2.34); add(37.47); add(34.0); add(-3.85); add(-2.71); }} ); - STRUCTURE.put("AGCCG", new ArrayList() {{add(4.83); add(-3.04); add(37.23); add(33.27); add(-2.14); add(-1.44); }} ); - STRUCTURE.put("AGCCC", new ArrayList() {{add(4.61); add(-2.48); add(37.3); add(33.51); add(-2.95); add(-1.98); }} ); - STRUCTURE.put("ACAAA", new ArrayList() {{add(5.21); add(-12.03); add(35.41); add(35.77); add(6.09); add(-2.56); }} ); - STRUCTURE.put("ACAAT", new ArrayList() {{add(5.03); add(-11.94); add(35.55); add(35.45); add(6.33); add(-2.43); }} ); - STRUCTURE.put("ACAAG", new ArrayList() {{add(5.19); add(-10.72); add(35.43); add(35.05); add(5.65); add(-3.95); }} ); - STRUCTURE.put("ACAAC", new ArrayList() {{add(5.58); add(-11.7); add(35.22); add(35.25); add(6.2); add(-3.26); }} ); - STRUCTURE.put("ACATA", new ArrayList() {{add(5.14); add(-8.52); add(35.48); add(32.21); add(4.85); add(-4.73); }} ); - STRUCTURE.put("ACATT", new ArrayList() {{add(4.27); add(-10.82); add(36.13); add(33.25); add(4.78); add(-6.17); }} ); - STRUCTURE.put("ACATG", new ArrayList() {{add(4.99); add(-10.15); add(35.7); add(32.0); add(5.73); add(-4.67); }} ); - STRUCTURE.put("ACATC", new ArrayList() {{add(4.82); add(-8.65); add(35.37); add(32.37); add(5.15); add(-4.91); }} ); - STRUCTURE.put("ACAGA", new ArrayList() {{add(5.33); add(-7.0); add(35.0); add(31.6); add(3.72); add(-1.93); }} ); - STRUCTURE.put("ACAGT", new ArrayList() {{add(5.2); add(-8.12); add(34.72); add(31.75); add(4.57); add(-1.83); }} ); - STRUCTURE.put("ACAGG", new ArrayList() {{add(5.29); add(-6.78); add(34.61); add(31.34); add(4.68); add(-2.48); }} ); - STRUCTURE.put("ACAGC", new ArrayList() {{add(5.31); add(-7.34); add(35.03); add(31.35); add(5.07); add(-2.1); }} ); - STRUCTURE.put("ACACA", new ArrayList() {{add(5.5); add(-9.33); add(35.28); add(33.88); add(2.96); add(-2.65); }} ); - STRUCTURE.put("ACACT", new ArrayList() {{add(5.1); add(-8.48); add(34.61); add(34.67); add(3.69); add(-3.51); }} ); - STRUCTURE.put("ACACG", new ArrayList() {{add(5.47); add(-9.43); add(35.35); add(33.84); add(4.66); add(-2.25); }} ); - STRUCTURE.put("ACACC", new ArrayList() {{add(5.31); add(-8.57); add(34.83); add(34.36); add(3.95); add(-2.95); }} ); - STRUCTURE.put("ACTAA", new ArrayList() {{add(5.73); add(-8.1); add(31.57); add(34.45); add(-0.98); add(7.88); }} ); - STRUCTURE.put("ACTAT", new ArrayList() {{add(4.86); add(-8.26); add(31.86); add(35.53); add(-3.25); add(3.79); }} ); - STRUCTURE.put("ACTAG", new ArrayList() {{add(5.13); add(-7.44); add(32.22); add(35.0); add(-2.86); add(3.55); }} ); - STRUCTURE.put("ACTAC", new ArrayList() {{add(5.62); add(-8.16); add(31.68); add(34.24); add(-1.63); add(4.89); }} ); - STRUCTURE.put("ACTTA", new ArrayList() {{add(4.48); add(-9.96); add(33.06); add(35.16); add(-2.87); add(-3.58); }} ); - STRUCTURE.put("ACTTT", new ArrayList() {{add(3.35); add(-11.68); add(33.88); add(36.93); add(-4.78); add(-6.36); }} ); - STRUCTURE.put("ACTTG", new ArrayList() {{add(4.52); add(-10.21); add(33.13); add(34.94); add(-2.35); add(-3.59); }} ); - STRUCTURE.put("ACTTC", new ArrayList() {{add(4.31); add(-8.83); add(32.77); add(35.22); add(-3.34); add(-4.2); }} ); - STRUCTURE.put("ACTGA", new ArrayList() {{add(5.48); add(-7.1); add(31.46); add(34.41); add(-1.92); add(4.75); }} ); - STRUCTURE.put("ACTGT", new ArrayList() {{add(5.2); add(-8.12); add(31.75); add(34.72); add(-1.83); add(4.57); }} ); - STRUCTURE.put("ACTGG", new ArrayList() {{add(5.32); add(-7.24); add(31.51); add(34.39); add(-1.82); add(3.06); }} ); - STRUCTURE.put("ACTGC", new ArrayList() {{add(5.4); add(-7.79); add(31.49); add(33.95); add(-1.42); add(3.67); }} ); - STRUCTURE.put("ACTCA", new ArrayList() {{add(4.89); add(-7.5); add(32.14); add(35.29); add(-2.78); add(-1.75); }} ); - STRUCTURE.put("ACTCT", new ArrayList() {{add(4.86); add(-7.83); add(31.76); add(35.66); add(-1.51); add(-0.84); }} ); - STRUCTURE.put("ACTCG", new ArrayList() {{add(4.93); add(-7.78); add(31.96); add(35.21); add(-1.9); add(-1.04); }} ); - STRUCTURE.put("ACTCC", new ArrayList() {{add(4.73); add(-6.75); add(31.81); add(35.76); add(-2.84); add(-2.04); }} ); - STRUCTURE.put("ACGAA", new ArrayList() {{add(5.21); add(-6.66); add(33.73); add(36.0); add(5.06); add(-0.84); }} ); - STRUCTURE.put("ACGAT", new ArrayList() {{add(4.8); add(-6.85); add(33.64); add(36.22); add(4.65); add(-1.68); }} ); - STRUCTURE.put("ACGAG", new ArrayList() {{add(5.13); add(-6.5); add(33.69); add(35.94); add(4.47); add(-2.01); }} ); - STRUCTURE.put("ACGAC", new ArrayList() {{add(5.34); add(-6.61); add(33.73); add(35.7); add(5.01); add(-2.42); }} ); - STRUCTURE.put("ACGTA", new ArrayList() {{add(4.84); add(-7.92); add(34.34); add(34.3); add(5.09); add(-2.68); }} ); - STRUCTURE.put("ACGTT", new ArrayList() {{add(4.21); add(-10.39); add(34.53); add(35.24); add(5.64); add(-3.43); }} ); - STRUCTURE.put("ACGTG", new ArrayList() {{add(4.85); add(-8.78); add(34.48); add(34.05); add(5.64); add(-3.13); }} ); - STRUCTURE.put("ACGTC", new ArrayList() {{add(4.7); add(-7.92); add(34.3); add(34.58); add(5.05); add(-3.06); }} ); - STRUCTURE.put("ACGGA", new ArrayList() {{add(5.06); add(-3.36); add(33.01); add(34.6); add(2.56); add(-2.1); }} ); - STRUCTURE.put("ACGGT", new ArrayList() {{add(4.73); add(-4.79); add(33.29); add(34.47); add(3.68); add(-1.2); }} ); - STRUCTURE.put("ACGGG", new ArrayList() {{add(4.92); add(-2.81); add(33.23); add(33.75); add(2.76); add(-2.05); }} ); - STRUCTURE.put("ACGGC", new ArrayList() {{add(5.08); add(-3.97); add(33.55); add(33.79); add(3.91); add(-1.58); }} ); - STRUCTURE.put("ACGCA", new ArrayList() {{add(5.27); add(-4.25); add(33.71); add(35.83); add(4.21); add(-1.26); }} ); - STRUCTURE.put("ACGCT", new ArrayList() {{add(4.86); add(-3.93); add(33.0); add(37.02); add(3.7); add(-2.63); }} ); - STRUCTURE.put("ACGCG", new ArrayList() {{add(5.2); add(-4.73); add(33.2); add(35.9); add(4.51); add(-1.39); }} ); - STRUCTURE.put("ACGCC", new ArrayList() {{add(5.08); add(-3.63); add(33.32); add(36.67); add(3.67); add(-2.09); }} ); - STRUCTURE.put("ACCAA", new ArrayList() {{add(5.08); add(-4.69); add(34.7); add(34.6); add(-0.94); add(4.34); }} ); - STRUCTURE.put("ACCAT", new ArrayList() {{add(4.97); add(-4.33); add(34.55); add(34.88); add(-1.22); add(4.04); }} ); - STRUCTURE.put("ACCAG", new ArrayList() {{add(5.19); add(-4.44); add(34.39); add(34.21); add(-0.64); add(3.13); }} ); - STRUCTURE.put("ACCAC", new ArrayList() {{add(5.38); add(-5.0); add(34.37); add(34.18); add(-0.49); add(3.35); }} ); - STRUCTURE.put("ACCTA", new ArrayList() {{add(4.68); add(-1.54); add(34.99); add(31.46); add(-1.78); add(-2.96); }} ); - STRUCTURE.put("ACCTT", new ArrayList() {{add(3.75); add(-1.48); add(35.68); add(32.53); add(-3.27); add(-4.81); }} ); - STRUCTURE.put("ACCTG", new ArrayList() {{add(4.54); add(-1.68); add(35.08); add(31.38); add(-1.63); add(-2.97); }} ); - STRUCTURE.put("ACCTC", new ArrayList() {{add(4.37); add(-0.88); add(34.93); add(31.49); add(-2.35); add(-3.46); }} ); - STRUCTURE.put("ACCGA", new ArrayList() {{add(5.02); add(-4.29); add(34.18); add(32.64); add(-0.94); add(3.35); }} ); - STRUCTURE.put("ACCGT", new ArrayList() {{add(4.73); add(-4.79); add(34.47); add(33.29); add(-1.2); add(3.68); }} ); - STRUCTURE.put("ACCGG", new ArrayList() {{add(5.16); add(-5.03); add(34.12); add(32.44); add(-0.44); add(2.54); }} ); - STRUCTURE.put("ACCGC", new ArrayList() {{add(5.08); add(-4.55); add(34.31); add(32.31); add(-0.62); add(2.79); }} ); - STRUCTURE.put("ACCCA", new ArrayList() {{add(4.66); add(-3.38); add(34.63); add(33.53); add(-1.42); add(-2.0); }} ); - STRUCTURE.put("ACCCT", new ArrayList() {{add(4.29); add(-2.62); add(34.42); add(34.17); add(-2.05); add(-3.17); }} ); - STRUCTURE.put("ACCCG", new ArrayList() {{add(4.7); add(-3.53); add(34.56); add(33.51); add(-0.94); add(-1.76); }} ); - STRUCTURE.put("ACCCC", new ArrayList() {{add(4.58); add(-2.37); add(34.28); add(33.44); add(-1.8); add(-2.4); }} ); - STRUCTURE.put("TAAAA", new ArrayList() {{add(4.89); add(-13.29); add(35.6); add(36.72); add(-2.46); add(-2.75); }} ); - STRUCTURE.put("TAAAT", new ArrayList() {{add(4.75); add(-13.87); add(35.79); add(36.55); add(-0.94); add(-2.36); }} ); - STRUCTURE.put("TAAAG", new ArrayList() {{add(4.7); add(-12.85); add(35.7); add(36.11); add(-1.56); add(-3.87); }} ); - STRUCTURE.put("TAAAC", new ArrayList() {{add(5.1); add(-13.54); add(35.72); add(36.4); add(-1.29); add(-2.84); }} ); - STRUCTURE.put("TAATA", new ArrayList() {{add(5.11); add(-9.98); add(35.37); add(32.48); add(-2.19); add(-3.92); }} ); - STRUCTURE.put("TAATT", new ArrayList() {{add(4.36); add(-12.2); add(35.92); add(33.31); add(-2.38); add(-5.21); }} ); - STRUCTURE.put("TAATG", new ArrayList() {{add(4.9); add(-10.52); add(35.43); add(32.4); add(-2.15); add(-4.86); }} ); - STRUCTURE.put("TAATC", new ArrayList() {{add(4.81); add(-10.25); add(35.28); add(32.72); add(-2.32); add(-4.51); }} ); - STRUCTURE.put("TAAGA", new ArrayList() {{add(4.93); add(-8.51); add(34.89); add(32.43); add(-3.37); add(-2.51); }} ); - STRUCTURE.put("TAAGT", new ArrayList() {{add(4.48); add(-9.96); add(35.16); add(33.06); add(-3.58); add(-2.87); }} ); - STRUCTURE.put("TAAGG", new ArrayList() {{add(4.81); add(-8.13); add(34.66); add(32.34); add(-3.71); add(-4.02); }} ); - STRUCTURE.put("TAAGC", new ArrayList() {{add(5.01); add(-8.92); add(34.85); add(32.17); add(-2.87); add(-2.56); }} ); - STRUCTURE.put("TAACA", new ArrayList() {{add(5.17); add(-11.35); add(35.32); add(34.78); add(-2.39); add(-2.47); }} ); - STRUCTURE.put("TAACT", new ArrayList() {{add(4.67); add(-10.74); add(34.85); add(35.6); add(-3.3); add(-3.98); }} ); - STRUCTURE.put("TAACG", new ArrayList() {{add(5.15); add(-11.31); add(35.27); add(34.89); add(-2.63); add(-2.83); }} ); - STRUCTURE.put("TAACC", new ArrayList() {{add(4.87); add(-10.83); add(35.08); add(35.3); add(-3.03); add(-3.26); }} ); - STRUCTURE.put("TATAA", new ArrayList() {{add(6.07); add(-7.14); add(31.78); add(34.57); add(-3.01); add(7.31); }} ); - STRUCTURE.put("TATAT", new ArrayList() {{add(5.76); add(-8.95); add(32.12); add(34.46); add(-2.62); add(8.32); }} ); - STRUCTURE.put("TATAG", new ArrayList() {{add(5.79); add(-7.69); add(31.96); add(34.63); add(-3.1); add(5.66); }} ); - STRUCTURE.put("TATAC", new ArrayList() {{add(6.01); add(-7.88); add(31.78); add(34.63); add(-2.8); add(5.6); }} ); - STRUCTURE.put("TATTA", new ArrayList() {{add(5.11); add(-9.98); add(32.48); add(35.37); add(-3.92); add(-2.19); }} ); - STRUCTURE.put("TATTT", new ArrayList() {{add(3.79); add(-12.63); add(33.85); add(37.22); add(-6.42); add(-3.91); }} ); - STRUCTURE.put("TATTG", new ArrayList() {{add(5.02); add(-9.7); add(32.4); add(35.12); add(-3.9); add(-2.87); }} ); - STRUCTURE.put("TATTC", new ArrayList() {{add(4.51); add(-10.01); add(32.92); add(35.93); add(-4.85); add(-3.1); }} ); - STRUCTURE.put("TATGA", new ArrayList() {{add(5.84); add(-7.0); add(31.46); add(35.1); add(-3.24); add(4.95); }} ); - STRUCTURE.put("TATGT", new ArrayList() {{add(5.14); add(-8.52); add(32.21); add(35.48); add(-4.73); add(4.85); }} ); - STRUCTURE.put("TATGG", new ArrayList() {{add(5.88); add(-6.69); add(31.26); add(34.97); add(-2.84); add(3.24); }} ); - STRUCTURE.put("TATGC", new ArrayList() {{add(5.76); add(-8.11); add(31.62); add(34.78); add(-2.97); add(5.2); }} ); - STRUCTURE.put("TATCA", new ArrayList() {{add(5.38); add(-7.32); add(31.94); add(35.75); add(-3.4); add(-1.13); }} ); - STRUCTURE.put("TATCT", new ArrayList() {{add(4.72); add(-8.23); add(32.48); add(36.52); add(-4.23); add(-1.03); }} ); - STRUCTURE.put("TATCG", new ArrayList() {{add(5.32); add(-7.63); add(31.89); add(35.68); add(-3.35); add(-0.47); }} ); - STRUCTURE.put("TATCC", new ArrayList() {{add(4.98); add(-7.47); add(32.31); add(36.04); add(-4.17); add(-1.31); }} ); - STRUCTURE.put("TAGAA", new ArrayList() {{add(5.33); add(-3.73); add(31.57); add(36.55); add(-1.4); add(-0.49); }} ); - STRUCTURE.put("TAGAT", new ArrayList() {{add(4.74); add(-3.2); add(31.29); add(36.79); add(-2.21); add(-1.24); }} ); - STRUCTURE.put("TAGAG", new ArrayList() {{add(5.41); add(-3.22); add(31.4); add(35.31); add(-1.35); add(-0.44); }} ); - STRUCTURE.put("TAGAC", new ArrayList() {{add(5.32); add(-3.62); add(31.64); add(36.16); add(-1.45); add(-1.45); }} ); - STRUCTURE.put("TAGTA", new ArrayList() {{add(5.33); add(-3.97); add(31.63); add(34.42); add(-1.21); add(-2.12); }} ); - STRUCTURE.put("TAGTT", new ArrayList() {{add(4.24); add(-6.07); add(32.1); add(35.56); add(-3.9); add(-4.24); }} ); - STRUCTURE.put("TAGTG", new ArrayList() {{add(5.11); add(-4.24); add(31.7); add(34.28); add(-1.38); add(-2.73); }} ); - STRUCTURE.put("TAGTC", new ArrayList() {{add(5.08); add(-3.9); add(31.53); add(34.57); add(-1.0); add(-2.07); }} ); - STRUCTURE.put("TAGGA", new ArrayList() {{add(4.98); add(-1.39); add(31.66); add(34.64); add(-2.51); add(-0.97); }} ); - STRUCTURE.put("TAGGT", new ArrayList() {{add(4.68); add(-1.54); add(31.46); add(34.99); add(-2.96); add(-1.78); }} ); - STRUCTURE.put("TAGGG", new ArrayList() {{add(4.99); add(-0.56); add(31.16); add(34.12); add(-2.67); add(-2.27); }} ); - STRUCTURE.put("TAGGC", new ArrayList() {{add(4.97); add(-1.23); add(31.51); add(34.04); add(-2.47); add(-1.96); }} ); - STRUCTURE.put("TAGCA", new ArrayList() {{add(5.36); add(-1.6); add(31.39); add(36.48); add(-2.09); add(-1.5); }} ); - STRUCTURE.put("TAGCT", new ArrayList() {{add(4.88); add(-1.3); add(31.13); add(37.56); add(-2.32); add(-2.66); }} ); - STRUCTURE.put("TAGCG", new ArrayList() {{add(5.22); add(-1.63); add(31.38); add(36.72); add(-2.2); add(-1.71); }} ); - STRUCTURE.put("TAGCC", new ArrayList() {{add(5.0); add(-1.22); add(31.35); add(37.31); add(-2.77); add(-2.39); }} ); - STRUCTURE.put("TACAA", new ArrayList() {{add(5.89); add(-7.17); add(33.4); add(35.27); add(-1.49); add(5.8); }} ); - STRUCTURE.put("TACAT", new ArrayList() {{add(5.27); add(-7.4); add(34.06); add(35.76); add(-2.14); add(5.57); }} ); - STRUCTURE.put("TACAG", new ArrayList() {{add(5.41); add(-6.49); add(33.82); add(34.82); add(-1.95); add(3.96); }} ); - STRUCTURE.put("TACAC", new ArrayList() {{add(5.74); add(-6.58); add(33.6); add(34.99); add(-2.01); add(3.4); }} ); - STRUCTURE.put("TACTA", new ArrayList() {{add(5.33); add(-3.97); add(34.42); add(31.63); add(-2.12); add(-1.21); }} ); - STRUCTURE.put("TACTT", new ArrayList() {{add(4.03); add(-4.26); add(35.21); add(33.24); add(-4.72); add(-3.52); }} ); - STRUCTURE.put("TACTG", new ArrayList() {{add(5.13); add(-4.2); add(34.47); add(31.52); add(-2.15); add(-1.74); }} ); - STRUCTURE.put("TACTC", new ArrayList() {{add(4.69); add(-3.05); add(34.56); add(31.76); add(-3.67); add(-2.76); }} ); - STRUCTURE.put("TACGA", new ArrayList() {{add(5.61); add(-6.48); add(33.57); add(33.73); add(-1.92); add(4.91); }} ); - STRUCTURE.put("TACGT", new ArrayList() {{add(4.84); add(-7.92); add(34.3); add(34.34); add(-2.68); add(5.09); }} ); - STRUCTURE.put("TACGG", new ArrayList() {{add(5.33); add(-6.7); add(33.73); add(33.27); add(-2.19); add(2.74); }} ); - STRUCTURE.put("TACGC", new ArrayList() {{add(5.32); add(-7.22); add(33.93); add(33.14); add(-2.07); add(4.31); }} ); - STRUCTURE.put("TACCA", new ArrayList() {{add(5.13); add(-5.96); add(34.38); add(34.3); add(-2.45); add(-0.68); }} ); - STRUCTURE.put("TACCT", new ArrayList() {{add(4.33); add(-5.43); add(34.69); add(35.24); add(-4.49); add(-2.81); }} ); - STRUCTURE.put("TACCG", new ArrayList() {{add(4.96); add(-5.99); add(34.43); add(34.27); add(-2.35); add(-0.83); }} ); - STRUCTURE.put("TACCC", new ArrayList() {{add(4.71); add(-5.01); add(34.53); add(34.33); add(-3.44); add(-1.79); }} ); - STRUCTURE.put("TTAAA", new ArrayList() {{add(5.73); add(-10.7); add(34.67); add(35.63); add(5.72); add(-3.0); }} ); - STRUCTURE.put("TTAAT", new ArrayList() {{add(5.58); add(-11.32); add(34.44); add(35.37); add(8.64); add(-2.12); }} ); - STRUCTURE.put("TTAAG", new ArrayList() {{add(5.58); add(-9.57); add(34.81); add(34.68); add(6.23); add(-3.71); }} ); - STRUCTURE.put("TTAAC", new ArrayList() {{add(5.85); add(-10.44); add(34.36); add(35.05); add(7.53); add(-2.86); }} ); - STRUCTURE.put("TTATA", new ArrayList() {{add(6.07); add(-7.14); add(34.57); add(31.78); add(7.31); add(-3.01); }} ); - STRUCTURE.put("TTATT", new ArrayList() {{add(5.53); add(-9.65); add(34.83); add(32.44); add(8.21); add(-3.91); }} ); - STRUCTURE.put("TTATG", new ArrayList() {{add(6.02); add(-8.06); add(34.54); add(31.48); add(7.92); add(-3.28); }} ); - STRUCTURE.put("TTATC", new ArrayList() {{add(5.89); add(-7.66); add(34.59); add(31.94); add(7.32); add(-3.54); }} ); - STRUCTURE.put("TTAGA", new ArrayList() {{add(6.0); add(-6.61); add(34.4); add(31.27); add(6.26); add(-1.11); }} ); - STRUCTURE.put("TTAGT", new ArrayList() {{add(5.73); add(-8.1); add(34.45); add(31.57); add(7.88); add(-0.98); }} ); - STRUCTURE.put("TTAGG", new ArrayList() {{add(5.96); add(-5.77); add(34.35); add(31.45); add(5.87); add(-2.83); }} ); - STRUCTURE.put("TTAGC", new ArrayList() {{add(5.82); add(-6.12); add(34.68); add(31.43); add(5.63); add(-2.69); }} ); - STRUCTURE.put("TTACA", new ArrayList() {{add(5.99); add(-7.55); add(34.6); add(33.74); add(6.03); add(-2.1); }} ); - STRUCTURE.put("TTACT", new ArrayList() {{add(5.37); add(-7.55); add(34.55); add(34.75); add(5.33); add(-3.91); }} ); - STRUCTURE.put("TTACG", new ArrayList() {{add(6.11); add(-7.71); add(34.26); add(33.58); add(6.35); add(-1.95); }} ); - STRUCTURE.put("TTACC", new ArrayList() {{add(5.43); add(-7.21); add(34.64); add(34.56); add(5.01); add(-3.71); }} ); - STRUCTURE.put("TTTAA", new ArrayList() {{add(5.73); add(-10.7); add(35.63); add(34.67); add(-3.0); add(5.72); }} ); - STRUCTURE.put("TTTAT", new ArrayList() {{add(5.66); add(-12.37); add(35.94); add(34.6); add(-0.95); add(8.13); }} ); - STRUCTURE.put("TTTAG", new ArrayList() {{add(5.82); add(-11.18); add(35.72); add(34.35); add(-1.41); add(6.08); }} ); - STRUCTURE.put("TTTAC", new ArrayList() {{add(5.91); add(-11.89); add(35.53); add(34.25); add(-0.99); add(6.47); }} ); - STRUCTURE.put("TTTTA", new ArrayList() {{add(4.89); add(-13.29); add(36.72); add(35.6); add(-2.75); add(-2.46); }} ); - STRUCTURE.put("TTTTT", new ArrayList() {{add(3.38); add(-16.51); add(38.01); add(37.74); add(-5.09); add(-5.05); }} ); - STRUCTURE.put("TTTTG", new ArrayList() {{add(4.76); add(-13.79); add(36.92); add(35.51); add(-2.76); add(-2.19); }} ); - STRUCTURE.put("TTTTC", new ArrayList() {{add(4.35); add(-13.16); add(37.0); add(36.32); add(-4.32); add(-3.67); }} ); - STRUCTURE.put("TTTGA", new ArrayList() {{add(5.6); add(-10.28); add(35.3); add(34.64); add(-2.67); add(5.24); }} ); - STRUCTURE.put("TTTGT", new ArrayList() {{add(5.21); add(-12.03); add(35.77); add(35.41); add(-2.56); add(6.09); }} ); - STRUCTURE.put("TTTGG", new ArrayList() {{add(5.42); add(-9.32); add(35.2); add(34.57); add(-3.1); add(2.51); }} ); - STRUCTURE.put("TTTGC", new ArrayList() {{add(5.41); add(-10.88); add(35.29); add(34.35); add(-3.68); add(3.96); }} ); - STRUCTURE.put("TTTCA", new ArrayList() {{add(5.4); add(-10.81); add(35.9); add(34.89); add(-1.64); add(0.49); }} ); - STRUCTURE.put("TTTCT", new ArrayList() {{add(4.74); add(-10.55); add(36.02); add(36.43); add(-2.61); add(-0.69); }} ); - STRUCTURE.put("TTTCG", new ArrayList() {{add(4.98); add(-10.58); add(35.88); add(35.62); add(-2.61); add(-0.38); }} ); - STRUCTURE.put("TTTCC", new ArrayList() {{add(4.63); add(-10.09); add(35.97); add(36.46); add(-3.36); add(-1.41); }} ); - STRUCTURE.put("TTGAA", new ArrayList() {{add(6.0); add(-5.98); add(34.59); add(34.8); add(5.46); add(0.18); }} ); - STRUCTURE.put("TTGAT", new ArrayList() {{add(5.52); add(-7.12); add(34.6); add(35.38); add(6.62); add(0.04); }} ); - STRUCTURE.put("TTGAG", new ArrayList() {{add(5.9); add(-6.36); add(34.65); add(34.56); add(5.89); add(-0.68); }} ); - STRUCTURE.put("TTGAC", new ArrayList() {{add(5.91); add(-7.07); add(34.61); add(34.78); add(6.83); add(-0.77); }} ); - STRUCTURE.put("TTGTA", new ArrayList() {{add(5.89); add(-7.17); add(35.27); add(33.4); add(5.8); add(-1.49); }} ); - STRUCTURE.put("TTGTT", new ArrayList() {{add(4.97); add(-10.17); add(35.64); add(34.6); add(6.26); add(-2.29); }} ); - STRUCTURE.put("TTGTG", new ArrayList() {{add(5.2); add(-8.23); add(35.72); add(33.59); add(6.07); add(-2.4); }} ); - STRUCTURE.put("TTGTC", new ArrayList() {{add(5.57); add(-7.48); add(34.98); add(33.76); add(6.28); add(-1.95); }} ); - STRUCTURE.put("TTGGA", new ArrayList() {{add(5.42); add(-2.74); add(34.57); add(33.66); add(2.7); add(-1.03); }} ); - STRUCTURE.put("TTGGT", new ArrayList() {{add(5.08); add(-4.69); add(34.6); add(34.7); add(4.34); add(-0.94); }} ); - STRUCTURE.put("TTGGG", new ArrayList() {{add(5.44); add(-3.45); add(34.28); add(32.76); add(6.64); add(-0.64); }} ); - STRUCTURE.put("TTGGC", new ArrayList() {{add(5.56); add(-3.85); add(34.72); add(33.0); add(4.45); add(-1.23); }} ); - STRUCTURE.put("TTGCA", new ArrayList() {{add(5.78); add(-3.8); add(34.61); add(35.49); add(4.6); add(-1.25); }} ); - STRUCTURE.put("TTGCT", new ArrayList() {{add(5.08); add(-3.36); add(34.41); add(36.94); add(3.78); add(-3.02); }} ); - STRUCTURE.put("TTGCG", new ArrayList() {{add(5.81); add(-4.14); add(34.85); add(35.42); add(4.82); add(-0.77); }} ); - STRUCTURE.put("TTGCC", new ArrayList() {{add(5.3); add(-3.14); add(34.5); add(36.34); add(3.97); add(-2.26); }} ); - STRUCTURE.put("TTCAA", new ArrayList() {{add(6.0); add(-5.98); add(34.8); add(34.59); add(0.18); add(5.46); }} ); - STRUCTURE.put("TTCAT", new ArrayList() {{add(5.5); add(-6.07); add(35.39); add(35.03); add(0.04); add(5.73); }} ); - STRUCTURE.put("TTCAG", new ArrayList() {{add(5.93); add(-5.95); add(35.08); add(34.21); add(0.57); add(5.37); }} ); - STRUCTURE.put("TTCAC", new ArrayList() {{add(5.94); add(-6.21); add(34.8); add(34.78); add(0.69); add(4.07); }} ); - STRUCTURE.put("TTCTA", new ArrayList() {{add(5.33); add(-3.73); add(36.55); add(31.57); add(-0.49); add(-1.4); }} ); - STRUCTURE.put("TTCTT", new ArrayList() {{add(4.8); add(-3.46); add(36.52); add(32.3); add(-0.63); add(-1.79); }} ); - STRUCTURE.put("TTCTG", new ArrayList() {{add(5.14); add(-3.52); add(36.46); add(31.59); add(-0.54); add(-1.9); }} ); - STRUCTURE.put("TTCTC", new ArrayList() {{add(4.67); add(-2.4); add(36.61); add(31.51); add(-1.63); add(-2.79); }} ); - STRUCTURE.put("TTCGA", new ArrayList() {{add(5.75); add(-5.99); add(34.95); add(32.98); add(0.19); add(5.38); }} ); - STRUCTURE.put("TTCGT", new ArrayList() {{add(5.21); add(-6.66); add(36.0); add(33.73); add(-0.84); add(5.06); }} ); - STRUCTURE.put("TTCGG", new ArrayList() {{add(5.38); add(-6.08); add(35.61); add(32.67); add(-0.53); add(2.76); }} ); - STRUCTURE.put("TTCGC", new ArrayList() {{add(5.53); add(-6.08); add(35.53); add(32.71); add(-0.23); add(3.79); }} ); - STRUCTURE.put("TTCCA", new ArrayList() {{add(4.97); add(-5.2); add(36.04); add(33.8); add(-0.69); add(-0.87); }} ); - STRUCTURE.put("TTCCT", new ArrayList() {{add(4.76); add(-4.88); add(36.26); add(34.39); add(-1.3); add(-1.44); }} ); - STRUCTURE.put("TTCCG", new ArrayList() {{add(5.09); add(-5.36); add(35.82); add(34.24); add(-1.8); add(-1.46); }} ); - STRUCTURE.put("TTCCC", new ArrayList() {{add(4.73); add(-4.39); add(36.01); add(33.66); add(-0.97); add(-1.61); }} ); - STRUCTURE.put("TGAAA", new ArrayList() {{add(5.4); add(-10.81); add(34.89); add(35.9); add(0.49); add(-1.64); }} ); - STRUCTURE.put("TGAAT", new ArrayList() {{add(5.22); add(-10.83); add(35.03); add(36.06); add(0.21); add(-2.45); }} ); - STRUCTURE.put("TGAAG", new ArrayList() {{add(5.15); add(-10.24); add(35.1); add(35.14); add(0.22); add(-3.01); }} ); - STRUCTURE.put("TGAAC", new ArrayList() {{add(5.35); add(-10.38); add(35.12); add(35.57); add(0.09); add(-2.98); }} ); - STRUCTURE.put("TGATA", new ArrayList() {{add(5.38); add(-7.32); add(35.75); add(31.94); add(-1.13); add(-3.4); }} ); - STRUCTURE.put("TGATT", new ArrayList() {{add(4.46); add(-9.91); add(36.14); add(33.01); add(-1.08); add(-4.75); }} ); - STRUCTURE.put("TGATG", new ArrayList() {{add(5.22); add(-8.13); add(35.36); add(31.93); add(-0.46); add(-3.98); }} ); - STRUCTURE.put("TGATC", new ArrayList() {{add(4.77); add(-7.81); add(35.6); add(32.48); add(-1.37); add(-4.67); }} ); - STRUCTURE.put("TGAGA", new ArrayList() {{add(5.29); add(-6.62); add(35.17); add(31.77); add(-1.29); add(-2.02); }} ); - STRUCTURE.put("TGAGT", new ArrayList() {{add(4.89); add(-7.5); add(35.29); add(32.14); add(-1.75); add(-2.78); }} ); - STRUCTURE.put("TGAGG", new ArrayList() {{add(5.3); add(-6.36); add(34.61); add(31.54); add(-0.98); add(-2.49); }} ); - STRUCTURE.put("TGAGC", new ArrayList() {{add(5.4); add(-6.75); add(34.81); add(31.45); add(-0.9); add(-2.11); }} ); - STRUCTURE.put("TGACA", new ArrayList() {{add(5.43); add(-8.28); add(35.3); add(34.2); add(-1.53); add(-2.49); }} ); - STRUCTURE.put("TGACT", new ArrayList() {{add(4.89); add(-8.11); add(35.14); add(35.06); add(-1.77); add(-3.69); }} ); - STRUCTURE.put("TGACG", new ArrayList() {{add(5.39); add(-8.47); add(35.16); add(34.29); add(-1.16); add(-2.4); }} ); - STRUCTURE.put("TGACC", new ArrayList() {{add(4.94); add(-7.96); add(35.47); add(34.83); add(-2.01); add(-3.46); }} ); - STRUCTURE.put("TGTAA", new ArrayList() {{add(5.99); add(-7.55); add(33.74); add(34.6); add(-2.1); add(6.03); }} ); - STRUCTURE.put("TGTAT", new ArrayList() {{add(5.82); add(-8.93); add(34.26); add(34.63); add(-2.07); add(5.89); }} ); - STRUCTURE.put("TGTAG", new ArrayList() {{add(5.74); add(-8.6); add(33.91); add(35.06); add(-3.23); add(3.24); }} ); - STRUCTURE.put("TGTAC", new ArrayList() {{add(6.2); add(-8.0); add(33.68); add(34.52); add(-1.75); add(4.26); }} ); - STRUCTURE.put("TGTTA", new ArrayList() {{add(5.17); add(-11.35); add(34.78); add(35.32); add(-2.47); add(-2.39); }} ); - STRUCTURE.put("TGTTT", new ArrayList() {{add(4.65); add(-13.05); add(35.22); add(36.59); add(-2.89); add(-2.98); }} ); - STRUCTURE.put("TGTTG", new ArrayList() {{add(5.24); add(-11.69); add(34.7); add(35.19); add(-2.5); add(-2.78); }} ); - STRUCTURE.put("TGTTC", new ArrayList() {{add(4.85); add(-10.91); add(34.81); add(35.68); add(-2.74); add(-3.14); }} ); - STRUCTURE.put("TGTGA", new ArrayList() {{add(5.84); add(-7.82); add(33.59); add(34.48); add(-2.33); add(3.97); }} ); - STRUCTURE.put("TGTGT", new ArrayList() {{add(5.5); add(-9.33); add(33.88); add(35.28); add(-2.65); add(2.96); }} ); - STRUCTURE.put("TGTGG", new ArrayList() {{add(5.8); add(-7.33); add(33.07); add(34.79); add(-1.82); add(2.59); }} ); - STRUCTURE.put("TGTGC", new ArrayList() {{add(5.94); add(-8.3); add(33.55); add(35.01); add(-1.85); add(3.31); }} ); - STRUCTURE.put("TGTCA", new ArrayList() {{add(5.43); add(-8.28); add(34.2); add(35.3); add(-2.49); add(-1.53); }} ); - STRUCTURE.put("TGTCT", new ArrayList() {{add(4.99); add(-8.49); add(34.36); add(36.49); add(-2.8); add(-1.88); }} ); - STRUCTURE.put("TGTCG", new ArrayList() {{add(5.28); add(-8.25); add(34.23); add(35.73); add(-2.39); add(-1.7); }} ); - STRUCTURE.put("TGTCC", new ArrayList() {{add(5.02); add(-7.71); add(34.09); add(36.22); add(-2.88); add(-2.2); }} ); - STRUCTURE.put("TGGAA", new ArrayList() {{add(4.97); add(-5.2); add(33.8); add(36.04); add(-0.87); add(-0.69); }} ); - STRUCTURE.put("TGGAT", new ArrayList() {{add(4.94); add(-5.7); add(33.69); add(36.24); add(-0.54); add(-0.96); }} ); - STRUCTURE.put("TGGAG", new ArrayList() {{add(5.02); add(-5.45); add(33.85); add(35.8); add(-0.86); add(-1.81); }} ); - STRUCTURE.put("TGGAC", new ArrayList() {{add(5.19); add(-5.78); add(33.79); add(36.11); add(-0.37); add(-2.08); }} ); - STRUCTURE.put("TGGTA", new ArrayList() {{add(5.13); add(-5.96); add(34.3); add(34.38); add(-0.68); add(-2.45); }} ); - STRUCTURE.put("TGGTT", new ArrayList() {{add(4.33); add(-8.86); add(34.89); add(35.26); add(-0.59); add(-3.3); }} ); - STRUCTURE.put("TGGTG", new ArrayList() {{add(4.84); add(-7.0); add(34.81); add(34.27); add(-0.68); add(-2.83); }} ); - STRUCTURE.put("TGGTC", new ArrayList() {{add(4.84); add(-6.17); add(34.3); add(34.68); add(-0.69); add(-2.73); }} ); - STRUCTURE.put("TGGGA", new ArrayList() {{add(4.93); add(-2.42); add(33.23); add(33.69); add(-1.55); add(-0.93); }} ); - STRUCTURE.put("TGGGT", new ArrayList() {{add(4.66); add(-3.38); add(33.53); add(34.63); add(-2.0); add(-1.42); }} ); - STRUCTURE.put("TGGGG", new ArrayList() {{add(4.89); add(-2.02); add(33.26); add(33.49); add(-1.74); add(-2.1); }} ); - STRUCTURE.put("TGGGC", new ArrayList() {{add(4.96); add(-2.77); add(33.45); add(33.75); add(-2.07); add(-1.99); }} ); - STRUCTURE.put("TGGCA", new ArrayList() {{add(5.24); add(-2.98); add(33.34); add(36.44); add(-1.33); add(-1.81); }} ); - STRUCTURE.put("TGGCT", new ArrayList() {{add(4.53); add(-2.76); add(33.35); add(37.62); add(-2.44); add(-3.86); }} ); - STRUCTURE.put("TGGCG", new ArrayList() {{add(5.06); add(-2.98); add(33.36); add(36.34); add(-1.66); add(-1.9); }} ); - STRUCTURE.put("TGGCC", new ArrayList() {{add(4.93); add(-2.54); add(33.23); add(37.04); add(-1.76); add(-2.42); }} ); - STRUCTURE.put("TGCAA", new ArrayList() {{add(5.78); add(-3.8); add(35.49); add(34.61); add(-1.25); add(4.6); }} ); - STRUCTURE.put("TGCAT", new ArrayList() {{add(5.55); add(-3.73); add(35.6); add(35.12); add(-1.2); add(4.66); }} ); - STRUCTURE.put("TGCAG", new ArrayList() {{add(5.79); add(-3.68); add(35.64); add(34.5); add(-0.7); add(3.43); }} ); - STRUCTURE.put("TGCAC", new ArrayList() {{add(5.94); add(-3.74); add(35.46); add(34.64); add(-0.76); add(2.85); }} ); - STRUCTURE.put("TGCTA", new ArrayList() {{add(5.36); add(-1.6); add(36.48); add(31.39); add(-1.5); add(-2.09); }} ); - STRUCTURE.put("TGCTT", new ArrayList() {{add(4.61); add(-1.47); add(37.13); add(32.29); add(-3.31); add(-3.05); }} ); - STRUCTURE.put("TGCTG", new ArrayList() {{add(5.27); add(-1.72); add(36.65); add(31.23); add(-1.51); add(-1.86); }} ); - STRUCTURE.put("TGCTC", new ArrayList() {{add(5.1); add(-0.94); add(36.61); add(31.46); add(-2.29); add(-2.44); }} ); - STRUCTURE.put("TGCGA", new ArrayList() {{add(5.68); add(-3.81); add(35.53); add(33.31); add(-0.91); add(4.16); }} ); - STRUCTURE.put("TGCGT", new ArrayList() {{add(5.27); add(-4.25); add(35.83); add(33.71); add(-1.26); add(4.21); }} ); - STRUCTURE.put("TGCGG", new ArrayList() {{add(5.59); add(-4.13); add(35.63); add(33.13); add(-0.88); add(2.75); }} ); - STRUCTURE.put("TGCGC", new ArrayList() {{add(5.71); add(-3.94); add(35.52); add(32.79); add(-0.67); add(3.54); }} ); - STRUCTURE.put("TGCCA", new ArrayList() {{add(5.24); add(-2.98); add(36.44); add(33.34); add(-1.81); add(-1.33); }} ); - STRUCTURE.put("TGCCT", new ArrayList() {{add(4.82); add(-2.38); add(36.26); add(34.03); add(-2.41); add(-2.06); }} ); - STRUCTURE.put("TGCCG", new ArrayList() {{add(5.17); add(-3.11); add(36.2); add(33.58); add(-1.38); add(-1.26); }} ); - STRUCTURE.put("TGCCC", new ArrayList() {{add(5.02); add(-2.52); add(36.27); add(33.82); add(-1.81); add(-1.78); }} ); - STRUCTURE.put("TCAAA", new ArrayList() {{add(5.6); add(-10.28); add(34.64); add(35.3); add(5.24); add(-2.67); }} ); - STRUCTURE.put("TCAAT", new ArrayList() {{add(5.46); add(-10.92); add(34.6); add(34.93); add(7.05); add(-2.1); }} ); - STRUCTURE.put("TCAAG", new ArrayList() {{add(5.4); add(-9.98); add(34.53); add(34.76); add(5.51); add(-3.44); }} ); - STRUCTURE.put("TCAAC", new ArrayList() {{add(5.65); add(-10.22); add(34.69); add(34.93); add(5.39); add(-3.34); }} ); - STRUCTURE.put("TCATA", new ArrayList() {{add(5.84); add(-7.0); add(35.1); add(31.46); add(4.95); add(-3.24); }} ); - STRUCTURE.put("TCATT", new ArrayList() {{add(4.46); add(-9.02); add(34.98); add(32.87); add(3.8); add(-6.08); }} ); - STRUCTURE.put("TCATG", new ArrayList() {{add(5.27); add(-9.26); add(35.0); add(31.75); add(5.91); add(-4.44); }} ); - STRUCTURE.put("TCATC", new ArrayList() {{add(5.08); add(-7.37); add(34.64); add(32.03); add(4.02); add(-4.68); }} ); - STRUCTURE.put("TCAGA", new ArrayList() {{add(5.47); add(-6.32); add(34.38); add(31.28); add(4.43); add(-1.76); }} ); - STRUCTURE.put("TCAGT", new ArrayList() {{add(5.48); add(-7.1); add(34.41); add(31.46); add(4.75); add(-1.92); }} ); - STRUCTURE.put("TCAGG", new ArrayList() {{add(5.47); add(-5.31); add(34.07); add(30.94); add(3.63); add(-3.12); }} ); - STRUCTURE.put("TCAGC", new ArrayList() {{add(5.74); add(-6.36); add(34.29); add(31.14); add(4.93); add(-2.0); }} ); - STRUCTURE.put("TCACA", new ArrayList() {{add(5.84); add(-7.82); add(34.48); add(33.59); add(3.97); add(-2.33); }} ); - STRUCTURE.put("TCACT", new ArrayList() {{add(5.22); add(-7.1); add(33.87); add(34.23); add(3.56); add(-3.58); }} ); - STRUCTURE.put("TCACG", new ArrayList() {{add(5.71); add(-8.08); add(34.66); add(33.8); add(4.27); add(-2.49); }} ); - STRUCTURE.put("TCACC", new ArrayList() {{add(5.4); add(-7.04); add(34.15); add(34.04); add(3.82); add(-3.21); }} ); - STRUCTURE.put("TCTAA", new ArrayList() {{add(6.0); add(-6.61); add(31.27); add(34.4); add(-1.11); add(6.26); }} ); - STRUCTURE.put("TCTAT", new ArrayList() {{add(5.69); add(-7.03); add(31.88); add(34.25); add(-1.51); add(6.34); }} ); - STRUCTURE.put("TCTAG", new ArrayList() {{add(5.84); add(-6.98); add(31.57); add(34.35); add(-1.22); add(5.27); }} ); - STRUCTURE.put("TCTAC", new ArrayList() {{add(5.76); add(-6.38); add(30.99); add(34.42); add(-2.44); add(4.12); }} ); - STRUCTURE.put("TCTTA", new ArrayList() {{add(4.93); add(-8.51); add(32.43); add(34.89); add(-2.51); add(-3.37); }} ); - STRUCTURE.put("TCTTT", new ArrayList() {{add(4.02); add(-10.71); add(33.18); add(36.69); add(-3.21); add(-4.76); }} ); - STRUCTURE.put("TCTTG", new ArrayList() {{add(4.92); add(-9.12); add(32.47); add(34.77); add(-1.59); add(-3.37); }} ); - STRUCTURE.put("TCTTC", new ArrayList() {{add(4.52); add(-8.18); add(32.42); add(35.03); add(-2.28); add(-3.52); }} ); - STRUCTURE.put("TCTGA", new ArrayList() {{add(5.47); add(-6.32); add(31.28); add(34.38); add(-1.76); add(4.43); }} ); - STRUCTURE.put("TCTGT", new ArrayList() {{add(5.33); add(-7.0); add(31.6); add(35.0); add(-1.93); add(3.72); }} ); - STRUCTURE.put("TCTGG", new ArrayList() {{add(5.56); add(-6.09); add(31.02); add(33.91); add(-2.71); add(2.85); }} ); - STRUCTURE.put("TCTGC", new ArrayList() {{add(5.75); add(-6.69); add(31.17); add(33.98); add(-1.2); add(4.1); }} ); - STRUCTURE.put("TCTCA", new ArrayList() {{add(5.29); add(-6.62); add(31.77); add(35.17); add(-2.02); add(-1.29); }} ); - STRUCTURE.put("TCTCT", new ArrayList() {{add(5.0); add(-6.62); add(31.7); add(35.8); add(-1.87); add(-1.55); }} ); - STRUCTURE.put("TCTCG", new ArrayList() {{add(5.17); add(-6.8); add(31.51); add(35.18); add(-1.9); add(-1.21); }} ); - STRUCTURE.put("TCTCC", new ArrayList() {{add(4.92); add(-6.1); add(31.48); add(35.79); add(-2.23); add(-2.03); }} ); - STRUCTURE.put("TCGAA", new ArrayList() {{add(5.75); add(-5.99); add(32.98); add(34.95); add(5.38); add(0.19); }} ); - STRUCTURE.put("TCGAT", new ArrayList() {{add(5.23); add(-7.08); add(32.77); add(35.76); add(5.51); add(-0.54); }} ); - STRUCTURE.put("TCGAG", new ArrayList() {{add(5.42); add(-6.72); add(33.01); add(35.17); add(5.47); add(-1.2); }} ); - STRUCTURE.put("TCGAC", new ArrayList() {{add(5.64); add(-6.68); add(33.06); add(35.51); add(5.38); add(-1.63); }} ); - STRUCTURE.put("TCGTA", new ArrayList() {{add(5.61); add(-6.48); add(33.73); add(33.57); add(4.91); add(-1.92); }} ); - STRUCTURE.put("TCGTT", new ArrayList() {{add(4.8); add(-9.62); add(33.66); add(34.71); add(5.41); add(-2.49); }} ); - STRUCTURE.put("TCGTG", new ArrayList() {{add(5.29); add(-7.95); add(33.99); add(33.77); add(5.8); add(-2.18); }} ); - STRUCTURE.put("TCGTC", new ArrayList() {{add(5.16); add(-7.11); add(33.65); add(34.18); add(4.81); add(-2.39); }} ); - STRUCTURE.put("TCGGA", new ArrayList() {{add(5.36); add(-3.04); add(32.77); add(33.64); add(3.14); add(-0.81); }} ); - STRUCTURE.put("TCGGT", new ArrayList() {{add(5.02); add(-4.29); add(32.64); add(34.18); add(3.35); add(-0.94); }} ); - STRUCTURE.put("TCGGG", new ArrayList() {{add(5.22); add(-2.92); add(32.86); add(33.58); add(3.35); add(-1.75); }} ); - STRUCTURE.put("TCGGC", new ArrayList() {{add(5.43); add(-3.4); add(32.47); add(32.95); add(3.91); add(-0.99); }} ); - STRUCTURE.put("TCGCA", new ArrayList() {{add(5.68); add(-3.81); add(33.31); add(35.53); add(4.16); add(-0.91); }} ); - STRUCTURE.put("TCGCT", new ArrayList() {{add(5.19); add(-3.56); add(32.44); add(36.83); add(4.15); add(-2.29); }} ); - STRUCTURE.put("TCGCG", new ArrayList() {{add(5.42); add(-4.27); add(32.65); add(35.66); add(4.5); add(-1.33); }} ); - STRUCTURE.put("TCGCC", new ArrayList() {{add(5.4); add(-2.99); add(32.6); add(36.2); add(3.27); add(-1.65); }} ); - STRUCTURE.put("TCCAA", new ArrayList() {{add(5.42); add(-2.74); add(33.66); add(34.57); add(-1.03); add(2.7); }} ); - STRUCTURE.put("TCCAT", new ArrayList() {{add(5.34); add(-3.37); add(33.69); add(34.46); add(-0.26); add(4.34); }} ); - STRUCTURE.put("TCCAG", new ArrayList() {{add(5.31); add(-2.98); add(33.74); add(33.98); add(-0.76); add(2.8); }} ); - STRUCTURE.put("TCCAC", new ArrayList() {{add(5.58); add(-3.48); add(33.75); add(34.34); add(-0.49); add(2.75); }} ); - STRUCTURE.put("TCCTA", new ArrayList() {{add(4.98); add(-1.39); add(34.64); add(31.66); add(-0.97); add(-2.51); }} ); - STRUCTURE.put("TCCTT", new ArrayList() {{add(4.31); add(-1.33); add(34.9); add(32.55); add(-1.91); add(-3.38); }} ); - STRUCTURE.put("TCCTG", new ArrayList() {{add(4.92); add(-0.9); add(34.22); add(31.21); add(-1.05); add(-2.79); }} ); - STRUCTURE.put("TCCTC", new ArrayList() {{add(4.8); add(-0.44); add(34.17); add(31.53); add(-1.37); add(-2.86); }} ); - STRUCTURE.put("TCCGA", new ArrayList() {{add(5.36); add(-3.04); add(33.64); add(32.77); add(-0.81); add(3.14); }} ); - STRUCTURE.put("TCCGT", new ArrayList() {{add(5.06); add(-3.36); add(34.6); add(33.01); add(-2.1); add(2.56); }} ); - STRUCTURE.put("TCCGG", new ArrayList() {{add(5.39); add(-3.19); add(33.6); add(32.84); add(-0.62); add(1.31); }} ); - STRUCTURE.put("TCCGC", new ArrayList() {{add(5.27); add(-3.15); add(33.51); add(32.42); add(-0.89); add(2.4); }} ); - STRUCTURE.put("TCCCA", new ArrayList() {{add(4.93); add(-2.42); add(33.69); add(33.23); add(-0.93); add(-1.55); }} ); - STRUCTURE.put("TCCCT", new ArrayList() {{add(4.68); add(-1.76); add(33.6); add(33.86); add(-1.61); add(-2.51); }} ); - STRUCTURE.put("TCCCG", new ArrayList() {{add(4.95); add(-2.56); add(34.12); add(33.56); add(-0.91); add(-1.93); }} ); - STRUCTURE.put("TCCCC", new ArrayList() {{add(4.76); add(-1.44); add(33.65); add(33.55); add(-1.23); add(-2.33); }} ); - STRUCTURE.put("GAAAA", new ArrayList() {{add(4.35); add(-13.16); add(36.32); add(37.0); add(-3.67); add(-4.32); }} ); - STRUCTURE.put("GAAAT", new ArrayList() {{add(4.27); add(-12.09); add(35.77); add(36.7); add(-3.13); add(-4.4); }} ); - STRUCTURE.put("GAAAG", new ArrayList() {{add(4.36); add(-11.93); add(35.91); add(36.1); add(-3.0); add(-4.95); }} ); - STRUCTURE.put("GAAAC", new ArrayList() {{add(4.74); add(-12.76); add(36.01); add(36.17); add(-2.18); add(-3.35); }} ); - STRUCTURE.put("GAATA", new ArrayList() {{add(4.51); add(-10.01); add(35.93); add(32.92); add(-3.1); add(-4.85); }} ); - STRUCTURE.put("GAATT", new ArrayList() {{add(3.75); add(-11.18); add(36.17); add(33.75); add(-3.59); add(-6.49); }} ); - STRUCTURE.put("GAATG", new ArrayList() {{add(4.39); add(-9.43); add(35.63); add(32.69); add(-3.64); add(-5.91); }} ); - STRUCTURE.put("GAATC", new ArrayList() {{add(4.36); add(-9.46); add(35.53); add(32.93); add(-3.18); add(-5.55); }} ); - STRUCTURE.put("GAAGA", new ArrayList() {{add(4.52); add(-8.18); add(35.03); add(32.42); add(-3.52); add(-2.28); }} ); - STRUCTURE.put("GAAGT", new ArrayList() {{add(4.31); add(-8.83); add(35.22); add(32.77); add(-4.2); add(-3.34); }} ); - STRUCTURE.put("GAAGG", new ArrayList() {{add(4.63); add(-7.38); add(34.75); add(32.02); add(-3.82); add(-3.57); }} ); - STRUCTURE.put("GAAGC", new ArrayList() {{add(4.82); add(-8.01); add(34.96); add(32.06); add(-3.36); add(-2.79); }} ); - STRUCTURE.put("GAACA", new ArrayList() {{add(4.85); add(-10.91); add(35.68); add(34.81); add(-3.14); add(-2.74); }} ); - STRUCTURE.put("GAACT", new ArrayList() {{add(4.25); add(-10.45); add(35.24); add(35.93); add(-3.79); add(-4.54); }} ); - STRUCTURE.put("GAACG", new ArrayList() {{add(4.74); add(-11.06); add(35.71); add(34.9); add(-2.93); add(-2.93); }} ); - STRUCTURE.put("GAACC", new ArrayList() {{add(4.46); add(-10.08); add(35.45); add(35.19); add(-3.83); add(-3.59); }} ); - STRUCTURE.put("GATAA", new ArrayList() {{add(5.89); add(-7.66); add(31.94); add(34.59); add(-3.54); add(7.32); }} ); - STRUCTURE.put("GATAT", new ArrayList() {{add(5.4); add(-8.3); add(32.32); add(35.01); add(-3.98); add(6.33); }} ); - STRUCTURE.put("GATAG", new ArrayList() {{add(5.54); add(-8.88); add(32.43); add(33.89); add(-4.19); add(6.28); }} ); - STRUCTURE.put("GATAC", new ArrayList() {{add(5.65); add(-8.06); add(32.1); add(34.46); add(-3.62); add(5.72); }} ); - STRUCTURE.put("GATTA", new ArrayList() {{add(4.81); add(-10.25); add(32.72); add(35.28); add(-4.51); add(-2.32); }} ); - STRUCTURE.put("GATTT", new ArrayList() {{add(4.12); add(-12.27); add(33.42); add(36.55); add(-5.36); add(-2.43); }} ); - STRUCTURE.put("GATTG", new ArrayList() {{add(4.81); add(-10.33); add(32.75); add(34.92); add(-4.28); add(-2.12); }} ); - STRUCTURE.put("GATTC", new ArrayList() {{add(4.36); add(-9.46); add(32.93); add(35.53); add(-5.55); add(-3.18); }} ); - STRUCTURE.put("GATGA", new ArrayList() {{add(5.08); add(-7.37); add(32.03); add(34.64); add(-4.68); add(4.02); }} ); - STRUCTURE.put("GATGT", new ArrayList() {{add(4.82); add(-8.65); add(32.37); add(35.37); add(-4.91); add(5.15); }} ); - STRUCTURE.put("GATGG", new ArrayList() {{add(5.53); add(-7.48); add(31.66); add(34.54); add(-3.42); add(4.13); }} ); - STRUCTURE.put("GATGC", new ArrayList() {{add(5.38); add(-7.6); add(31.96); add(34.59); add(-4.24); add(3.67); }} ); - STRUCTURE.put("GATCA", new ArrayList() {{add(4.77); add(-7.81); add(32.48); add(35.6); add(-4.67); add(-1.37); }} ); - STRUCTURE.put("GATCT", new ArrayList() {{add(4.36); add(-8.23); add(32.82); add(36.68); add(-5.53); add(-1.69); }} ); - STRUCTURE.put("GATCG", new ArrayList() {{add(4.96); add(-7.79); add(32.29); add(35.54); add(-4.15); add(-0.57); }} ); - STRUCTURE.put("GATCC", new ArrayList() {{add(4.63); add(-7.56); add(32.41); add(36.29); add(-4.63); add(-1.67); }} ); - STRUCTURE.put("GAGAA", new ArrayList() {{add(4.67); add(-2.4); add(31.51); add(36.61); add(-2.79); add(-1.63); }} ); - STRUCTURE.put("GAGAT", new ArrayList() {{add(4.74); add(-2.78); add(31.47); add(36.47); add(-2.16); add(-1.46); }} ); - STRUCTURE.put("GAGAG", new ArrayList() {{add(4.93); add(-2.54); add(31.39); add(35.65); add(-1.93); add(-1.9); }} ); - STRUCTURE.put("GAGAC", new ArrayList() {{add(5.04); add(-3.46); add(31.76); add(36.17); add(-1.45); add(-1.85); }} ); - STRUCTURE.put("GAGTA", new ArrayList() {{add(4.69); add(-3.05); add(31.76); add(34.56); add(-2.76); add(-3.67); }} ); - STRUCTURE.put("GAGTT", new ArrayList() {{add(3.95); add(-5.23); add(32.41); add(36.03); add(-3.01); add(-4.38); }} ); - STRUCTURE.put("GAGTG", new ArrayList() {{add(4.78); add(-3.31); add(31.79); add(34.12); add(-1.98); add(-3.21); }} ); - STRUCTURE.put("GAGTC", new ArrayList() {{add(4.53); add(-3.11); add(31.83); add(34.87); add(-2.44); add(-3.57); }} ); - STRUCTURE.put("GAGGA", new ArrayList() {{add(4.8); add(-0.44); add(31.53); add(34.17); add(-2.86); add(-1.37); }} ); - STRUCTURE.put("GAGGT", new ArrayList() {{add(4.37); add(-0.88); add(31.49); add(34.93); add(-3.46); add(-2.35); }} ); - STRUCTURE.put("GAGGG", new ArrayList() {{add(4.78); add(-0.03); add(31.33); add(33.87); add(-2.73); add(-2.62); }} ); - STRUCTURE.put("GAGGC", new ArrayList() {{add(4.85); add(-0.7); add(31.38); add(33.92); add(-2.42); add(-2.18); }} ); - STRUCTURE.put("GAGCA", new ArrayList() {{add(5.1); add(-0.94); add(31.46); add(36.61); add(-2.44); add(-2.29); }} ); - STRUCTURE.put("GAGCT", new ArrayList() {{add(4.63); add(-0.83); add(31.33); add(37.66); add(-2.86); add(-3.25); }} ); - STRUCTURE.put("GAGCG", new ArrayList() {{add(5.02); add(-1.32); add(31.47); add(36.68); add(-1.89); add(-1.98); }} ); - STRUCTURE.put("GAGCC", new ArrayList() {{add(4.67); add(-0.53); add(31.39); add(37.09); add(-2.76); add(-3.07); }} ); - STRUCTURE.put("GACAA", new ArrayList() {{add(5.57); add(-7.48); add(33.76); add(34.98); add(-1.95); add(6.28); }} ); - STRUCTURE.put("GACAT", new ArrayList() {{add(5.02); add(-7.1); add(34.24); add(35.42); add(-2.83); add(4.9); }} ); - STRUCTURE.put("GACAG", new ArrayList() {{add(5.26); add(-6.88); add(34.25); add(34.79); add(-2.46); add(3.98); }} ); - STRUCTURE.put("GACAC", new ArrayList() {{add(5.49); add(-7.25); add(34.03); add(34.92); add(-2.01); add(4.23); }} ); - STRUCTURE.put("GACTA", new ArrayList() {{add(5.08); add(-3.9); add(34.57); add(31.53); add(-2.07); add(-1.0); }} ); - STRUCTURE.put("GACTT", new ArrayList() {{add(3.74); add(-4.07); add(35.44); add(33.16); add(-5.04); add(-4.01); }} ); - STRUCTURE.put("GACTG", new ArrayList() {{add(5.0); add(-3.96); add(34.65); add(31.46); add(-2.08); add(-1.4); }} ); - STRUCTURE.put("GACTC", new ArrayList() {{add(4.53); add(-3.11); add(34.87); add(31.83); add(-3.57); add(-2.44); }} ); - STRUCTURE.put("GACGA", new ArrayList() {{add(5.16); add(-7.11); add(34.18); add(33.65); add(-2.39); add(4.81); }} ); - STRUCTURE.put("GACGT", new ArrayList() {{add(4.7); add(-7.92); add(34.58); add(34.3); add(-3.06); add(5.05); }} ); - STRUCTURE.put("GACGG", new ArrayList() {{add(5.1); add(-7.15); add(34.1); add(33.08); add(-2.46); add(3.11); }} ); - STRUCTURE.put("GACGC", new ArrayList() {{add(5.09); add(-7.38); add(34.21); add(33.02); add(-2.45); add(4.23); }} ); - STRUCTURE.put("GACCA", new ArrayList() {{add(4.84); add(-6.17); add(34.68); add(34.3); add(-2.73); add(-0.69); }} ); - STRUCTURE.put("GACCT", new ArrayList() {{add(4.18); add(-5.67); add(34.84); add(35.04); add(-3.96); add(-2.46); }} ); - STRUCTURE.put("GACCG", new ArrayList() {{add(4.69); add(-5.99); add(34.65); add(34.17); add(-2.77); add(-0.84); }} ); - STRUCTURE.put("GACCC", new ArrayList() {{add(4.45); add(-5.33); add(34.81); add(34.36); add(-3.44); add(-1.78); }} ); - STRUCTURE.put("GTAAA", new ArrayList() {{add(5.91); add(-11.89); add(34.25); add(35.53); add(6.47); add(-0.99); }} ); - STRUCTURE.put("GTAAT", new ArrayList() {{add(5.44); add(-11.34); add(34.68); add(35.53); add(5.03); add(-2.51); }} ); - STRUCTURE.put("GTAAG", new ArrayList() {{add(5.62); add(-10.31); add(34.34); add(34.87); add(5.9); add(-3.24); }} ); - STRUCTURE.put("GTAAC", new ArrayList() {{add(5.86); add(-10.83); add(34.23); add(35.06); add(5.89); add(-2.71); }} ); - STRUCTURE.put("GTATA", new ArrayList() {{add(6.01); add(-7.88); add(34.63); add(31.78); add(5.6); add(-2.8); }} ); - STRUCTURE.put("GTATT", new ArrayList() {{add(5.3); add(-10.45); add(34.79); add(32.78); add(6.24); add(-4.27); }} ); - STRUCTURE.put("GTATG", new ArrayList() {{add(5.93); add(-8.42); add(34.49); add(31.46); add(6.01); add(-2.99); }} ); - STRUCTURE.put("GTATC", new ArrayList() {{add(5.65); add(-8.06); add(34.46); add(32.1); add(5.72); add(-3.62); }} ); - STRUCTURE.put("GTAGA", new ArrayList() {{add(5.76); add(-6.38); add(34.42); add(30.99); add(4.12); add(-2.44); }} ); - STRUCTURE.put("GTAGT", new ArrayList() {{add(5.62); add(-8.16); add(34.24); add(31.68); add(4.89); add(-1.63); }} ); - STRUCTURE.put("GTAGG", new ArrayList() {{add(5.76); add(-6.19); add(34.06); add(31.41); add(4.46); add(-2.71); }} ); - STRUCTURE.put("GTAGC", new ArrayList() {{add(5.88); add(-6.96); add(34.48); add(31.25); add(4.45); add(-2.28); }} ); - STRUCTURE.put("GTACA", new ArrayList() {{add(6.2); add(-8.0); add(34.52); add(33.68); add(4.26); add(-1.75); }} ); - STRUCTURE.put("GTACT", new ArrayList() {{add(5.54); add(-8.16); add(33.82); add(34.74); add(4.94); add(-2.73); }} ); - STRUCTURE.put("GTACG", new ArrayList() {{add(5.93); add(-8.84); add(34.2); add(33.97); add(4.68); add(-2.11); }} ); - STRUCTURE.put("GTACC", new ArrayList() {{add(5.84); add(-8.12); add(34.23); add(34.34); add(4.32); add(-2.37); }} ); - STRUCTURE.put("GTTAA", new ArrayList() {{add(5.85); add(-10.44); add(35.05); add(34.36); add(-2.86); add(7.53); }} ); - STRUCTURE.put("GTTAT", new ArrayList() {{add(5.62); add(-10.51); add(35.5); add(34.54); add(-3.5); add(6.14); }} ); - STRUCTURE.put("GTTAG", new ArrayList() {{add(5.8); add(-10.65); add(35.18); add(34.54); add(-2.89); add(5.73); }} ); - STRUCTURE.put("GTTAC", new ArrayList() {{add(5.86); add(-10.83); add(35.06); add(34.23); add(-2.71); add(5.89); }} ); - STRUCTURE.put("GTTTA", new ArrayList() {{add(5.1); add(-13.54); add(36.4); add(35.72); add(-2.84); add(-1.29); }} ); - STRUCTURE.put("GTTTT", new ArrayList() {{add(4.05); add(-14.47); add(36.95); add(37.13); add(-4.8); add(-3.62); }} ); - STRUCTURE.put("GTTTG", new ArrayList() {{add(4.95); add(-13.1); add(36.33); add(35.28); add(-3.27); add(-2.42); }} ); - STRUCTURE.put("GTTTC", new ArrayList() {{add(4.74); add(-12.76); add(36.17); add(36.01); add(-3.35); add(-2.18); }} ); - STRUCTURE.put("GTTGA", new ArrayList() {{add(5.65); add(-10.22); add(34.93); add(34.69); add(-3.34); add(5.39); }} ); - STRUCTURE.put("GTTGT", new ArrayList() {{add(5.58); add(-11.7); add(35.25); add(35.22); add(-3.26); add(6.2); }} ); - STRUCTURE.put("GTTGG", new ArrayList() {{add(5.42); add(-9.8); add(31.76); add(34.44); add(-1.94); add(6.57); }} ); - STRUCTURE.put("GTTGC", new ArrayList() {{add(5.7); add(-10.75); add(35.02); add(34.8); add(-2.98); add(4.66); }} ); - STRUCTURE.put("GTTCA", new ArrayList() {{add(5.35); add(-10.38); add(35.57); add(35.12); add(-2.98); add(0.09); }} ); - STRUCTURE.put("GTTCT", new ArrayList() {{add(4.85); add(-10.59); add(35.7); add(36.45); add(-3.03); add(-0.56); }} ); - STRUCTURE.put("GTTCG", new ArrayList() {{add(5.1); add(-10.48); add(35.58); add(35.61); add(-3.31); add(-0.26); }} ); - STRUCTURE.put("GTTCC", new ArrayList() {{add(4.84); add(-9.91); add(35.48); add(36.02); add(-3.78); add(-1.77); }} ); - STRUCTURE.put("GTGAA", new ArrayList() {{add(5.94); add(-6.21); add(34.78); add(34.8); add(4.07); add(0.69); }} ); - STRUCTURE.put("GTGAT", new ArrayList() {{add(5.35); add(-6.53); add(34.03); add(35.64); add(3.72); add(-0.51); }} ); - STRUCTURE.put("GTGAG", new ArrayList() {{add(5.8); add(-6.5); add(34.48); add(34.92); add(4.33); add(-0.77); }} ); - STRUCTURE.put("GTGAC", new ArrayList() {{add(6.01); add(-6.82); add(34.6); add(35.33); add(4.03); add(-1.42); }} ); - STRUCTURE.put("GTGTA", new ArrayList() {{add(5.74); add(-6.58); add(34.99); add(33.6); add(3.4); add(-2.01); }} ); - STRUCTURE.put("GTGTT", new ArrayList() {{add(5.05); add(-9.4); add(35.07); add(34.68); add(4.19); add(-2.42); }} ); - STRUCTURE.put("GTGTG", new ArrayList() {{add(5.73); add(-8.16); add(35.12); add(33.35); add(5.01); add(-1.37); }} ); - STRUCTURE.put("GTGTC", new ArrayList() {{add(5.49); add(-7.25); add(34.92); add(34.03); add(4.23); add(-2.01); }} ); - STRUCTURE.put("GTGGA", new ArrayList() {{add(5.58); add(-3.48); add(34.34); add(33.75); add(2.75); add(-0.49); }} ); - STRUCTURE.put("GTGGT", new ArrayList() {{add(5.38); add(-5.0); add(34.18); add(34.37); add(3.35); add(-0.49); }} ); - STRUCTURE.put("GTGGG", new ArrayList() {{add(5.41); add(-2.94); add(34.09); add(33.55); add(2.54); add(-1.85); }} ); - STRUCTURE.put("GTGGC", new ArrayList() {{add(5.46); add(-4.03); add(34.2); add(33.11); add(3.09); add(-1.52); }} ); - STRUCTURE.put("GTGCA", new ArrayList() {{add(5.94); add(-3.74); add(34.64); add(35.46); add(2.85); add(-0.76); }} ); - STRUCTURE.put("GTGCT", new ArrayList() {{add(5.43); add(-3.79); add(34.03); add(36.67); add(2.81); add(-1.72); }} ); - STRUCTURE.put("GTGCG", new ArrayList() {{add(5.88); add(-4.13); add(34.69); add(35.54); add(3.27); add(-0.64); }} ); - STRUCTURE.put("GTGCC", new ArrayList() {{add(5.66); add(-3.41); add(34.22); add(36.31); add(3.05); add(-1.35); }} ); - STRUCTURE.put("GTCAA", new ArrayList() {{add(5.91); add(-7.07); add(34.78); add(34.61); add(-0.77); add(6.83); }} ); - STRUCTURE.put("GTCAT", new ArrayList() {{add(5.45); add(-6.37); add(35.47); add(35.1); add(-2.06); add(5.16); }} ); - STRUCTURE.put("GTCAG", new ArrayList() {{add(5.67); add(-6.43); add(35.2); add(34.37); add(-1.29); add(4.57); }} ); - STRUCTURE.put("GTCAC", new ArrayList() {{add(6.01); add(-6.82); add(35.33); add(34.6); add(-1.42); add(4.03); }} ); - STRUCTURE.put("GTCTA", new ArrayList() {{add(5.32); add(-3.62); add(36.16); add(31.64); add(-1.45); add(-1.45); }} ); - STRUCTURE.put("GTCTT", new ArrayList() {{add(4.65); add(-3.82); add(36.4); add(32.56); add(-2.37); add(-2.15); }} ); - STRUCTURE.put("GTCTG", new ArrayList() {{add(5.22); add(-3.97); add(36.44); add(31.42); add(-1.52); add(-1.18); }} ); - STRUCTURE.put("GTCTC", new ArrayList() {{add(5.04); add(-3.46); add(36.17); add(31.76); add(-1.85); add(-1.45); }} ); - STRUCTURE.put("GTCGA", new ArrayList() {{add(5.64); add(-6.68); add(35.51); add(33.06); add(-1.63); add(5.38); }} ); - STRUCTURE.put("GTCGT", new ArrayList() {{add(5.34); add(-6.61); add(35.7); add(33.73); add(-2.42); add(5.01); }} ); - STRUCTURE.put("GTCGG", new ArrayList() {{add(5.54); add(-6.74); add(35.42); add(32.81); add(-1.52); add(3.41); }} ); - STRUCTURE.put("GTCGC", new ArrayList() {{add(5.56); add(-6.9); add(35.46); add(32.7); add(-1.39); add(4.64); }} ); - STRUCTURE.put("GTCCA", new ArrayList() {{add(5.19); add(-5.78); add(36.11); add(33.79); add(-2.08); add(-0.37); }} ); - STRUCTURE.put("GTCCT", new ArrayList() {{add(4.81); add(-5.39); add(36.03); add(34.49); add(-2.19); add(-0.96); }} ); - STRUCTURE.put("GTCCG", new ArrayList() {{add(5.08); add(-6.07); add(36.17); add(33.8); add(-1.73); add(-0.51); }} ); - STRUCTURE.put("GTCCC", new ArrayList() {{add(4.9); add(-5.28); add(35.97); add(33.99); add(-2.34); add(-0.93); }} ); - STRUCTURE.put("GGAAA", new ArrayList() {{add(4.63); add(-10.09); add(36.46); add(35.97); add(-1.41); add(-3.36); }} ); - STRUCTURE.put("GGAAT", new ArrayList() {{add(4.69); add(-9.61); add(35.99); add(35.6); add(-0.88); add(-3.73); }} ); - STRUCTURE.put("GGAAG", new ArrayList() {{add(4.63); add(-9.44); add(35.39); add(35.02); add(-0.61); add(-3.81); }} ); - STRUCTURE.put("GGAAC", new ArrayList() {{add(4.84); add(-9.91); add(36.02); add(35.48); add(-1.77); add(-3.78); }} ); - STRUCTURE.put("GGATA", new ArrayList() {{add(4.98); add(-7.47); add(36.04); add(32.31); add(-1.31); add(-4.17); }} ); - STRUCTURE.put("GGATT", new ArrayList() {{add(4.19); add(-9.67); add(36.57); add(33.31); add(-0.9); add(-5.81); }} ); - STRUCTURE.put("GGATG", new ArrayList() {{add(4.84); add(-7.65); add(36.16); add(32.03); add(-1.14); add(-4.71); }} ); - STRUCTURE.put("GGATC", new ArrayList() {{add(4.63); add(-7.56); add(36.29); add(32.41); add(-1.67); add(-4.63); }} ); - STRUCTURE.put("GGAGA", new ArrayList() {{add(4.92); add(-6.1); add(35.79); add(31.48); add(-2.03); add(-2.23); }} ); - STRUCTURE.put("GGAGT", new ArrayList() {{add(4.73); add(-6.75); add(35.76); add(31.81); add(-2.04); add(-2.84); }} ); - STRUCTURE.put("GGAGG", new ArrayList() {{add(4.93); add(-5.75); add(35.57); add(31.42); add(-1.91); add(-3.27); }} ); - STRUCTURE.put("GGAGC", new ArrayList() {{add(5.05); add(-6.07); add(35.75); add(31.38); add(-1.59); add(-2.75); }} ); - STRUCTURE.put("GGACA", new ArrayList() {{add(5.02); add(-7.71); add(36.22); add(34.09); add(-2.2); add(-2.88); }} ); - STRUCTURE.put("GGACT", new ArrayList() {{add(4.51); add(-7.34); add(35.78); add(34.97); add(-2.46); add(-4.26); }} ); - STRUCTURE.put("GGACG", new ArrayList() {{add(5.02); add(-8.11); add(36.13); add(34.01); add(-1.8); add(-2.49); }} ); - STRUCTURE.put("GGACC", new ArrayList() {{add(4.8); add(-7.55); add(35.8); add(34.71); add(-2.12); add(-3.32); }} ); - STRUCTURE.put("GGTAA", new ArrayList() {{add(5.43); add(-7.21); add(34.56); add(34.64); add(-3.71); add(5.01); }} ); - STRUCTURE.put("GGTAT", new ArrayList() {{add(5.46); add(-8.36); add(34.69); add(34.56); add(-2.59); add(5.39); }} ); - STRUCTURE.put("GGTAG", new ArrayList() {{add(5.55); add(-8.07); add(34.52); add(34.3); add(-2.63); add(4.24); }} ); - STRUCTURE.put("GGTAC", new ArrayList() {{add(5.84); add(-8.12); add(34.34); add(34.23); add(-2.37); add(4.32); }} ); - STRUCTURE.put("GGTTA", new ArrayList() {{add(4.87); add(-10.83); add(35.3); add(35.08); add(-3.26); add(-3.03); }} ); - STRUCTURE.put("GGTTT", new ArrayList() {{add(4.06); add(-12.41); add(36.2); add(36.34); add(-4.65); add(-3.75); }} ); - STRUCTURE.put("GGTTG", new ArrayList() {{add(4.82); add(-4.14); add(35.52); add(31.89); add(-3.18); add(-2.06); }} ); - STRUCTURE.put("GGTTC", new ArrayList() {{add(4.46); add(-10.08); add(35.19); add(35.45); add(-3.59); add(-3.83); }} ); - STRUCTURE.put("GGTGA", new ArrayList() {{add(5.4); add(-7.04); add(34.04); add(34.15); add(-3.21); add(3.82); }} ); - STRUCTURE.put("GGTGT", new ArrayList() {{add(5.31); add(-8.57); add(34.36); add(34.83); add(-2.95); add(3.95); }} ); - STRUCTURE.put("GGTGG", new ArrayList() {{add(5.56); add(-7.11); add(33.92); add(34.27); add(-2.55); add(2.46); }} ); - STRUCTURE.put("GGTGC", new ArrayList() {{add(5.56); add(-7.89); add(34.16); add(34.26); add(-2.69); add(2.97); }} ); - STRUCTURE.put("GGTCA", new ArrayList() {{add(4.94); add(-7.96); add(34.83); add(35.47); add(-3.46); add(-2.01); }} ); - STRUCTURE.put("GGTCT", new ArrayList() {{add(4.73); add(-8.04); add(34.74); add(36.1); add(-3.14); add(-1.9); }} ); - STRUCTURE.put("GGTCG", new ArrayList() {{add(4.82); add(-8.09); add(34.74); add(35.73); add(-3.5); add(-2.17); }} ); - STRUCTURE.put("GGTCC", new ArrayList() {{add(4.8); add(-7.55); add(34.71); add(35.8); add(-3.32); add(-2.12); }} ); - STRUCTURE.put("GGGAA", new ArrayList() {{add(4.73); add(-4.39); add(33.66); add(36.01); add(-1.61); add(-0.97); }} ); - STRUCTURE.put("GGGAT", new ArrayList() {{add(4.81); add(-4.91); add(33.66); add(36.09); add(-1.06); add(-1.49); }} ); - STRUCTURE.put("GGGAG", new ArrayList() {{add(4.85); add(-4.6); add(33.49); add(35.58); add(-1.0); add(-1.87); }} ); - STRUCTURE.put("GGGAC", new ArrayList() {{add(4.9); add(-5.28); add(33.99); add(35.97); add(-0.93); add(-2.34); }} ); - STRUCTURE.put("GGGTA", new ArrayList() {{add(4.71); add(-5.01); add(34.33); add(34.53); add(-1.79); add(-3.44); }} ); - STRUCTURE.put("GGGTT", new ArrayList() {{add(4.03); add(-7.68); add(34.89); add(35.8); add(-1.38); add(-4.18); }} ); - STRUCTURE.put("GGGTG", new ArrayList() {{add(4.77); add(-5.89); add(34.41); add(34.14); add(-1.08); add(-2.99); }} ); - STRUCTURE.put("GGGTC", new ArrayList() {{add(4.45); add(-5.33); add(34.36); add(34.81); add(-1.78); add(-3.44); }} ); - STRUCTURE.put("GGGGA", new ArrayList() {{add(4.76); add(-1.44); add(33.55); add(33.65); add(-2.33); add(-1.23); }} ); - STRUCTURE.put("GGGGT", new ArrayList() {{add(4.58); add(-2.37); add(33.44); add(34.28); add(-2.4); add(-1.8); }} ); - STRUCTURE.put("GGGGG", new ArrayList() {{add(4.75); add(-1.03); add(33.25); add(33.41); add(-2.24); add(-2.41); }} ); - STRUCTURE.put("GGGGC", new ArrayList() {{add(4.82); add(-2.13); add(33.56); add(33.68); add(-2.02); add(-1.96); }} ); - STRUCTURE.put("GGGCA", new ArrayList() {{add(5.02); add(-2.52); add(33.82); add(36.27); add(-1.78); add(-1.81); }} ); - STRUCTURE.put("GGGCT", new ArrayList() {{add(4.61); add(-2.48); add(33.51); add(37.3); add(-1.98); add(-2.95); }} ); - STRUCTURE.put("GGGCG", new ArrayList() {{add(4.96); add(-2.89); add(33.85); add(36.18); add(-1.63); add(-1.66); }} ); - STRUCTURE.put("GGGCC", new ArrayList() {{add(4.77); add(-1.93); add(33.57); add(36.61); add(-2.36); add(-2.4); }} ); - STRUCTURE.put("GGCAA", new ArrayList() {{add(5.3); add(-3.14); add(36.34); add(34.5); add(-2.26); add(3.97); }} ); - STRUCTURE.put("GGCAT", new ArrayList() {{add(5.33); add(-3.12); add(36.28); add(34.66); add(-1.93); add(4.26); }} ); - STRUCTURE.put("GGCAG", new ArrayList() {{add(5.41); add(-3.2); add(36.22); add(33.75); add(-1.34); add(3.38); }} ); - STRUCTURE.put("GGCAC", new ArrayList() {{add(5.66); add(-3.41); add(36.31); add(34.22); add(-1.35); add(3.05); }} ); - STRUCTURE.put("GGCTA", new ArrayList() {{add(5.0); add(-1.22); add(37.31); add(31.35); add(-2.39); add(-2.77); }} ); - STRUCTURE.put("GGCTT", new ArrayList() {{add(4.17); add(-1.55); add(37.74); add(32.49); add(-4.34); add(-3.7); }} ); - STRUCTURE.put("GGCTG", new ArrayList() {{add(4.95); add(-1.2); add(37.17); add(31.16); add(-2.29); add(-2.64); }} ); - STRUCTURE.put("GGCTC", new ArrayList() {{add(4.67); add(-0.53); add(37.09); add(31.39); add(-3.07); add(-2.76); }} ); - STRUCTURE.put("GGCGA", new ArrayList() {{add(5.4); add(-2.99); add(36.2); add(32.6); add(-1.65); add(3.27); }} ); - STRUCTURE.put("GGCGT", new ArrayList() {{add(5.08); add(-3.63); add(36.67); add(33.32); add(-2.09); add(3.67); }} ); - STRUCTURE.put("GGCGG", new ArrayList() {{add(5.29); add(-3.13); add(36.31); add(32.31); add(-2.02); add(1.79); }} ); - STRUCTURE.put("GGCGC", new ArrayList() {{add(5.41); add(-3.39); add(36.24); add(32.32); add(-1.71); add(2.85); }} ); - STRUCTURE.put("GGCCA", new ArrayList() {{add(4.93); add(-2.54); add(37.04); add(33.23); add(-2.42); add(-1.76); }} ); - STRUCTURE.put("GGCCT", new ArrayList() {{add(4.72); add(-2.2); add(36.64); add(33.71); add(-2.34); add(-1.89); }} ); - STRUCTURE.put("GGCCG", new ArrayList() {{add(4.96); add(-2.72); add(36.85); add(33.23); add(-2.0); add(-1.3); }} ); - STRUCTURE.put("GGCCC", new ArrayList() {{add(4.77); add(-1.93); add(36.61); add(33.57); add(-2.4); add(-2.36); }} ); - STRUCTURE.put("GCAAA", new ArrayList() {{add(5.41); add(-10.88); add(34.35); add(35.29); add(3.96); add(-3.68); }} ); - STRUCTURE.put("GCAAT", new ArrayList() {{add(5.15); add(-10.6); add(34.49); add(35.34); add(3.9); add(-2.92); }} ); - STRUCTURE.put("GCAAG", new ArrayList() {{add(5.45); add(-9.9); add(34.37); add(34.89); add(4.47); add(-3.39); }} ); - STRUCTURE.put("GCAAC", new ArrayList() {{add(5.7); add(-10.75); add(34.8); add(35.02); add(4.66); add(-2.98); }} ); - STRUCTURE.put("GCATA", new ArrayList() {{add(5.76); add(-8.11); add(34.78); add(31.62); add(5.2); add(-2.97); }} ); - STRUCTURE.put("GCATT", new ArrayList() {{add(4.89); add(-9.59); add(35.25); add(32.67); add(3.59); add(-5.22); }} ); - STRUCTURE.put("GCATG", new ArrayList() {{add(5.5); add(-9.43); add(34.82); add(31.54); add(4.69); add(-3.87); }} ); - STRUCTURE.put("GCATC", new ArrayList() {{add(5.38); add(-7.6); add(34.59); add(31.96); add(3.67); add(-4.24); }} ); - STRUCTURE.put("GCAGA", new ArrayList() {{add(5.75); add(-6.69); add(33.98); add(31.17); add(4.1); add(-1.2); }} ); - STRUCTURE.put("GCAGT", new ArrayList() {{add(5.4); add(-7.79); add(33.95); add(31.49); add(3.67); add(-1.42); }} ); - STRUCTURE.put("GCAGG", new ArrayList() {{add(5.52); add(-5.92); add(33.94); add(31.18); add(2.96); add(-3.15); }} ); - STRUCTURE.put("GCAGC", new ArrayList() {{add(5.67); add(-6.76); add(34.49); add(31.29); add(3.55); add(-2.09); }} ); - STRUCTURE.put("GCACA", new ArrayList() {{add(5.94); add(-8.3); add(35.01); add(33.55); add(3.31); add(-1.85); }} ); - STRUCTURE.put("GCACT", new ArrayList() {{add(5.3); add(-7.68); add(33.99); add(34.58); add(2.74); add(-3.54); }} ); - STRUCTURE.put("GCACG", new ArrayList() {{add(5.74); add(-8.4); add(34.75); add(33.78); add(3.22); add(-2.27); }} ); - STRUCTURE.put("GCACC", new ArrayList() {{add(5.56); add(-7.89); add(34.26); add(34.16); add(2.97); add(-2.69); }} ); - STRUCTURE.put("GCTAA", new ArrayList() {{add(5.82); add(-6.12); add(31.43); add(34.68); add(-2.69); add(5.63); }} ); - STRUCTURE.put("GCTAT", new ArrayList() {{add(5.37); add(-6.84); add(31.21); add(34.96); add(-2.59); add(4.96); }} ); - STRUCTURE.put("GCTAG", new ArrayList() {{add(5.67); add(-6.54); add(31.36); add(34.66); add(-2.24); add(4.03); }} ); - STRUCTURE.put("GCTAC", new ArrayList() {{add(5.88); add(-6.96); add(31.25); add(34.48); add(-2.28); add(4.45); }} ); - STRUCTURE.put("GCTTA", new ArrayList() {{add(5.01); add(-8.92); add(32.17); add(34.85); add(-2.56); add(-2.87); }} ); - STRUCTURE.put("GCTTT", new ArrayList() {{add(4.03); add(-10.58); add(32.81); add(36.56); add(-3.95); add(-5.07); }} ); - STRUCTURE.put("GCTTG", new ArrayList() {{add(4.94); add(-8.63); add(32.11); add(34.57); add(-2.39); add(-3.44); }} ); - STRUCTURE.put("GCTTC", new ArrayList() {{add(4.82); add(-8.01); add(32.06); add(34.96); add(-2.79); add(-3.36); }} ); - STRUCTURE.put("GCTGA", new ArrayList() {{add(5.74); add(-6.36); add(31.14); add(34.29); add(-2.0); add(4.93); }} ); - STRUCTURE.put("GCTGT", new ArrayList() {{add(5.31); add(-7.34); add(31.35); add(35.03); add(-2.1); add(5.07); }} ); - STRUCTURE.put("GCTGG", new ArrayList() {{add(5.53); add(-5.87); add(30.94); add(34.09); add(-2.45); add(2.75); }} ); - STRUCTURE.put("GCTGC", new ArrayList() {{add(5.67); add(-6.76); add(31.29); add(34.49); add(-2.09); add(3.55); }} ); - STRUCTURE.put("GCTCA", new ArrayList() {{add(5.4); add(-6.75); add(31.45); add(34.81); add(-2.11); add(-0.9); }} ); - STRUCTURE.put("GCTCT", new ArrayList() {{add(5.04); add(-6.5); add(31.62); add(35.84); add(-2.48); add(-1.41); }} ); - STRUCTURE.put("GCTCG", new ArrayList() {{add(5.2); add(-6.78); add(31.41); add(35.31); add(-2.22); add(-1.22); }} ); - STRUCTURE.put("GCTCC", new ArrayList() {{add(5.05); add(-6.07); add(31.38); add(35.75); add(-2.75); add(-1.59); }} ); - STRUCTURE.put("GCGAA", new ArrayList() {{add(5.53); add(-6.08); add(32.71); add(35.53); add(3.79); add(-0.23); }} ); - STRUCTURE.put("GCGAT", new ArrayList() {{add(5.28); add(-6.96); add(32.49); add(35.82); add(4.15); add(-0.66); }} ); - STRUCTURE.put("GCGAG", new ArrayList() {{add(5.46); add(-6.31); add(32.59); add(35.13); add(4.38); add(-1.17); }} ); - STRUCTURE.put("GCGAC", new ArrayList() {{add(5.56); add(-6.9); add(32.7); add(35.46); add(4.64); add(-1.39); }} ); - STRUCTURE.put("GCGTA", new ArrayList() {{add(5.32); add(-7.22); add(33.14); add(33.93); add(4.31); add(-2.07); }} ); - STRUCTURE.put("GCGTT", new ArrayList() {{add(4.64); add(-9.91); add(33.41); add(35.06); add(4.64); add(-2.93); }} ); - STRUCTURE.put("GCGTG", new ArrayList() {{add(5.25); add(-7.98); add(33.34); add(33.73); add(4.71); add(-2.23); }} ); - STRUCTURE.put("GCGTC", new ArrayList() {{add(5.09); add(-7.38); add(33.02); add(34.21); add(4.23); add(-2.45); }} ); - STRUCTURE.put("GCGGA", new ArrayList() {{add(5.27); add(-3.15); add(32.42); add(33.51); add(2.4); add(-0.89); }} ); - STRUCTURE.put("GCGGT", new ArrayList() {{add(5.08); add(-4.55); add(32.31); add(34.31); add(2.79); add(-0.62); }} ); - STRUCTURE.put("GCGGG", new ArrayList() {{add(5.3); add(-2.75); add(32.3); add(33.41); add(2.34); add(-1.73); }} ); - STRUCTURE.put("GCGGC", new ArrayList() {{add(5.37); add(-3.73); add(32.46); add(33.44); add(2.78); add(-1.31); }} ); - STRUCTURE.put("GCGCA", new ArrayList() {{add(5.71); add(-3.94); add(32.79); add(35.52); add(3.54); add(-0.67); }} ); - STRUCTURE.put("GCGCT", new ArrayList() {{add(5.18); add(-3.87); add(32.08); add(36.76); add(2.89); add(-1.92); }} ); - STRUCTURE.put("GCGCG", new ArrayList() {{add(5.54); add(-4.22); add(32.44); add(35.7); add(3.12); add(-1.15); }} ); - STRUCTURE.put("GCGCC", new ArrayList() {{add(5.41); add(-3.39); add(32.32); add(36.24); add(2.85); add(-1.71); }} ); - STRUCTURE.put("GCCAA", new ArrayList() {{add(5.56); add(-3.85); add(33.0); add(34.72); add(-1.23); add(4.45); }} ); - STRUCTURE.put("GCCAT", new ArrayList() {{add(5.23); add(-3.12); add(33.39); add(34.93); add(-2.18); add(3.68); }} ); - STRUCTURE.put("GCCAG", new ArrayList() {{add(5.43); add(-3.34); add(33.53); add(34.28); add(-1.52); add(2.79); }} ); - STRUCTURE.put("GCCAC", new ArrayList() {{add(5.46); add(-4.03); add(33.11); add(34.2); add(-1.52); add(3.09); }} ); - STRUCTURE.put("GCCTA", new ArrayList() {{add(4.97); add(-1.23); add(34.04); add(31.51); add(-1.96); add(-2.47); }} ); - STRUCTURE.put("GCCTT", new ArrayList() {{add(4.51); add(-1.5); add(34.57); add(32.34); add(-2.62); add(-2.75); }} ); - STRUCTURE.put("GCCTG", new ArrayList() {{add(4.94); add(-1.28); add(33.99); add(31.14); add(-1.61); add(-2.26); }} ); - STRUCTURE.put("GCCTC", new ArrayList() {{add(4.85); add(-0.7); add(33.92); add(31.38); add(-2.18); add(-2.42); }} ); - STRUCTURE.put("GCCGA", new ArrayList() {{add(5.43); add(-3.4); add(32.95); add(32.47); add(-0.99); add(3.91); }} ); - STRUCTURE.put("GCCGT", new ArrayList() {{add(5.08); add(-3.97); add(33.79); add(33.55); add(-1.58); add(3.91); }} ); - STRUCTURE.put("GCCGG", new ArrayList() {{add(5.36); add(-3.58); add(33.41); add(32.61); add(-1.33); add(2.08); }} ); - STRUCTURE.put("GCCGC", new ArrayList() {{add(5.37); add(-3.73); add(33.44); add(32.46); add(-1.31); add(2.78); }} ); - STRUCTURE.put("GCCCA", new ArrayList() {{add(4.96); add(-2.77); add(33.75); add(33.45); add(-1.99); add(-2.07); }} ); - STRUCTURE.put("GCCCT", new ArrayList() {{add(4.73); add(-1.88); add(33.54); add(34.0); add(-2.16); add(-2.27); }} ); - STRUCTURE.put("GCCCG", new ArrayList() {{add(4.95); add(-2.73); add(33.78); add(33.44); add(-1.71); add(-1.7); }} ); - STRUCTURE.put("GCCCC", new ArrayList() {{add(4.82); add(-2.13); add(33.68); add(33.56); add(-1.96); add(-2.02); }} ); - STRUCTURE.put("CAAAA", new ArrayList() {{add(4.76); add(-13.79); add(35.51); add(36.92); add(-2.19); add(-2.76); }} ); - STRUCTURE.put("CAAAT", new ArrayList() {{add(4.12); add(-13.36); add(35.49); add(37.28); add(-3.54); add(-4.68); }} ); - STRUCTURE.put("CAAAG", new ArrayList() {{add(4.52); add(-12.85); add(35.41); add(36.3); add(-2.8); add(-4.84); }} ); - STRUCTURE.put("CAAAC", new ArrayList() {{add(4.95); add(-13.1); add(35.28); add(36.33); add(-2.42); add(-3.27); }} ); - STRUCTURE.put("CAATA", new ArrayList() {{add(5.02); add(-9.7); add(35.12); add(32.4); add(-2.87); add(-3.9); }} ); - STRUCTURE.put("CAATT", new ArrayList() {{add(4.24); add(-11.93); add(35.62); add(33.37); add(-2.97); add(-5.32); }} ); - STRUCTURE.put("CAATG", new ArrayList() {{add(4.69); add(-10.42); add(35.08); add(32.41); add(-2.63); add(-4.37); }} ); - STRUCTURE.put("CAATC", new ArrayList() {{add(4.81); add(-10.33); add(34.92); add(32.75); add(-2.12); add(-4.28); }} ); - STRUCTURE.put("CAAGA", new ArrayList() {{add(4.92); add(-9.12); add(34.77); add(32.47); add(-3.37); add(-1.59); }} ); - STRUCTURE.put("CAAGT", new ArrayList() {{add(4.52); add(-10.21); add(34.94); add(33.13); add(-3.59); add(-2.35); }} ); - STRUCTURE.put("CAAGG", new ArrayList() {{add(4.65); add(-9.16); add(34.98); add(32.51); add(-3.66); add(-2.93); }} ); - STRUCTURE.put("CAAGC", new ArrayList() {{add(4.94); add(-8.63); add(34.57); add(32.11); add(-3.44); add(-2.39); }} ); - STRUCTURE.put("CAACA", new ArrayList() {{add(5.24); add(-11.69); add(35.19); add(34.7); add(-2.78); add(-2.5); }} ); - STRUCTURE.put("CAACT", new ArrayList() {{add(4.38); add(-11.29); add(34.76); add(36.24); add(-3.88); add(-4.47); }} ); - STRUCTURE.put("CAACG", new ArrayList() {{add(4.98); add(-11.71); add(35.01); add(35.1); add(-2.97); add(-2.83); }} ); - STRUCTURE.put("CAACC", new ArrayList() {{add(4.82); add(-4.14); add(31.89); add(35.52); add(-2.06); add(-3.18); }} ); - STRUCTURE.put("CATAA", new ArrayList() {{add(6.02); add(-8.06); add(31.48); add(34.54); add(-3.28); add(7.92); }} ); - STRUCTURE.put("CATAT", new ArrayList() {{add(5.32); add(-8.33); add(32.04); add(35.37); add(-4.26); add(5.85); }} ); - STRUCTURE.put("CATAG", new ArrayList() {{add(5.53); add(-8.2); add(31.84); add(35.03); add(-3.65); add(5.41); }} ); - STRUCTURE.put("CATAC", new ArrayList() {{add(5.93); add(-8.42); add(31.46); add(34.49); add(-2.99); add(6.01); }} ); - STRUCTURE.put("CATTA", new ArrayList() {{add(4.9); add(-10.52); add(32.4); add(35.43); add(-4.86); add(-2.15); }} ); - STRUCTURE.put("CATTT", new ArrayList() {{add(3.84); add(-11.76); add(33.42); add(36.86); add(-7.0); add(-4.21); }} ); - STRUCTURE.put("CATTG", new ArrayList() {{add(4.69); add(-10.42); add(32.41); add(35.08); add(-4.37); add(-2.63); }} ); - STRUCTURE.put("CATTC", new ArrayList() {{add(4.39); add(-9.43); add(32.69); add(35.63); add(-5.91); add(-3.64); }} ); - STRUCTURE.put("CATGA", new ArrayList() {{add(5.27); add(-9.26); add(31.75); add(35.0); add(-4.44); add(5.91); }} ); - STRUCTURE.put("CATGT", new ArrayList() {{add(4.99); add(-10.15); add(32.0); add(35.7); add(-4.67); add(5.73); }} ); - STRUCTURE.put("CATGG", new ArrayList() {{add(5.34); add(-9.01); add(31.61); add(34.66); add(-4.03); add(3.95); }} ); - STRUCTURE.put("CATGC", new ArrayList() {{add(5.5); add(-9.43); add(31.54); add(34.82); add(-3.87); add(4.69); }} ); - STRUCTURE.put("CATCA", new ArrayList() {{add(5.22); add(-8.13); add(31.93); add(35.36); add(-3.98); add(-0.46); }} ); - STRUCTURE.put("CATCT", new ArrayList() {{add(4.66); add(-7.85); add(32.25); add(36.48); add(-5.19); add(-1.27); }} ); - STRUCTURE.put("CATCG", new ArrayList() {{add(4.94); add(-8.32); add(32.14); add(35.83); add(-4.47); add(-0.95); }} ); - STRUCTURE.put("CATCC", new ArrayList() {{add(4.84); add(-7.65); add(32.03); add(36.16); add(-4.71); add(-1.14); }} ); - STRUCTURE.put("CAGAA", new ArrayList() {{add(5.14); add(-3.52); add(31.59); add(36.46); add(-1.9); add(-0.54); }} ); - STRUCTURE.put("CAGAT", new ArrayList() {{add(4.98); add(-2.7); add(31.12); add(36.37); add(-2.27); add(-0.33); }} ); - STRUCTURE.put("CAGAG", new ArrayList() {{add(5.14); add(-3.06); add(31.18); add(35.6); add(-1.81); add(-1.0); }} ); - STRUCTURE.put("CAGAC", new ArrayList() {{add(5.22); add(-3.97); add(31.42); add(36.44); add(-1.18); add(-1.52); }} ); - STRUCTURE.put("CAGTA", new ArrayList() {{add(5.13); add(-4.2); add(31.52); add(34.47); add(-1.74); add(-2.15); }} ); - STRUCTURE.put("CAGTT", new ArrayList() {{add(4.49); add(-5.42); add(31.73); add(35.45); add(-1.85); add(-3.28); }} ); - STRUCTURE.put("CAGTG", new ArrayList() {{add(4.98); add(-4.52); add(31.61); add(34.3); add(-1.18); add(-2.39); }} ); - STRUCTURE.put("CAGTC", new ArrayList() {{add(5.0); add(-3.96); add(31.46); add(34.65); add(-1.4); add(-2.08); }} ); - STRUCTURE.put("CAGGA", new ArrayList() {{add(4.92); add(-0.9); add(31.21); add(34.22); add(-2.79); add(-1.05); }} ); - STRUCTURE.put("CAGGT", new ArrayList() {{add(4.54); add(-1.68); add(31.38); add(35.08); add(-2.97); add(-1.63); }} ); - STRUCTURE.put("CAGGG", new ArrayList() {{add(4.85); add(-0.14); add(31.11); add(34.07); add(-3.39); add(-2.88); }} ); - STRUCTURE.put("CAGGC", new ArrayList() {{add(4.94); add(-1.28); add(31.14); add(33.99); add(-2.26); add(-1.61); }} ); - STRUCTURE.put("CAGCA", new ArrayList() {{add(5.27); add(-1.72); add(31.23); add(36.65); add(-1.86); add(-1.51); }} ); - STRUCTURE.put("CAGCT", new ArrayList() {{add(4.8); add(-1.38); add(31.01); add(37.48); add(-2.54); add(-2.49); }} ); - STRUCTURE.put("CAGCG", new ArrayList() {{add(5.13); add(-1.72); add(31.2); add(36.67); add(-1.93); add(-1.69); }} ); - STRUCTURE.put("CAGCC", new ArrayList() {{add(4.95); add(-1.2); add(31.16); add(37.17); add(-2.64); add(-2.29); }} ); - STRUCTURE.put("CACAA", new ArrayList() {{add(5.2); add(-8.23); add(33.59); add(35.72); add(-2.4); add(6.07); }} ); - STRUCTURE.put("CACAT", new ArrayList() {{add(5.15); add(-8.83); add(33.53); add(35.86); add(-2.22); add(6.57); }} ); - STRUCTURE.put("CACAG", new ArrayList() {{add(5.32); add(-8.12); add(33.74); add(35.2); add(-2.15); add(4.99); }} ); - STRUCTURE.put("CACAC", new ArrayList() {{add(5.73); add(-8.16); add(33.35); add(35.12); add(-1.37); add(5.01); }} ); - STRUCTURE.put("CACTA", new ArrayList() {{add(5.11); add(-4.24); add(34.28); add(31.7); add(-2.73); add(-1.38); }} ); - STRUCTURE.put("CACTT", new ArrayList() {{add(4.14); add(-4.48); add(34.91); add(33.1); add(-4.51); add(-2.79); }} ); - STRUCTURE.put("CACTG", new ArrayList() {{add(4.98); add(-4.52); add(34.3); add(31.61); add(-2.39); add(-1.18); }} ); - STRUCTURE.put("CACTC", new ArrayList() {{add(4.78); add(-3.31); add(34.12); add(31.79); add(-3.21); add(-1.98); }} ); - STRUCTURE.put("CACGA", new ArrayList() {{add(5.29); add(-7.95); add(33.77); add(33.99); add(-2.18); add(5.8); }} ); - STRUCTURE.put("CACGT", new ArrayList() {{add(4.85); add(-8.78); add(34.05); add(34.48); add(-3.13); add(5.64); }} ); - STRUCTURE.put("CACGG", new ArrayList() {{add(5.1); add(-8.46); add(33.81); add(33.7); add(-2.43); add(4.06); }} ); - STRUCTURE.put("CACGC", new ArrayList() {{add(5.25); add(-7.98); add(33.73); add(33.34); add(-2.23); add(4.71); }} ); - STRUCTURE.put("CACCA", new ArrayList() {{add(4.84); add(-7.0); add(34.27); add(34.81); add(-2.83); add(-0.68); }} ); - STRUCTURE.put("CACCT", new ArrayList() {{add(4.42); add(-6.64); add(34.31); add(35.25); add(-3.26); add(-1.65); }} ); - STRUCTURE.put("CACCG", new ArrayList() {{add(4.92); add(-6.56); add(34.05); add(34.36); add(-2.48); add(-0.28); }} ); - STRUCTURE.put("CACCC", new ArrayList() {{add(4.77); add(-5.89); add(34.14); add(34.41); add(-2.99); add(-1.08); }} ); - STRUCTURE.put("CTAAA", new ArrayList() {{add(5.82); add(-11.18); add(34.35); add(35.72); add(6.08); add(-1.41); }} ); - STRUCTURE.put("CTAAT", new ArrayList() {{add(5.57); add(-11.58); add(34.46); add(35.33); add(7.71); add(-1.62); }} ); - STRUCTURE.put("CTAAG", new ArrayList() {{add(5.49); add(-10.31); add(34.71); add(35.04); add(6.02); add(-3.25); }} ); - STRUCTURE.put("CTAAC", new ArrayList() {{add(5.8); add(-10.65); add(34.54); add(35.18); add(5.73); add(-2.89); }} ); - STRUCTURE.put("CTATA", new ArrayList() {{add(5.79); add(-7.69); add(34.63); add(31.96); add(5.66); add(-3.1); }} ); - STRUCTURE.put("CTATT", new ArrayList() {{add(4.65); add(-11.61); add(35.89); add(33.54); add(3.47); add(-5.98); }} ); - STRUCTURE.put("CTATG", new ArrayList() {{add(5.53); add(-8.2); add(35.03); add(31.84); add(5.41); add(-3.65); }} ); - STRUCTURE.put("CTATC", new ArrayList() {{add(5.54); add(-8.88); add(33.89); add(32.43); add(6.28); add(-4.19); }} ); - STRUCTURE.put("CTAGA", new ArrayList() {{add(5.84); add(-6.98); add(34.35); add(31.57); add(5.27); add(-1.22); }} ); - STRUCTURE.put("CTAGT", new ArrayList() {{add(5.13); add(-7.44); add(35.0); add(32.22); add(3.55); add(-2.86); }} ); - STRUCTURE.put("CTAGG", new ArrayList() {{add(5.69); add(-6.51); add(34.19); add(31.47); add(4.92); add(-2.23); }} ); - STRUCTURE.put("CTAGC", new ArrayList() {{add(5.67); add(-6.54); add(34.66); add(31.36); add(4.03); add(-2.24); }} ); - STRUCTURE.put("CTACA", new ArrayList() {{add(5.74); add(-8.6); add(35.06); add(33.91); add(3.24); add(-3.23); }} ); - STRUCTURE.put("CTACT", new ArrayList() {{add(5.2); add(-8.16); add(34.13); add(35.18); add(4.64); add(-4.12); }} ); - STRUCTURE.put("CTACG", new ArrayList() {{add(5.77); add(-8.43); add(34.25); add(34.02); add(4.93); add(-2.16); }} ); - STRUCTURE.put("CTACC", new ArrayList() {{add(5.55); add(-8.07); add(34.3); add(34.52); add(4.24); add(-2.63); }} ); - STRUCTURE.put("CTTAA", new ArrayList() {{add(5.58); add(-9.57); add(34.68); add(34.81); add(-3.71); add(6.23); }} ); - STRUCTURE.put("CTTAT", new ArrayList() {{add(5.48); add(-10.54); add(35.03); add(35.15); add(-3.47); add(6.31); }} ); - STRUCTURE.put("CTTAG", new ArrayList() {{add(5.49); add(-10.31); add(35.04); add(34.71); add(-3.25); add(6.02); }} ); - STRUCTURE.put("CTTAC", new ArrayList() {{add(5.62); add(-10.31); add(34.87); add(34.34); add(-3.24); add(5.9); }} ); - STRUCTURE.put("CTTTA", new ArrayList() {{add(4.7); add(-12.85); add(36.11); add(35.7); add(-3.87); add(-1.56); }} ); - STRUCTURE.put("CTTTT", new ArrayList() {{add(3.68); add(-14.68); add(37.18); add(37.02); add(-6.47); add(-4.23); }} ); - STRUCTURE.put("CTTTG", new ArrayList() {{add(4.52); add(-12.85); add(36.3); add(35.41); add(-4.84); add(-2.8); }} ); - STRUCTURE.put("CTTTC", new ArrayList() {{add(4.36); add(-11.93); add(36.1); add(35.91); add(-4.95); add(-3.0); }} ); - STRUCTURE.put("CTTGA", new ArrayList() {{add(5.4); add(-9.98); add(34.76); add(34.53); add(-3.44); add(5.51); }} ); - STRUCTURE.put("CTTGT", new ArrayList() {{add(5.19); add(-10.72); add(35.05); add(35.43); add(-3.95); add(5.65); }} ); - STRUCTURE.put("CTTGG", new ArrayList() {{add(5.31); add(-9.71); add(34.56); add(34.61); add(-3.4); add(4.48); }} ); - STRUCTURE.put("CTTGC", new ArrayList() {{add(5.45); add(-9.9); add(34.89); add(34.37); add(-3.39); add(4.47); }} ); - STRUCTURE.put("CTTCA", new ArrayList() {{add(5.15); add(-10.24); add(35.14); add(35.1); add(-3.01); add(0.22); }} ); - STRUCTURE.put("CTTCT", new ArrayList() {{add(4.5); add(-10.3); add(35.47); add(36.79); add(-4.1); add(-1.65); }} ); - STRUCTURE.put("CTTCG", new ArrayList() {{add(4.92); add(-9.8); add(35.11); add(35.23); add(-3.7); add(-0.16); }} ); - STRUCTURE.put("CTTCC", new ArrayList() {{add(4.63); add(-9.44); add(35.02); add(35.39); add(-3.81); add(-0.61); }} ); - STRUCTURE.put("CTGAA", new ArrayList() {{add(5.93); add(-5.95); add(34.21); add(35.08); add(5.37); add(0.57); }} ); - STRUCTURE.put("CTGAT", new ArrayList() {{add(5.34); add(-6.55); add(34.24); add(35.8); add(4.36); add(-0.36); }} ); - STRUCTURE.put("CTGAG", new ArrayList() {{add(5.56); add(-6.08); add(34.47); add(34.84); add(4.27); add(-0.89); }} ); - STRUCTURE.put("CTGAC", new ArrayList() {{add(5.67); add(-6.43); add(34.37); add(35.2); add(4.57); add(-1.29); }} ); - STRUCTURE.put("CTGTA", new ArrayList() {{add(5.41); add(-6.49); add(34.82); add(33.82); add(3.96); add(-1.95); }} ); - STRUCTURE.put("CTGTT", new ArrayList() {{add(4.95); add(-9.26); add(34.91); add(34.88); add(5.23); add(-2.4); }} ); - STRUCTURE.put("CTGTG", new ArrayList() {{add(5.32); add(-8.12); add(35.2); add(33.74); add(4.99); add(-2.15); }} ); - STRUCTURE.put("CTGTC", new ArrayList() {{add(5.26); add(-6.88); add(34.79); add(34.25); add(3.98); add(-2.46); }} ); - STRUCTURE.put("CTGGA", new ArrayList() {{add(5.31); add(-2.98); add(33.98); add(33.74); add(2.8); add(-0.76); }} ); - STRUCTURE.put("CTGGT", new ArrayList() {{add(5.19); add(-4.44); add(34.21); add(34.39); add(3.13); add(-0.64); }} ); - STRUCTURE.put("CTGGG", new ArrayList() {{add(5.39); add(-2.47); add(33.88); add(33.54); add(2.42); add(-1.97); }} ); - STRUCTURE.put("CTGGC", new ArrayList() {{add(5.43); add(-3.34); add(34.28); add(33.53); add(2.79); add(-1.52); }} ); - STRUCTURE.put("CTGCA", new ArrayList() {{add(5.79); add(-3.68); add(34.5); add(35.64); add(3.43); add(-0.7); }} ); - STRUCTURE.put("CTGCT", new ArrayList() {{add(5.16); add(-3.6); add(33.86); add(36.97); add(3.76); add(-2.72); }} ); - STRUCTURE.put("CTGCG", new ArrayList() {{add(5.67); add(-3.85); add(34.24); add(35.64); add(3.64); add(-0.89); }} ); - STRUCTURE.put("CTGCC", new ArrayList() {{add(5.41); add(-3.2); add(33.75); add(36.22); add(3.38); add(-1.34); }} ); - STRUCTURE.put("CTCAA", new ArrayList() {{add(5.9); add(-6.36); add(34.56); add(34.65); add(-0.68); add(5.89); }} ); - STRUCTURE.put("CTCAT", new ArrayList() {{add(5.23); add(-6.05); add(35.1); add(34.93); add(-1.52); add(5.69); }} ); - STRUCTURE.put("CTCAG", new ArrayList() {{add(5.56); add(-6.08); add(34.84); add(34.47); add(-0.89); add(4.27); }} ); - STRUCTURE.put("CTCAC", new ArrayList() {{add(5.8); add(-6.5); add(34.92); add(34.48); add(-0.77); add(4.33); }} ); - STRUCTURE.put("CTCTA", new ArrayList() {{add(5.41); add(-3.22); add(35.31); add(31.4); add(-0.44); add(-1.35); }} ); - STRUCTURE.put("CTCTT", new ArrayList() {{add(4.68); add(-3.22); add(35.92); add(32.31); add(-1.36); add(-1.76); }} ); - STRUCTURE.put("CTCTG", new ArrayList() {{add(5.14); add(-3.06); add(35.6); add(31.18); add(-1.0); add(-1.81); }} ); - STRUCTURE.put("CTCTC", new ArrayList() {{add(4.93); add(-2.54); add(35.65); add(31.39); add(-1.9); add(-1.93); }} ); - STRUCTURE.put("CTCGA", new ArrayList() {{add(5.42); add(-6.72); add(35.17); add(33.01); add(-1.2); add(5.47); }} ); - STRUCTURE.put("CTCGT", new ArrayList() {{add(5.13); add(-6.5); add(35.94); add(33.69); add(-2.01); add(4.47); }} ); - STRUCTURE.put("CTCGG", new ArrayList() {{add(5.65); add(-6.12); add(34.73); add(32.31); add(-0.49); add(4.6); }} ); - STRUCTURE.put("CTCGC", new ArrayList() {{add(5.46); add(-6.31); add(35.13); add(32.59); add(-1.17); add(4.38); }} ); - STRUCTURE.put("CTCCA", new ArrayList() {{add(5.02); add(-5.45); add(35.8); add(33.85); add(-1.81); add(-0.86); }} ); - STRUCTURE.put("CTCCT", new ArrayList() {{add(4.63); add(-4.81); add(36.23); add(34.13); add(-2.62); add(-1.32); }} ); - STRUCTURE.put("CTCCG", new ArrayList() {{add(5.01); add(-5.07); add(35.79); add(33.51); add(-1.83); add(-0.61); }} ); - STRUCTURE.put("CTCCC", new ArrayList() {{add(4.85); add(-4.6); add(35.58); add(33.49); add(-1.87); add(-1.0); }} ); - STRUCTURE.put("CGAAA", new ArrayList() {{add(4.98); add(-10.58); add(35.62); add(35.88); add(-0.38); add(-2.61); }} ); - STRUCTURE.put("CGAAT", new ArrayList() {{add(4.88); add(-10.56); add(35.52); add(35.86); add(-0.24); add(-2.98); }} ); - STRUCTURE.put("CGAAG", new ArrayList() {{add(4.92); add(-9.8); add(35.23); add(35.11); add(-0.16); add(-3.7); }} ); - STRUCTURE.put("CGAAC", new ArrayList() {{add(5.1); add(-10.48); add(35.61); add(35.58); add(-0.26); add(-3.31); }} ); - STRUCTURE.put("CGATA", new ArrayList() {{add(5.32); add(-7.63); add(35.68); add(31.89); add(-0.47); add(-3.35); }} ); - STRUCTURE.put("CGATT", new ArrayList() {{add(4.56); add(-9.51); add(36.19); add(32.89); add(-0.8); add(-4.9); }} ); - STRUCTURE.put("CGATG", new ArrayList() {{add(4.94); add(-8.32); add(35.83); add(32.14); add(-0.95); add(-4.47); }} ); - STRUCTURE.put("CGATC", new ArrayList() {{add(4.96); add(-7.79); add(35.54); add(32.29); add(-0.57); add(-4.15); }} ); - STRUCTURE.put("CGAGA", new ArrayList() {{add(5.17); add(-6.8); add(35.18); add(31.51); add(-1.21); add(-1.9); }} ); - STRUCTURE.put("CGAGT", new ArrayList() {{add(4.93); add(-7.78); add(35.21); add(31.96); add(-1.04); add(-1.9); }} ); - STRUCTURE.put("CGAGG", new ArrayList() {{add(5.18); add(-6.32); add(34.97); add(31.5); add(-1.26); add(-2.8); }} ); - STRUCTURE.put("CGAGC", new ArrayList() {{add(5.2); add(-6.78); add(35.31); add(31.41); add(-1.22); add(-2.22); }} ); - STRUCTURE.put("CGACA", new ArrayList() {{add(5.28); add(-8.25); add(35.73); add(34.23); add(-1.7); add(-2.39); }} ); - STRUCTURE.put("CGACT", new ArrayList() {{add(4.59); add(-8.15); add(35.38); add(35.27); add(-2.31); add(-4.46); }} ); - STRUCTURE.put("CGACG", new ArrayList() {{add(5.19); add(-8.49); add(35.57); add(34.26); add(-1.47); add(-2.51); }} ); - STRUCTURE.put("CGACC", new ArrayList() {{add(4.82); add(-8.09); add(35.73); add(34.74); add(-2.17); add(-3.5); }} ); - STRUCTURE.put("CGTAA", new ArrayList() {{add(6.11); add(-7.71); add(33.58); add(34.26); add(-1.95); add(6.35); }} ); - STRUCTURE.put("CGTAT", new ArrayList() {{add(5.53); add(-9.05); add(34.16); add(34.59); add(-2.22); add(5.89); }} ); - STRUCTURE.put("CGTAG", new ArrayList() {{add(5.77); add(-8.43); add(34.02); add(34.25); add(-2.16); add(4.93); }} ); - STRUCTURE.put("CGTAC", new ArrayList() {{add(5.93); add(-8.84); add(33.97); add(34.2); add(-2.11); add(4.68); }} ); - STRUCTURE.put("CGTTA", new ArrayList() {{add(5.15); add(-11.31); add(34.89); add(35.27); add(-2.83); add(-2.63); }} ); - STRUCTURE.put("CGTTT", new ArrayList() {{add(4.43); add(-13.15); add(35.48); add(36.57); add(-3.27); add(-2.94); }} ); - STRUCTURE.put("CGTTG", new ArrayList() {{add(4.98); add(-11.71); add(35.1); add(35.01); add(-2.83); add(-2.97); }} ); - STRUCTURE.put("CGTTC", new ArrayList() {{add(4.74); add(-11.06); add(34.9); add(35.71); add(-2.93); add(-2.93); }} ); - STRUCTURE.put("CGTGA", new ArrayList() {{add(5.71); add(-8.08); add(33.8); add(34.66); add(-2.49); add(4.27); }} ); - STRUCTURE.put("CGTGT", new ArrayList() {{add(5.47); add(-9.43); add(33.84); add(35.35); add(-2.25); add(4.66); }} ); - STRUCTURE.put("CGTGG", new ArrayList() {{add(5.64); add(-7.87); add(33.53); add(34.18); add(-2.34); add(3.23); }} ); - STRUCTURE.put("CGTGC", new ArrayList() {{add(5.74); add(-8.4); add(33.78); add(34.75); add(-2.27); add(3.22); }} ); - STRUCTURE.put("CGTCA", new ArrayList() {{add(5.39); add(-8.47); add(34.29); add(35.16); add(-2.4); add(-1.16); }} ); - STRUCTURE.put("CGTCT", new ArrayList() {{add(4.83); add(-8.81); add(34.44); add(36.41); add(-2.95); add(-2.02); }} ); - STRUCTURE.put("CGTCG", new ArrayList() {{add(5.19); add(-8.49); add(34.26); add(35.57); add(-2.51); add(-1.47); }} ); - STRUCTURE.put("CGTCC", new ArrayList() {{add(5.02); add(-8.11); add(34.01); add(36.13); add(-2.49); add(-1.8); }} ); - STRUCTURE.put("CGGAA", new ArrayList() {{add(5.09); add(-5.36); add(34.24); add(35.82); add(-1.46); add(-1.8); }} ); - STRUCTURE.put("CGGAT", new ArrayList() {{add(4.47); add(-4.49); add(32.93); add(36.59); add(-2.34); add(-2.07); }} ); - STRUCTURE.put("CGGAG", new ArrayList() {{add(5.01); add(-5.07); add(33.51); add(35.79); add(-0.61); add(-1.83); }} ); - STRUCTURE.put("CGGAC", new ArrayList() {{add(5.08); add(-6.07); add(33.8); add(36.17); add(-0.51); add(-1.73); }} ); - STRUCTURE.put("CGGTA", new ArrayList() {{add(4.96); add(-5.99); add(34.27); add(34.43); add(-0.83); add(-2.35); }} ); - STRUCTURE.put("CGGTT", new ArrayList() {{add(4.36); add(-7.97); add(34.48); add(35.23); add(-0.65); add(-3.13); }} ); - STRUCTURE.put("CGGTG", new ArrayList() {{add(4.92); add(-6.56); add(34.36); add(34.05); add(-0.28); add(-2.48); }} ); - STRUCTURE.put("CGGTC", new ArrayList() {{add(4.69); add(-5.99); add(34.17); add(34.65); add(-0.84); add(-2.77); }} ); - STRUCTURE.put("CGGGA", new ArrayList() {{add(4.95); add(-2.56); add(33.56); add(34.12); add(-1.93); add(-0.91); }} ); - STRUCTURE.put("CGGGT", new ArrayList() {{add(4.7); add(-3.53); add(33.51); add(34.56); add(-1.76); add(-0.94); }} ); - STRUCTURE.put("CGGGG", new ArrayList() {{add(4.94); add(-1.95); add(33.22); add(33.62); add(-1.77); add(-1.76); }} ); - STRUCTURE.put("CGGGC", new ArrayList() {{add(4.95); add(-2.73); add(33.44); add(33.78); add(-1.7); add(-1.71); }} ); - STRUCTURE.put("CGGCA", new ArrayList() {{add(5.17); add(-3.11); add(33.58); add(36.2); add(-1.26); add(-1.38); }} ); - STRUCTURE.put("CGGCT", new ArrayList() {{add(4.83); add(-3.04); add(33.27); add(37.23); add(-1.44); add(-2.14); }} ); - STRUCTURE.put("CGGCG", new ArrayList() {{add(5.09); add(-3.17); add(33.59); add(36.24); add(-1.33); add(-1.46); }} ); - STRUCTURE.put("CGGCC", new ArrayList() {{add(4.96); add(-2.72); add(33.23); add(36.85); add(-1.3); add(-2.0); }} ); - STRUCTURE.put("CGCAA", new ArrayList() {{add(5.81); add(-4.14); add(35.42); add(34.85); add(-0.77); add(4.82); }} ); - STRUCTURE.put("CGCAT", new ArrayList() {{add(5.6); add(-4.03); add(35.58); add(35.0); add(-0.76); add(5.09); }} ); - STRUCTURE.put("CGCAG", new ArrayList() {{add(5.67); add(-3.85); add(35.64); add(34.24); add(-0.89); add(3.64); }} ); - STRUCTURE.put("CGCAC", new ArrayList() {{add(5.88); add(-4.13); add(35.54); add(34.69); add(-0.64); add(3.27); }} ); - STRUCTURE.put("CGCTA", new ArrayList() {{add(5.22); add(-1.63); add(36.72); add(31.38); add(-1.71); add(-2.2); }} ); - STRUCTURE.put("CGCTT", new ArrayList() {{add(4.63); add(-1.91); add(37.15); add(32.27); add(-2.72); add(-2.38); }} ); - STRUCTURE.put("CGCTG", new ArrayList() {{add(5.13); add(-1.72); add(36.67); add(31.2); add(-1.69); add(-1.93); }} ); - STRUCTURE.put("CGCTC", new ArrayList() {{add(5.02); add(-1.32); add(36.68); add(31.47); add(-1.98); add(-1.89); }} ); - STRUCTURE.put("CGCGA", new ArrayList() {{add(5.42); add(-4.27); add(35.66); add(32.65); add(-1.33); add(4.5); }} ); - STRUCTURE.put("CGCGT", new ArrayList() {{add(5.2); add(-4.73); add(35.9); add(33.2); add(-1.39); add(4.51); }} ); - STRUCTURE.put("CGCGG", new ArrayList() {{add(5.51); add(-4.25); add(35.54); add(32.35); add(-1.05); add(2.68); }} ); - STRUCTURE.put("CGCGC", new ArrayList() {{add(5.54); add(-4.22); add(35.7); add(32.44); add(-1.15); add(3.12); }} ); - STRUCTURE.put("CGCCA", new ArrayList() {{add(5.06); add(-2.98); add(36.34); add(33.36); add(-1.9); add(-1.66); }} ); - STRUCTURE.put("CGCCT", new ArrayList() {{add(4.77); add(-2.82); add(36.31); add(34.34); add(-2.16); add(-2.1); }} ); - STRUCTURE.put("CGCCG", new ArrayList() {{add(5.09); add(-3.17); add(36.24); add(33.59); add(-1.46); add(-1.33); }} ); - STRUCTURE.put("CGCCC", new ArrayList() {{add(4.96); add(-2.89); add(36.18); add(33.85); add(-1.66); add(-1.63); }} ); - STRUCTURE.put("CCAAA", new ArrayList() {{add(5.42); add(-9.32); add(34.57); add(35.2); add(2.51); add(-3.1); }} ); - STRUCTURE.put("CCAAT", new ArrayList() {{add(5.3); add(-10.72); add(34.4); add(34.93); add(5.06); add(-2.07); }} ); - STRUCTURE.put("CCAAG", new ArrayList() {{add(5.31); add(-9.71); add(34.61); add(34.56); add(4.48); add(-3.4); }} ); - STRUCTURE.put("CCAAC", new ArrayList() {{add(5.42); add(-9.8); add(34.44); add(31.76); add(6.57); add(-1.94); }} ); - STRUCTURE.put("CCATA", new ArrayList() {{add(5.88); add(-6.69); add(34.97); add(31.26); add(3.24); add(-2.84); }} ); - STRUCTURE.put("CCATT", new ArrayList() {{add(5.08); add(-8.98); add(34.87); add(32.12); add(3.6); add(-4.16); }} ); - STRUCTURE.put("CCATG", new ArrayList() {{add(5.34); add(-9.01); add(34.66); add(31.61); add(3.95); add(-4.03); }} ); - STRUCTURE.put("CCATC", new ArrayList() {{add(5.53); add(-7.48); add(34.54); add(31.66); add(4.13); add(-3.42); }} ); - STRUCTURE.put("CCAGA", new ArrayList() {{add(5.56); add(-6.09); add(33.91); add(31.02); add(2.85); add(-2.71); }} ); - STRUCTURE.put("CCAGT", new ArrayList() {{add(5.32); add(-7.24); add(34.39); add(31.51); add(3.06); add(-1.82); }} ); - STRUCTURE.put("CCAGG", new ArrayList() {{add(5.4); add(-5.54); add(34.05); add(31.17); add(2.39); add(-2.87); }} ); - STRUCTURE.put("CCAGC", new ArrayList() {{add(5.53); add(-5.87); add(34.09); add(30.94); add(2.75); add(-2.45); }} ); - STRUCTURE.put("CCACA", new ArrayList() {{add(5.8); add(-7.33); add(34.79); add(33.07); add(2.59); add(-1.82); }} ); - STRUCTURE.put("CCACT", new ArrayList() {{add(5.31); add(-7.4); add(34.11); add(34.38); add(2.64); add(-2.95); }} ); - STRUCTURE.put("CCACG", new ArrayList() {{add(5.64); add(-7.87); add(34.18); add(33.53); add(3.23); add(-2.34); }} ); - STRUCTURE.put("CCACC", new ArrayList() {{add(5.56); add(-7.11); add(34.27); add(33.92); add(2.46); add(-2.55); }} ); - STRUCTURE.put("CCTAA", new ArrayList() {{add(5.96); add(-5.77); add(31.45); add(34.35); add(-2.83); add(5.87); }} ); - STRUCTURE.put("CCTAT", new ArrayList() {{add(5.6); add(-6.87); add(31.71); add(34.5); add(-2.45); add(5.54); }} ); - STRUCTURE.put("CCTAG", new ArrayList() {{add(5.69); add(-6.51); add(31.47); add(34.19); add(-2.23); add(4.92); }} ); - STRUCTURE.put("CCTAC", new ArrayList() {{add(5.76); add(-6.19); add(31.41); add(34.06); add(-2.71); add(4.46); }} ); - STRUCTURE.put("CCTTA", new ArrayList() {{add(4.81); add(-8.13); add(32.34); add(34.66); add(-4.02); add(-3.71); }} ); - STRUCTURE.put("CCTTT", new ArrayList() {{add(4.05); add(-9.21); add(32.79); add(35.88); add(-5.06); add(-4.8); }} ); - STRUCTURE.put("CCTTG", new ArrayList() {{add(4.65); add(-9.16); add(32.51); add(34.98); add(-2.93); add(-3.66); }} ); - STRUCTURE.put("CCTTC", new ArrayList() {{add(4.63); add(-7.38); add(32.02); add(34.75); add(-3.57); add(-3.82); }} ); - STRUCTURE.put("CCTGA", new ArrayList() {{add(5.47); add(-5.31); add(30.94); add(34.07); add(-3.12); add(3.63); }} ); - STRUCTURE.put("CCTGT", new ArrayList() {{add(5.29); add(-6.78); add(31.34); add(34.61); add(-2.48); add(4.68); }} ); - STRUCTURE.put("CCTGG", new ArrayList() {{add(5.4); add(-5.54); add(31.17); add(34.05); add(-2.87); add(2.39); }} ); - STRUCTURE.put("CCTGC", new ArrayList() {{add(5.52); add(-5.92); add(31.18); add(33.94); add(-3.15); add(2.96); }} ); - STRUCTURE.put("CCTCA", new ArrayList() {{add(5.3); add(-6.36); add(31.54); add(34.61); add(-2.49); add(-0.98); }} ); - STRUCTURE.put("CCTCT", new ArrayList() {{add(4.97); add(-6.38); add(31.44); add(35.39); add(-2.6); add(-1.11); }} ); - STRUCTURE.put("CCTCG", new ArrayList() {{add(5.18); add(-6.32); add(31.5); add(34.97); add(-2.8); add(-1.26); }} ); - STRUCTURE.put("CCTCC", new ArrayList() {{add(4.93); add(-5.75); add(31.42); add(35.57); add(-3.27); add(-1.91); }} ); - STRUCTURE.put("CCGAA", new ArrayList() {{add(5.38); add(-6.08); add(32.67); add(35.61); add(2.76); add(-0.53); }} ); - STRUCTURE.put("CCGAT", new ArrayList() {{add(5.25); add(-7.15); add(32.57); add(35.6); add(3.63); add(-0.66); }} ); - STRUCTURE.put("CCGAG", new ArrayList() {{add(5.65); add(-6.12); add(32.31); add(34.73); add(4.6); add(-0.49); }} ); - STRUCTURE.put("CCGAC", new ArrayList() {{add(5.54); add(-6.74); add(32.81); add(35.42); add(3.41); add(-1.52); }} ); - STRUCTURE.put("CCGTA", new ArrayList() {{add(5.33); add(-6.7); add(33.27); add(33.73); add(2.74); add(-2.19); }} ); - STRUCTURE.put("CCGTT", new ArrayList() {{add(4.62); add(-10.04); add(33.45); add(35.14); add(3.74); add(-3.07); }} ); - STRUCTURE.put("CCGTG", new ArrayList() {{add(5.1); add(-8.46); add(33.7); add(33.81); add(4.06); add(-2.43); }} ); - STRUCTURE.put("CCGTC", new ArrayList() {{add(5.1); add(-7.15); add(33.08); add(34.1); add(3.11); add(-2.46); }} ); - STRUCTURE.put("CCGGA", new ArrayList() {{add(5.39); add(-3.19); add(32.84); add(33.6); add(1.31); add(-0.62); }} ); - STRUCTURE.put("CCGGT", new ArrayList() {{add(5.16); add(-5.03); add(32.44); add(34.12); add(2.54); add(-0.44); }} ); - STRUCTURE.put("CCGGG", new ArrayList() {{add(5.19); add(-3.26); add(32.53); add(33.24); add(1.93); add(-1.59); }} ); - STRUCTURE.put("CCGGC", new ArrayList() {{add(5.36); add(-3.58); add(32.61); add(33.41); add(2.08); add(-1.33); }} ); - STRUCTURE.put("CCGCA", new ArrayList() {{add(5.59); add(-4.13); add(33.13); add(35.63); add(2.75); add(-0.88); }} ); - STRUCTURE.put("CCGCT", new ArrayList() {{add(5.15); add(-3.78); add(32.34); add(36.72); add(2.44); add(-1.9); }} ); - STRUCTURE.put("CCGCG", new ArrayList() {{add(5.51); add(-4.25); add(32.35); add(35.54); add(2.68); add(-1.05); }} ); - STRUCTURE.put("CCGCC", new ArrayList() {{add(5.29); add(-3.13); add(32.31); add(36.31); add(1.79); add(-2.02); }} ); - STRUCTURE.put("CCCAA", new ArrayList() {{add(5.44); add(-3.45); add(32.76); add(34.28); add(-0.64); add(6.64); }} ); - STRUCTURE.put("CCCAT", new ArrayList() {{add(5.19); add(-2.37); add(33.45); add(34.56); add(-2.51); add(3.38); }} ); - STRUCTURE.put("CCCAG", new ArrayList() {{add(5.39); add(-2.47); add(33.54); add(33.88); add(-1.97); add(2.42); }} ); - STRUCTURE.put("CCCAC", new ArrayList() {{add(5.41); add(-2.94); add(33.55); add(34.09); add(-1.85); add(2.54); }} ); - STRUCTURE.put("CCCTA", new ArrayList() {{add(4.99); add(-0.56); add(34.12); add(31.16); add(-2.27); add(-2.67); }} ); - STRUCTURE.put("CCCTT", new ArrayList() {{add(4.42); add(-0.14); add(34.22); add(31.94); add(-3.54); add(-3.37); }} ); - STRUCTURE.put("CCCTG", new ArrayList() {{add(4.85); add(-0.14); add(34.07); add(31.11); add(-2.88); add(-3.39); }} ); - STRUCTURE.put("CCCTC", new ArrayList() {{add(4.78); add(-0.03); add(33.87); add(31.33); add(-2.62); add(-2.73); }} ); - STRUCTURE.put("CCCGA", new ArrayList() {{add(5.22); add(-2.92); add(33.58); add(32.86); add(-1.75); add(3.35); }} ); - STRUCTURE.put("CCCGT", new ArrayList() {{add(4.92); add(-2.81); add(33.75); add(33.23); add(-2.05); add(2.76); }} ); - STRUCTURE.put("CCCGG", new ArrayList() {{add(5.19); add(-3.26); add(33.24); add(32.53); add(-1.59); add(1.93); }} ); - STRUCTURE.put("CCCGC", new ArrayList() {{add(5.3); add(-2.75); add(33.41); add(32.3); add(-1.73); add(2.34); }} ); - STRUCTURE.put("CCCCA", new ArrayList() {{add(4.89); add(-2.02); add(33.49); add(33.26); add(-2.1); add(-1.74); }} ); - STRUCTURE.put("CCCCT", new ArrayList() {{add(4.62); add(-1.32); add(33.61); add(33.78); add(-2.41); add(-2.55); }} ); - STRUCTURE.put("CCCCG", new ArrayList() {{add(4.94); add(-1.95); add(33.62); add(33.22); add(-1.76); add(-1.77); }} ); - STRUCTURE.put("CCCCC", new ArrayList() {{add(4.75); add(-1.03); add(33.41); add(33.25); add(-2.41); add(-2.24); }} ); - + // MGW PropT HelT-1 HelT-2 Roll-1 Roll-2 EP Stretch Buckle Shear Opening Stagger Tilt-1 Tilt-2 Slide-1 Slide-2 Rise-1 Rise-2 Shift-1 Shift + STRUCTURE.put("AAAAA",new ArrayList() {{add(3.38); add(-16.51); add(37.74); add(38.01); add(-5.05); add(-5.09); add(-10.1); add(0.03); add(7.8); add(0.18); add(-3.71); add(-0.22);add(-0.72);add(-1.22); add(-0.97); add(-0.99); add(3.25); add(3.25);add(-0.20);add(-0.08); }} ); + STRUCTURE.put("AAAAC",new ArrayList() {{add(4.05); add(-14.47); add(37.13); add(36.95); add(-3.62); add(-4.8); add(-8.97); add(-0.01); add(9.07); add(0.15); add(-1.9); add(-0.06);add(-1.19);add(-1.62);add(-1.01);add(-1.11); add(3.21); add(3.19);add(-0.11);add(0.13); }} ); + STRUCTURE.put("AAAAG",new ArrayList() {{add(3.68); add(-14.68); add(37.02); add(37.18); add(-4.23); add(-6.47); add(-10.39); add(0.01); add(7.39); add(0.17); add(-2.3); add(-0.13);add(-1.10);add(-1.85); add(-1.05); add(-1.23); add(3.23); add(3.24);add(-0.11);add(0.20); }} ); + STRUCTURE.put("AAAAT",new ArrayList() {{add(3.63); add(-14.89); add(36.93); add(37.68); add(-3.56); add(-5.12); add(-10.8); add(-0.01); add(7.97); add(0.17); add(-2.05); add(-0.1);add(-1.08);add(-1.48); add(-1.08); add(-1.22); add(3.24); add(3.31);add(-0.05);add(0.11); }} ); + STRUCTURE.put("AAACA",new ArrayList() {{add(4.65); add(-13.05); add(36.59); add(35.22); add(-2.98); add(-2.89); add(-8.05); add(-0.01); add(11.53); add(0.15); add(-1.3); add(0.13);add(-1.93);add(0.01); add(-1.06); add(-1.54); add(3.14); add(3.42);add(0.00);add(0.50); }} ); + STRUCTURE.put("AAACC",new ArrayList() {{add(4.06); add(-12.41); add(36.34); add(36.2); add(-3.75); add(-4.65); add(-9.12); add(0.0); add(12.05); add(0.16); add(-0.58); add(0.09);add(-1.53);add(0.09);add(-1.13);add(-1.63); add(3.17); add(3.51);add(0.10);add(0.48); }} ); + STRUCTURE.put("AAACG",new ArrayList() {{add(4.43); add(-13.15); add(36.57); add(35.48); add(-2.94); add(-3.27); add(-8.27); add(-0.01); add(12.34); add(0.15); add(-0.89); add(0.12);add(-1.75);add(0.42); add(-1.07); add(-1.53); add(3.15); add(3.43);add(0.02);add(0.49); }} ); + STRUCTURE.put("AAACT",new ArrayList() {{add(3.85); add(-12.78); add(35.86); add(36.86); add(-4.3); add(-5.49); add(-9.29); add(0.0); add(11.67); add(0.17); add(-0.79); add(0.11);add(-1.69);add(-1.02); add(-1.18); add(-1.73); add(3.17); add(3.59);add(0.10);add(0.46); }} ); + STRUCTURE.put("AAAGA",new ArrayList() {{add(4.02); add(-10.71); add(36.69); add(33.18); add(-4.76); add(-3.21); add(-8.79); add(0.0); add(9.14); add(0.14); add(-0.96); add(0.1);add(-2.01);add(-1.69); add(-1.21); add(-1.76); add(3.19); add(3.53);add(0.11);add(0.32); }} ); + STRUCTURE.put("AAAGC",new ArrayList() {{add(4.03); add(-10.58); add(36.56); add(32.81); add(-5.07); add(-3.95); add(-8.76); add(0.0); add(8.27); add(0.13); add(-0.74); add(0.08);add(-1.93);add(-1.93); add(-1.24); add(-1.79); add(3.25); add(3.47);add(0.15);add(0.34); }} ); + STRUCTURE.put("AAAGG",new ArrayList() {{add(4.05); add(-9.21); add(35.88); add(32.79); add(-4.8); add(-5.06); add(-8.81); add(0.01); add(9.94); add(0.13); add(-0.41); add(0.12);add(-1.98);add(-2.06); add(-1.25); add(-1.87); add(3.16); add(3.5);add(0.14);add(0.44); }} ); + STRUCTURE.put("AAAGT",new ArrayList() {{add(3.35); add(-11.68); add(36.93); add(33.88); add(-6.36); add(-4.78); add(-11.84); add(0.02); add(8.75); add(0.16); add(-0.58); add(0.07);add(-1.77);add(-1.81); add(-1.24); add(-1.83); add(3.25); add(3.62);add(0.24);add(0.36); }} ); + STRUCTURE.put("AAATA",new ArrayList() {{add(3.79); add(-12.63); add(37.22); add(33.85); add(-3.91); add(-6.42); add(-8.51); add(-0.01); add(4.93); add(0.15); add(-1.42); add(-0.01);add(-1.72);add(0.41); add(-1.2); add(-1.52); add(3.28); add(3.33);add(-0.03);add(0.16); }} ); + STRUCTURE.put("AAATC",new ArrayList() {{add(4.12); add(-12.27); add(36.55); add(33.42); add(-2.43); add(-5.36); add(-8.76); add(-0.02); add(5.31); add(0.16); add(-1.32); add(-0.03);add(-1.69);add(0.90); add(-1.22); add(-1.55); add(3.27); add(3.33);add(0.00);add(0.23); }} ); + STRUCTURE.put("AAATG",new ArrayList() {{add(3.84); add(-11.76); add(36.86); add(33.42); add(-4.21); add(-7.0); add(-9.42); add(-0.01); add(6.47); add(0.16); add(-1.02); add(0.0);add(-1.65);add(0.96); add(-1.22); add(-1.56); add(3.25); add(3.34);add(0.03);add(0.27); }} ); + STRUCTURE.put("AAATT",new ArrayList() {{add(2.85); add(-14.95); add(37.52); add(35.11); add(-5.0); add(-8.57); add(-13.59); add(-0.01); add(3.92); add(0.18); add(-0.67); add(-0.1);add(-1.02);add(0.03); add(-1.29); add(-1.64); add(3.44); add(3.48);add(0.16);add(0.00); }} ); + STRUCTURE.put("AACAA",new ArrayList() {{add(4.97); add(-10.17); add(34.6); add(35.64); add(-2.29); add(6.26); add(-6.22); add(-0.04); add(8.21); add(0.26); add(0.4); add(0.0);add(-0.21);add(1.80); add(-1.54); add(-1.25); add(3.39); add(3.52);add(0.47);add(-0.50); }} ); + STRUCTURE.put("AACAC",new ArrayList() {{add(5.05); add(-9.4); add(34.68); add(35.07); add(-2.42); add(4.19); add(-5.66); add(-0.03); add(6.45); add(0.26); add(0.54); add(0.03);add(-0.59);add(0.39); add(-1.52); add(-1.32); add(3.39); add(3.39);add(0.38);add(-0.34); }} ); + STRUCTURE.put("AACAG",new ArrayList() {{add(4.95); add(-9.26); add(34.88); add(34.91); add(-2.4); add(5.23); add(-5.75); add(-0.02); add(6.85); add(0.27); add(0.73); add(-0.01);add(-0.37);add(0.49); add(-1.54); add(-1.49); add(3.4); add(3.46);add(0.40);add(-0.27); }} ); + STRUCTURE.put("AACAT",new ArrayList() {{add(4.3); add(-10.22); add(35.12); add(35.94); add(-3.23); add(5.76); add(-6.1); add(-0.03); add(8.82); add(0.28); add(0.86); add(-0.07);add(0.06);add(0.87); add(-1.55); add(-1.57); add(3.43); add(3.67);add(0.50);add(-0.33); }} ); + STRUCTURE.put("AACCA",new ArrayList() {{add(4.33); add(-8.86); add(35.26); add(34.89); add(-3.3); add(-0.59); add(-6.24); add(-0.04); add(5.76); add(0.26); add(0.46); add(-0.03);add(-0.61);add(-1.52); add(-1.58); add(-1.76); add(3.44); add(3.49);add(0.31);add(-0.06); }} ); + STRUCTURE.put("AACCC",new ArrayList() {{add(4.03); add(-7.68); add(35.8); add(34.89); add(-4.18); add(-1.38); add(-6.0); add(-0.03); add(6.18); add(0.28); add(0.82); add(-0.08);add(-0.09);add(-1.46);add(-1.61);add(-1.89); add(3.47); add(3.57);add(0.44);add(-0.05); }} ); + STRUCTURE.put("AACCG",new ArrayList() {{add(4.36); add(-7.97); add(35.23); add(34.48); add(-3.13); add(-0.65); add(-5.76); add(-0.03); add(5.79); add(0.27); add(0.54); add(-0.04);add(-0.35);add(-1.02); add(-1.58); add(-1.79); add(3.43); add(3.49);add(0.39);add(-0.06); }} ); + STRUCTURE.put("AACCT",new ArrayList() {{add(3.64); add(-8.15); add(35.92); add(35.61); add(-4.78); add(-2.23); add(-6.11); add(-0.03); add(6.2); add(0.29); add(0.83); add(-0.1);add(0.20);add(-2.45); add(-1.61); add(-1.93); add(3.49); add(3.66);add(0.46);add(-0.04); }} ); + STRUCTURE.put("AACGA",new ArrayList() {{add(4.8); add(-9.62); add(34.71); add(33.66); add(-2.49); add(5.41); add(-5.64); add(-0.03); add(8.01); add(0.26); add(0.76); add(-0.07);add(0.21);add(-0.11); add(-1.51); add(-1.66); add(3.38); add(3.58);add(0.44);add(-0.03); }} ); + STRUCTURE.put("AACGC",new ArrayList() {{add(4.64); add(-9.91); add(35.06); add(33.41); add(-2.93); add(4.64); add(-5.56); add(-0.02); add(7.71); add(0.26); add(0.88); add(-0.09);add(0.21);add(-0.58); add(-1.53); add(-1.71); add(3.4); add(3.56);add(0.44);add(0.03); }} ); + STRUCTURE.put("AACGG",new ArrayList() {{add(4.62); add(-10.04); add(35.14); add(33.45); add(-3.07); add(3.74); add(-5.66); add(-0.02); add(8.65); add(0.26); add(1.06); add(-0.1);add(0.39);add(-0.90);add(-1.51);add(-1.75); add(3.39); add(3.59);add(0.45);add(0.05); }} ); + STRUCTURE.put("AACGT",new ArrayList() {{add(4.21); add(-10.39); add(35.24); add(34.53); add(-3.43); add(5.64); add(-5.89); add(-0.03); add(9.16); add(0.28); add(0.99); add(-0.13);add(0.54);add(-0.17); add(-1.52); add(-1.77); add(3.4); add(3.74);add(0.48);add(-0.01); }} ); + STRUCTURE.put("AACTA",new ArrayList() {{add(4.24); add(-6.07); add(35.56); add(32.1); add(-4.24); add(-3.9); add(-6.41); add(-0.02); add(1.66); add(0.22); add(0.24); add(0.08);add(-1.29);add(1.10); add(-1.71); add(-1.75); add(3.56); add(3.44);add(0.41);add(-0.28); }} ); + STRUCTURE.put("AACTC",new ArrayList() {{add(3.95); add(-5.23); add(36.03); add(32.41); add(-4.38); add(-3.01); add(-6.33); add(-0.03); add(1.89); add(0.24); add(0.41); add(0.07);add(-1.40);add(1.90); add(-1.73); add(-1.8); add(3.54); add(3.46);add(0.38);add(-0.19); }} ); + STRUCTURE.put("AACTG",new ArrayList() {{add(4.49); add(-5.42); add(35.45); add(31.73); add(-3.28); add(-1.85); add(-5.9); add(-0.03); add(1.58); add(0.24); add(0.31); add(0.09);add(-1.56);add(2.35); add(-1.71); add(-1.72); add(3.5); add(3.38);add(0.36);add(-0.22); }} ); + STRUCTURE.put("AAGAA",new ArrayList() {{add(4.8); add(-3.46); add(32.3); add(36.52); add(-1.79); add(-0.63); add(-6.03); add(-0.04); add(3.89);add(-0.27); add(0.06); add(0.12);add(-2.12);add(2.94); add(-1.77); add(-1.51); add(3.4); add(3.44);add(0.26);add(-0.33); }} ); + STRUCTURE.put("AAGAC",new ArrayList() {{add(4.65); add(-3.82); add(32.56); add(36.4); add(-2.15); add(-2.37); add(-5.94); add(-0.03); add(3.39);add(-0.28); add(0.17); add(0.12);add(-1.97);add(1.75);add(-1.75);add(-1.51); add(3.43); add(3.34);add(0.27);add(-0.17); }} ); + STRUCTURE.put("AAGAG",new ArrayList() {{add(4.68); add(-3.22); add(32.31); add(35.92); add(-1.76); add(-1.36); add(-5.82); add(-0.03); add(3.02);add(-0.28); add(0.32); add(0.09);add(-2.12);add(1.96); add(-1.81); add(-1.66); add(3.43); add(3.41);add(0.26);add(-0.15); }} ); + STRUCTURE.put("AAGAT",new ArrayList() {{add(3.9); add(-3.55); add(32.88); add(37.56); add(-3.96); add(-3.29); add(-6.56); add(-0.02); add(2.52);add(-0.28); add(0.39); add(0.08);add(-2.13);add(2.51);add(-1.84);add(-1.67); add(3.58); add(3.52);add(0.38);add(-0.21); }} ); + STRUCTURE.put("AAGCA",new ArrayList() {{add(4.61); add(-1.47); add(32.29); add(37.13); add(-3.05); add(-3.31); add(-5.99); add(-0.02); add(4.04);add(-0.26); add(0.32); add(0.18);add(-2.19);add(0.66); add(-1.76); add(-1.69); add(3.37); add(3.46);add(0.30);add(0.00); }} ); + STRUCTURE.put("AAGCC",new ArrayList() {{add(4.17); add(-1.55); add(32.49); add(37.74); add(-3.7); add(-4.34); add(-6.1); add(-0.02); add(3.28);add(-0.26); add(0.43); add(0.14);add(-1.75);add(0.91); add(-1.81); add(-1.71); add(3.46); add(3.51);add(0.35);add(0.00); }} ); + STRUCTURE.put("AAGCG",new ArrayList() {{add(4.63); add(-1.91); add(32.27); add(37.15); add(-2.38); add(-2.72); add(-5.65); add(-0.03); add(4.12);add(-0.26); add(0.27); add(0.17);add(-2.11);add(1.05); add(-1.76); add(-1.65); add(3.38); add(3.46);add(0.31);add(-0.01); }} ); + STRUCTURE.put("AAGCT",new ArrayList() {{add(4.14); add(-1.56); add(32.14); add(38.05); add(-3.24); add(-4.35); add(-6.03); add(-0.02); add(3.03);add(-0.25); add(0.37); add(0.12);add(-1.77);add(-0.07); add(-1.83); add(-1.8); add(3.44); add(3.56);add(0.36);add(-0.01); }} ); + STRUCTURE.put("AAGGA",new ArrayList() {{add(4.31); add(-1.33); add(32.55); add(34.9); add(-3.38); add(-1.91); add(-6.03); add(-0.02); add(4.75);add(-0.28); add(0.31); add(0.18);add(-2.36);add(2.12); add(-1.82); add(-1.86); add(3.41); add(3.55);add(0.35);add(0.01); }} ); + STRUCTURE.put("AAGGC",new ArrayList() {{add(4.51); add(-1.5); add(32.34); add(34.57); add(-2.75); add(-2.62); add(-5.64); add(-0.03); add(3.5);add(-0.28); add(0.28); add(0.14);add(-2.37);add(1.36);add(-1.83);add(-1.86); add(3.44); add(3.46);add(0.33);add(0.07); }} ); + STRUCTURE.put("AAGGG",new ArrayList() {{add(4.42); add(-0.14); add(31.94); add(34.22); add(-3.37); add(-3.54); add(-5.82); add(-0.01); add(5.26);add(-0.28); add(0.48); add(0.16);add(-2.25);add(1.31); add(-1.85); add(-1.94); add(3.37); add(3.5);add(0.35);add(0.12); }} ); + STRUCTURE.put("AAGGT",new ArrayList() {{add(3.75); add(-1.48); add(32.53); add(35.68); add(-4.81); add(-3.27); add(-6.44); add(-0.02); add(3.8);add(-0.28); add(0.56); add(0.14);add(-2.58);add(2.18);add(-1.91);add(-1.93); add(3.55); add(3.63);add(0.41);add(-0.01); }} ); + STRUCTURE.put("AAGTA",new ArrayList() {{add(4.03); add(-4.26); add(33.24); add(35.21); add(-3.52); add(-4.72); add(-6.34); add(-0.02); add(-0.26);add(-0.26); add(0.27); add(0.12);add(-2.07);add(1.33); add(-1.82); add(-1.69); add(3.52); add(3.43);add(0.30);add(-0.25); }} ); + STRUCTURE.put("AAGTC",new ArrayList() {{add(3.74); add(-4.07); add(33.16); add(35.44); add(-4.01); add(-5.04); add(-6.55); add(-0.02); add(-0.32);add(-0.25); add(0.41); add(0.08);add(-1.85);add(1.74); add(-1.85); add(-1.73); add(3.55); add(3.5);add(0.34);add(-0.26); }} ); + STRUCTURE.put("AAGTG",new ArrayList() {{add(4.14); add(-4.48); add(33.1); add(34.91); add(-2.79); add(-4.51); add(-6.18); add(-0.03); add(-0.34);add(-0.26); add(0.28); add(0.1);add(-2.01);add(1.91); add(-1.83); add(-1.68); add(3.51); add(3.45);add(0.28);add(-0.24); }} ); + STRUCTURE.put("AAGTT",new ArrayList() {{add(3.34); add(-6.26); add(33.58); add(36.3); add(-3.62); add(-5.19); add(-6.51); add(-0.03); add(-1.95);add(-0.24); add(0.42); add(0.06);add(-1.68);add(1.12); add(-1.85); add(-1.76); add(3.62); add(3.57);add(0.36);add(-0.45); }} ); + STRUCTURE.put("AATAA",new ArrayList() {{add(5.53); add(-9.65); add(32.44); add(34.83); add(-3.91); add(8.21); add(-7.48); add(-0.01); add(7.0);add(-0.11); add(-0.84); add(-0.08);add(0.20);add(1.07); add(-1.53); add(-1.39); add(3.25); add(3.51);add(0.18);add(-0.14); }} ); + STRUCTURE.put("AATAC",new ArrayList() {{add(5.3); add(-10.45); add(32.78); add(34.79); add(-4.27); add(6.24); add(-7.43); add(-0.01); add(5.26);add(-0.1); add(-0.67); add(-0.1);add(0.19);add(-0.45); add(-1.53); add(-1.41); add(3.28); add(3.38);add(0.16);add(0.01); }} ); + STRUCTURE.put("AATAG",new ArrayList() {{add(4.65); add(-11.61); add(33.54); add(35.89); add(-5.98); add(3.47); add(-7.51); add(0.01); add(4.51);add(-0.13); add(-1.0); add(-0.14);add(0.38);add(-0.61); add(-1.48); add(-1.37); add(3.3); add(3.4);add(0.13);add(0.12); }} ); + STRUCTURE.put("AATAT",new ArrayList() {{add(4.8); add(-10.43); add(33.17); add(35.25); add(-5.48); add(6.33); add(-7.65); add(-0.01); add(4.93);add(-0.1); add(-0.45); add(-0.17);add(0.43);add(-0.59); add(-1.59); add(-1.55); add(3.31); add(3.54);add(0.15);add(-0.02); }} ); + STRUCTURE.put("AATCA",new ArrayList() {{add(4.46); add(-9.91); add(33.01); add(36.14); add(-4.75); add(-1.08); add(-8.06); add(-0.02); add(4.83);add(-0.1); add(-0.39); add(-0.18);add(0.76);add(-1.40); add(-1.54); add(-1.59); add(3.3); add(3.42);add(0.19);add(0.27); }} ); + STRUCTURE.put("AATCC",new ArrayList() {{add(4.19); add(-9.67); add(33.31); add(36.57); add(-5.81); add(-0.9); add(-8.4); add(-0.02); add(4.52);add(-0.09); add(-0.06); add(-0.22);add(0.86);add(-1.48);add(-1.57);add(-1.61); add(3.33); add(3.46);add(0.19);add(0.21); }} ); + STRUCTURE.put("AATCG",new ArrayList() {{add(4.56); add(-9.51); add(32.89); add(36.19); add(-4.9); add(-0.8); add(-7.97); add(-0.02); add(4.39);add(-0.11); add(-0.49); add(-0.17);add(0.58);add(-0.87); add(-1.54); add(-1.52); add(3.29); add(3.38);add(0.13);add(0.22); }} ); + STRUCTURE.put("AATCT",new ArrayList() {{add(3.75); add(-10.31); add(33.3); add(37.53); add(-6.11); add(-2.71); add(-9.5); add(-0.03); add(3.88);add(-0.07); add(0.47); add(-0.26);add(0.96);add(-3.06); add(-1.55); add(-1.71); add(3.33); add(3.62);add(0.25);add(0.19); }} ); + STRUCTURE.put("AATGA",new ArrayList() {{add(4.46); add(-9.02); add(32.87); add(34.98); add(-6.08); add(3.8); add(-8.13); add(-0.01); add(6.23);add(-0.1); add(0.0); add(-0.21);add(0.87);add(-1.24); add(-1.55); add(-1.59); add(3.3); add(3.58);add(0.21);add(0.29); }} ); + STRUCTURE.put("AATGC",new ArrayList() {{add(4.89); add(-9.59); add(32.67); add(35.25); add(-5.22); add(3.59); add(-7.51); add(-0.02); add(3.91);add(-0.1); add(-0.33); add(-0.19);add(0.78);add(-1.74); add(-1.52); add(-1.44); add(3.3); add(3.43);add(0.12);add(0.33); }} ); + STRUCTURE.put("AATGG",new ArrayList() {{add(5.08); add(-8.98); add(32.12); add(34.87); add(-4.16); add(3.6); add(-7.27); add(-0.02); add(5.67);add(-0.09); add(-0.35); add(-0.2);add(0.96);add(-1.90); add(-1.5); add(-1.53); add(3.26); add(3.44);add(0.16);add(0.40); }} ); + STRUCTURE.put("AATGT",new ArrayList() {{add(4.27); add(-10.82); add(33.25); add(36.13); add(-6.17); add(4.78); add(-8.64); add(-0.01); add(5.89);add(-0.09); add(0.31); add(-0.25);add(1.13);add(-1.13); add(-1.53); add(-1.57); add(3.33); add(3.66);add(0.25);add(0.30); }} ); + STRUCTURE.put("AATTA",new ArrayList() {{add(4.36); add(-12.2); add(33.31); add(35.92); add(-5.21); add(-2.38); add(-8.38); add(-0.03); add(-0.87);add(-0.16); add(-1.44); add(-0.08);add(-0.02);add(1.57); add(-1.58); add(-1.22); add(3.36); add(3.2);add(-0.01);add(0.18); }} ); + STRUCTURE.put("AATTC",new ArrayList() {{add(3.75); add(-11.18); add(33.75); add(36.17); add(-6.49); add(-3.59); add(-10.92); add(-0.02); add(-1.22);add(-0.16); add(-0.96); add(-0.09);add(0.13);add(1.92); add(-1.64); add(-1.27); add(3.39); add(3.25);add(0.05);add(0.12); }} ); + STRUCTURE.put("AATTG",new ArrayList() {{add(4.24); add(-11.93); add(33.37); add(35.62); add(-5.32); add(-2.97); add(-8.77); add(-0.03); add(-1.18);add(-0.16); add(-1.53); add(-0.08);add(0.03);add(2.20); add(-1.59); add(-1.2); add(3.36); add(3.2);add(0.00);add(0.14); }} ); + STRUCTURE.put("ACAAA",new ArrayList() {{add(5.21); add(-12.03); add(35.41); add(35.77); add(6.09); add(-2.56); add(-7.86); add(-0.03); add(2.71); add(0.09); add(-1.7); add(-0.25);add(2.06);add(-1.61); add(-1.16); add(-1.03); add(3.44); add(3.16);add(-0.50);add(-0.13); }} ); + STRUCTURE.put("ACAAC",new ArrayList() {{add(5.58); add(-11.7); add(35.22); add(35.25); add(6.2); add(-3.26); add(-6.99); add(-0.03); add(2.61); add(0.09); add(-1.41); add(-0.23);add(2.26);add(-2.03);add(-1.16);add(-1.14); add(3.4); add(3.12);add(-0.47);add(0.02); }} ); + STRUCTURE.put("ACAAG",new ArrayList() {{add(5.19); add(-10.72); add(35.43); add(35.05); add(5.65); add(-3.95); add(-7.49); add(-0.03); add(0.56); add(0.09); add(-1.08); add(-0.26);add(2.00);add(-2.48); add(-1.28); add(-1.21); add(3.47); add(3.11);add(-0.46);add(0.04); }} ); + STRUCTURE.put("ACACA",new ArrayList() {{add(5.5); add(-9.33); add(35.28); add(33.88); add(2.96); add(-2.65); add(-6.78); add(-0.03); add(5.8); add(0.1); add(-0.94); add(0.05);add(0.31);add(-0.56);add(-1.19);add(-1.48); add(3.33); add(3.33);add(-0.38);add(0.39); }} ); + STRUCTURE.put("ACACC",new ArrayList() {{add(5.31); add(-8.57); add(34.83); add(34.36); add(3.95); add(-2.95); add(-7.06); add(-0.03); add(4.94); add(0.11); add(-0.67); add(-0.02);add(1.03);add(-0.85);add(-1.27);add(-1.54); add(3.3); add(3.37);add(-0.29);add(0.32); }} ); + STRUCTURE.put("ACACG",new ArrayList() {{add(5.47); add(-9.43); add(35.35); add(33.84); add(4.66); add(-2.25); add(-6.83); add(-0.03); add(4.45); add(0.1); add(-0.81); add(-0.01);add(0.84);add(-0.67); add(-1.22); add(-1.45); add(3.32); add(3.32);add(-0.34);add(0.31); }} ); + STRUCTURE.put("ACAGA",new ArrayList() {{add(5.33); add(-7.0); add(35.0); add(31.6); add(3.72); add(-1.93); add(-7.09); add(-0.03); add(2.68); add(0.08); add(-0.8); add(-0.04);add(0.90);add(-2.41); add(-1.37); add(-1.68); add(3.33); add(3.33);add(-0.27);add(0.23); }} ); + STRUCTURE.put("ACAGC",new ArrayList() {{add(5.31); add(-7.34); add(35.03); add(31.35); add(5.07); add(-2.1); add(-6.99); add(-0.03); add(0.46); add(0.08); add(-0.51); add(-0.1);add(0.64);add(-2.51); add(-1.46); add(-1.68); add(3.44); add(3.28);add(-0.29);add(0.23); }} ); + STRUCTURE.put("ACAGG",new ArrayList() {{add(5.29); add(-6.78); add(34.61); add(31.34); add(4.68); add(-2.48); add(-6.94); add(-0.03); add(2.15); add(0.08); add(-0.41); add(-0.07);add(0.61);add(-2.61); add(-1.44); add(-1.76); add(3.39); add(3.3);add(-0.24);add(0.27); }} ); + STRUCTURE.put("ACAGT",new ArrayList() {{add(5.2); add(-8.12); add(34.72); add(31.75); add(4.57); add(-1.83); add(-7.1); add(-0.02); add(0.62); add(0.09); add(-0.32); add(-0.12);add(0.93);add(-2.62); add(-1.47); add(-1.72); add(3.43); add(3.39);add(-0.25);add(0.22); }} ); + STRUCTURE.put("ACATA",new ArrayList() {{add(5.14); add(-8.52); add(35.48); add(32.21); add(4.85); add(-4.73); add(-7.31); add(-0.02); add(-3.28); add(0.07); add(-0.19); add(-0.17);add(0.77);add(-0.83);add(-1.50);add(-1.49); add(3.56); add(3.22);add(-0.35);add(0.01); }} ); + STRUCTURE.put("ACATC",new ArrayList() {{add(4.82); add(-8.65); add(35.37); add(32.37); add(5.15); add(-4.91); add(-7.6); add(-0.02); add(-2.73); add(0.09); add(-0.29); add(-0.19);add(1.01);add(-0.36); add(-1.51); add(-1.49); add(3.53); add(3.24);add(-0.34);add(0.01); }} ); + STRUCTURE.put("ACATG",new ArrayList() {{add(4.99); add(-10.15); add(35.7); add(32.0); add(5.73); add(-4.67); add(-7.2); add(-0.01); add(-3.58); add(0.08); add(-0.25); add(-0.24);add(1.39);add(-0.16); add(-1.48); add(-1.45); add(3.55); add(3.25);add(-0.36);add(-0.07); }} ); + STRUCTURE.put("ACCAA",new ArrayList() {{add(5.08); add(-4.69); add(34.7); add(34.6); add(-0.94); add(4.34); add(-5.8); add(-0.04); add(1.12); add(0.25); add(0.19); add(0.11);add(-1.35);add(2.71); add(-1.74); add(-1.39); add(3.45); add(3.44);add(-0.06);add(-0.49); }} ); + STRUCTURE.put("ACCAC",new ArrayList() {{add(5.38); add(-5.0); add(34.37); add(34.18); add(-0.49); add(3.35); add(-5.43); add(-0.05); add(0.68); add(0.25); add(0.16); add(0.1);add(-0.80);add(1.43);add(-1.71);add(-1.38); add(3.4); add(3.29);add(-0.09);add(-0.30); }} ); + STRUCTURE.put("ACCAG",new ArrayList() {{add(5.19); add(-4.44); add(34.39); add(34.21); add(-0.64); add(3.13); add(-5.3); add(-0.04); add(0.67); add(0.26); add(0.24); add(0.07);add(-0.75);add(1.51);add(-1.76);add(-1.53); add(3.42); add(3.38);add(-0.05);add(-0.30); }} ); + STRUCTURE.put("ACCCA",new ArrayList() {{add(4.66); add(-3.38); add(34.63); add(33.53); add(-1.42); add(-2.0); add(-5.67); add(-0.04); add(-0.71); add(0.28); add(0.34); add(0.04);add(-0.87);add(-0.65);add(-1.81);add(-1.82); add(3.48); add(3.39);add(-0.06);add(-0.13); }} ); + STRUCTURE.put("ACCCC",new ArrayList() {{add(4.58); add(-2.37); add(34.28); add(33.44); add(-1.8); add(-2.4); add(-5.66); add(-0.04); add(0.38); add(0.29); add(0.41); add(-0.01);add(-0.62);add(-0.44);add(-1.84);add(-1.89); add(3.45); add(3.42);add(-0.03);add(-0.09); }} ); + STRUCTURE.put("ACCCG",new ArrayList() {{add(4.7); add(-3.53); add(34.56); add(33.51); add(-0.94); add(-1.76); add(-5.59); add(-0.04); add(-0.44); add(0.27); add(0.27); add(0.04);add(-0.83);add(-0.29); add(-1.81); add(-1.79); add(3.47); add(3.38);add(-0.07);add(-0.13); }} ); + STRUCTURE.put("ACCGA",new ArrayList() {{add(5.02); add(-4.29); add(34.18); add(32.64); add(-0.94); add(3.35); add(-5.09); add(-0.04); add(0.94); add(0.25); add(0.33); add(0.04);add(-0.94);add(0.88);add(-1.78);add(-1.64); add(3.45); add(3.43);add(-0.08);add(-0.10); }} ); + STRUCTURE.put("ACCGC",new ArrayList() {{add(5.08); add(-4.55); add(34.31); add(32.31); add(-0.62); add(2.79); add(-5.23); add(-0.04); add(0.53); add(0.25); add(0.35); add(0.03);add(-0.54);add(0.54); add(-1.75); add(-1.66); add(3.43); add(3.38);add(-0.06);add(-0.01); }} ); + STRUCTURE.put("ACCGG",new ArrayList() {{add(5.16); add(-5.03); add(34.12); add(32.44); add(-0.44); add(2.54); add(-5.16); add(-0.04); add(2.36); add(0.25); add(0.36); add(0.0);add(-0.35);add(-0.17); add(-1.7); add(-1.69); add(3.4); add(3.41);add(-0.06);add(0.01); }} ); + STRUCTURE.put("ACCTA",new ArrayList() {{add(4.68); add(-1.54); add(34.99); add(31.46); add(-1.78); add(-2.96); add(-5.64); add(-0.02); add(-4.01); add(0.25); add(0.34); add(0.15);add(-1.81);add(1.98);add(-1.90);add(-1.80); add(3.55); add(3.31);add(-0.07);add(-0.27); }} ); + STRUCTURE.put("ACCTC",new ArrayList() {{add(4.37); add(-0.88); add(34.93); add(31.49); add(-2.35); add(-3.46); add(-6.05); add(-0.02); add(-3.23); add(0.26); add(0.38); add(0.13);add(-1.86);add(2.32);add(-1.92);add(-1.83); add(3.56); add(3.35);add(-0.05);add(-0.24); }} ); + STRUCTURE.put("ACCTG",new ArrayList() {{add(4.54); add(-1.68); add(35.08); add(31.38); add(-1.63); add(-2.97); add(-5.73); add(-0.02); add(-4.09); add(0.25); add(0.32); add(0.15);add(-1.88);add(2.65);add(-1.92);add(-1.79); add(3.57); add(3.36);add(-0.06);add(-0.31); }} ); + STRUCTURE.put("ACGAA",new ArrayList() {{add(5.21); add(-6.66); add(33.73); add(36.0); add(5.06); add(-0.84); add(-5.3); add(-0.04); add(-2.2);add(-0.29); add(0.4); add(-0.08);add(-0.27);add(1.45);add(-1.62);add(-1.41); add(3.54); add(3.36);add(-0.05);add(-0.29); }} ); + STRUCTURE.put("ACGAC",new ArrayList() {{add(5.34); add(-6.61); add(33.73); add(35.7); add(5.01); add(-2.42); add(-5.43); add(-0.04); add(-0.47);add(-0.28); add(0.32); add(-0.03);add(0.13);add(0.23); add(-1.51); add(-1.36); add(3.42); add(3.21);add(-0.06);add(-0.10); }} ); + STRUCTURE.put("ACGAG",new ArrayList() {{add(5.13); add(-6.5); add(33.69); add(35.94); add(4.47); add(-2.01); add(-5.41); add(-0.05); add(-2.02);add(-0.29); add(0.37); add(-0.07);add(0.15);add(0.07); add(-1.59); add(-1.43); add(3.48); add(3.25);add(-0.06);add(-0.13); }} ); + STRUCTURE.put("ACGCA",new ArrayList() {{add(5.27); add(-4.25); add(33.71); add(35.83); add(4.21); add(-1.26); add(-4.74); add(-0.04); add(-1.18);add(-0.28); add(0.34); add(0.04);add(-0.69);add(-0.65); add(-1.6); add(-1.5); add(3.46); add(3.36);add(-0.04);add(-0.03); }} ); + STRUCTURE.put("ACGCC",new ArrayList() {{add(5.08); add(-3.63); add(33.32); add(36.67); add(3.67); add(-2.09); add(-5.1); add(-0.04); add(-0.29);add(-0.27); add(0.41); add(0.03);add(-0.48);add(-0.11);add(-1.62);add(-1.57); add(3.44); add(3.39);add(0.05);add(0.03); }} ); + STRUCTURE.put("ACGCG",new ArrayList() {{add(5.2); add(-4.73); add(33.2); add(35.9); add(4.51); add(-1.39); add(-4.86); add(-0.03); add(-1.59);add(-0.27); add(0.46); add(0.0);add(-0.33);add(-0.41);add(-1.65);add(-1.56); add(3.47); add(3.4);add(0.03);add(-0.03); }} ); + STRUCTURE.put("ACGGA",new ArrayList() {{add(5.06); add(-3.36); add(33.01); add(34.6); add(2.56); add(-2.1); add(-5.19); add(-0.04); add(1.4);add(-0.27); add(0.19); add(0.08);add(-0.99);add(0.82); add(-1.63); add(-1.71); add(3.4); add(3.47);add(0.02);add(0.04); }} ); + STRUCTURE.put("ACGGC",new ArrayList() {{add(5.08); add(-3.97); add(33.55); add(33.79); add(3.91); add(-1.58); add(-5.1); add(-0.05); add(-0.54);add(-0.28); add(0.3); add(0.02);add(-0.97);add(0.27);add(-1.65);add(-1.71); add(3.48); add(3.35);add(0.03);add(0.09); }} ); + STRUCTURE.put("ACGGG",new ArrayList() {{add(4.92); add(-2.81); add(33.23); add(33.75); add(2.76); add(-2.05); add(-5.36); add(-0.04); add(0.72);add(-0.28); add(0.34); add(0.04);add(-1.07);add(0.23); add(-1.67); add(-1.77); add(3.45); add(3.38);add(0.05);add(0.09); }} ); + STRUCTURE.put("ACGGT",new ArrayList() {{add(4.73); add(-4.79); add(33.29); add(34.47); add(3.68); add(-1.2); add(-5.47); add(-0.04); add(-1.69);add(-0.27); add(0.4); add(0.0);add(-0.94);add(0.69);add(-1.72);add(-1.75); add(3.53); add(3.45);add(0.06);add(0.06); }} ); + STRUCTURE.put("ACGTA",new ArrayList() {{add(4.84); add(-7.92); add(34.34); add(34.3); add(5.09); add(-2.68); add(-5.15); add(-0.03); add(-6.33);add(-0.29); add(0.64); add(-0.05);add(-0.25);add(-0.19); add(-1.69); add(-1.48); add(3.61); add(3.31);add(-0.04);add(-0.27); }} ); + STRUCTURE.put("ACGTC",new ArrayList() {{add(4.7); add(-7.92); add(34.3); add(34.58); add(5.05); add(-3.06); add(-5.56); add(-0.03); add(-5.94);add(-0.28); add(0.72); add(-0.07);add(0.02);add(0.28); add(-1.69); add(-1.51); add(3.6); add(3.36);add(0.03);add(-0.27); }} ); + STRUCTURE.put("ACGTG",new ArrayList() {{add(4.85); add(-8.78); add(34.48); add(34.05); add(5.64); add(-3.13); add(-5.15); add(-0.03); add(-7.66);add(-0.28); add(0.64); add(-0.09);add(-0.22);add(0.13);add(-1.71);add(-1.45); add(3.69); add(3.32);add(-0.04);add(-0.33); }} ); + STRUCTURE.put("ACTAA",new ArrayList() {{add(5.73); add(-8.1); add(31.57); add(34.45); add(-0.98); add(7.88); add(-6.95); add(-0.03); add(2.79);add(-0.11); add(-0.99); add(-0.05);add(1.84);add(1.30); add(-1.7); add(-1.44); add(3.28); add(3.47);add(-0.20);add(-0.10); }} ); + STRUCTURE.put("ACTAC",new ArrayList() {{add(5.62); add(-8.16); add(31.68); add(34.24); add(-1.63); add(4.89); add(-6.99); add(-0.03); add(1.64);add(-0.12); add(-0.92); add(-0.03);add(1.84);add(-0.23); add(-1.7); add(-1.42); add(3.31); add(3.28);add(-0.23);add(0.02); }} ); + STRUCTURE.put("ACTAG",new ArrayList() {{add(5.13); add(-7.44); add(32.22); add(35.0); add(-2.86); add(3.55); add(-7.36); add(-0.02); add(-0.32);add(-0.11); add(-0.52); add(-0.01);add(1.56);add(0.04); add(-1.78); add(-1.47); add(3.39); add(3.32);add(-0.22);add(-0.04); }} ); + STRUCTURE.put("ACTCA",new ArrayList() {{add(4.89); add(-7.5); add(32.14); add(35.29); add(-2.78); add(-1.75); add(-7.4); add(-0.02); add(-1.21);add(-0.11); add(-0.38); add(-0.06);add(2.14);add(-0.98); add(-1.78); add(-1.54); add(3.39); add(3.28);add(-0.25);add(0.13); }} ); + STRUCTURE.put("ACTCC",new ArrayList() {{add(4.73); add(-6.75); add(31.81); add(35.76); add(-2.84); add(-2.04); add(-7.61); add(-0.02); add(-0.03);add(-0.09); add(-0.09); add(-0.09);add(2.23);add(-0.79); add(-1.78); add(-1.56); add(3.37); add(3.31);add(-0.20);add(0.13); }} ); + STRUCTURE.put("ACTCG",new ArrayList() {{add(4.93); add(-7.78); add(31.96); add(35.21); add(-1.9); add(-1.04); add(-7.3); add(-0.02); add(-0.72);add(-0.11); add(-0.47); add(-0.08);add(2.21);add(-0.48); add(-1.77); add(-1.51); add(3.37); add(3.28);add(-0.22);add(0.14); }} ); + STRUCTURE.put("ACTGA",new ArrayList() {{add(5.48); add(-7.1); add(31.46); add(34.41); add(-1.92); add(4.75); add(-6.81); add(-0.03); add(0.23);add(-0.1); add(-0.51); add(-0.09);add(2.41);add(-0.55);add(-1.74);add(-1.44); add(3.34); add(3.42);add(-0.22);add(0.21); }} ); + STRUCTURE.put("ACTGC",new ArrayList() {{add(5.4); add(-7.79); add(31.49); add(33.95); add(-1.42); add(3.67); add(-6.89); add(-0.03); add(1.05);add(-0.11); add(-0.54); add(-0.13);add(2.68);add(-1.28); add(-1.69); add(-1.49); add(3.34); add(3.36);add(-0.21);add(0.32); }} ); + STRUCTURE.put("ACTGG",new ArrayList() {{add(5.32); add(-7.24); add(31.51); add(34.39); add(-1.82); add(3.06); add(-6.86); add(-0.03); add(1.78);add(-0.11); add(-0.53); add(-0.13);add(2.63);add(-1.43); add(-1.67); add(-1.49); add(3.31); add(3.38);add(-0.20);add(0.31); }} ); + STRUCTURE.put("ACTTA",new ArrayList() {{add(4.48); add(-9.96); add(33.06); add(35.16); add(-2.87); add(-3.58); add(-7.98); add(-0.02); add(-6.47);add(-0.16); add(-0.98); add(0.04);add(1.94);add(1.54); add(-1.81); add(-1.25); add(3.51); add(3.12);add(-0.33);add(0.02); }} ); + STRUCTURE.put("ACTTC",new ArrayList() {{add(4.31); add(-8.83); add(32.77); add(35.22); add(-3.34); add(-4.2); add(-8.32); add(-0.01); add(-5.73);add(-0.14); add(-0.53); add(0.02);add(1.97);add(2.14); add(-1.84); add(-1.27); add(3.5); add(3.14);add(-0.30);add(0.02); }} ); + STRUCTURE.put("ACTTG",new ArrayList() {{add(4.52); add(-10.21); add(33.13); add(34.94); add(-2.35); add(-3.59); add(-8.0); add(-0.02); add(-6.9);add(-0.15); add(-1.23); add(0.03);add(2.03);add(2.17); add(-1.82); add(-1.22); add(3.51); add(3.13);add(-0.34);add(-0.02); }} ); + STRUCTURE.put("AGAAA",new ArrayList() {{add(4.74); add(-10.55); add(36.43); add(36.02); add(-0.69); add(-2.61); add(-8.05); add(-0.04); add(0.75); add(0.07); add(-0.67); add(-0.28);add(3.20);add(-1.58); add(-1.54); add(-1.08); add(3.45); add(3.18);add(-0.29);add(-0.24); }} ); + STRUCTURE.put("AGAAC",new ArrayList() {{add(4.85); add(-10.59); add(36.45); add(35.7); add(-0.56); add(-3.03); add(-7.86); add(-0.03); add(1.88); add(0.07); add(-0.65); add(-0.24);add(2.71);add(-2.29); add(-1.48); add(-1.09); add(3.42); add(3.1);add(-0.34);add(-0.14); }} ); + STRUCTURE.put("AGAAG",new ArrayList() {{add(4.5); add(-10.3); add(36.79); add(35.47); add(-1.65); add(-4.1); add(-7.97); add(-0.03); add(0.82); add(0.07); add(-0.32); add(-0.27);add(3.21);add(-2.31); add(-1.54); add(-1.25); add(3.49); add(3.17);add(-0.29);add(-0.02); }} ); + STRUCTURE.put("AGACA",new ArrayList() {{add(4.99); add(-8.49); add(36.49); add(34.36); add(-1.88); add(-2.8); add(-7.28); add(-0.01); add(5.34); add(0.08); add(-0.11); add(0.01);add(1.37);add(-0.94); add(-1.42); add(-1.55); add(3.28); add(3.36);add(-0.18);add(0.26); }} ); + STRUCTURE.put("AGACC",new ArrayList() {{add(4.73); add(-8.04); add(36.1); add(34.74); add(-1.9); add(-3.14); add(-7.44); add(-0.02); add(4.49); add(0.09); add(0.21); add(-0.08);add(1.91);add(-1.23);add(-1.51);add(-1.63); add(3.33); add(3.41);add(-0.15);add(0.21); }} ); + STRUCTURE.put("AGACG",new ArrayList() {{add(4.83); add(-8.81); add(36.41); add(34.44); add(-2.02); add(-2.95); add(-7.44); add(-0.01); add(5.23); add(0.09); add(0.11); add(-0.03);add(1.48);add(-0.79);add(-1.46);add(-1.54); add(3.3); add(3.37);add(-0.21);add(0.22); }} ); + STRUCTURE.put("AGACT",new ArrayList() {{add(4.57); add(-7.81); add(36.01); add(34.89); add(-2.0); add(-3.59); add(-7.39); add(-0.02); add(2.81); add(0.09); add(0.39); add(-0.11);add(2.24);add(-2.42); add(-1.58); add(-1.74); add(3.37); add(3.48);add(-0.09);add(0.18); }} ); + STRUCTURE.put("AGAGA",new ArrayList() {{add(5.0); add(-6.62); add(35.8); add(31.7); add(-1.55); add(-1.87); add(-7.34); add(-0.02); add(2.57); add(0.06); add(0.0); add(-0.08);add(1.63);add(-2.46); add(-1.61); add(-1.76); add(3.36); add(3.34);add(-0.14);add(0.15); }} ); + STRUCTURE.put("AGAGC",new ArrayList() {{add(5.04); add(-6.5); add(35.84); add(31.62); add(-1.41); add(-2.48); add(-7.25); add(-0.02); add(1.99); add(0.06); add(-0.1); add(-0.08);add(1.62);add(-2.51); add(-1.61); add(-1.76); add(3.36); add(3.31);add(-0.15);add(0.19); }} ); + STRUCTURE.put("AGAGG",new ArrayList() {{add(4.97); add(-6.38); add(35.39); add(31.44); add(-1.11); add(-2.6); add(-7.16); add(-0.02); add(3.19); add(0.06); add(0.23); add(-0.09);add(1.61);add(-2.65); add(-1.64); add(-1.84); add(3.35); add(3.35);add(-0.12);add(0.21); }} ); + STRUCTURE.put("AGAGT",new ArrayList() {{add(4.86); add(-7.83); add(35.66); add(31.76); add(-0.84); add(-1.51); add(-7.36); add(-0.03); add(0.54); add(0.07); add(0.06); add(-0.16);add(2.24);add(-2.80); add(-1.69); add(-1.79); add(3.42); add(3.37);add(-0.15);add(0.15); }} ); + STRUCTURE.put("AGATA",new ArrayList() {{add(4.72); add(-8.23); add(36.52); add(32.48); add(-1.03); add(-4.23); add(-7.46); add(-0.02); add(-2.59); add(0.07); add(-0.13); add(-0.16);add(2.29);add(-0.67); add(-1.67); add(-1.52); add(3.47); add(3.24);add(-0.17);add(-0.07); }} ); + STRUCTURE.put("AGATC",new ArrayList() {{add(4.36); add(-8.23); add(36.68); add(32.82); add(-1.69); add(-5.53); add(-8.19); add(-0.02); add(-1.95); add(0.08); add(0.19); add(-0.21);add(2.56);add(-0.26);add(-1.68);add(-1.54); add(3.49); add(3.27);add(-0.17);add(-0.03); }} ); + STRUCTURE.put("AGATG",new ArrayList() {{add(4.66); add(-7.85); add(36.48); add(32.25); add(-1.27); add(-5.19); add(-7.78); add(-0.02); add(-0.83); add(0.08); add(-0.14); add(-0.16);add(2.07);add(0.01); add(-1.63); add(-1.51); add(3.43); add(3.24);add(-0.20);add(0.00); }} ); + STRUCTURE.put("AGCAA",new ArrayList() {{add(5.08); add(-3.36); add(36.94); add(34.41); add(-3.02); add(3.78); add(-5.93); add(-0.03); add(1.94); add(0.24); add(0.31); add(0.08);add(0.67);add(2.30); add(-1.68); add(-1.42); add(3.45); add(3.45);add(0.01);add(-0.51); }} ); + STRUCTURE.put("AGCAC",new ArrayList() {{add(5.43); add(-3.79); add(36.67); add(34.03); add(-1.72); add(2.81); add(-5.27); add(-0.04); add(1.44); add(0.25); add(0.28); add(0.09);add(0.57);add(1.10);add(-1.63);add(-1.39); add(3.43); add(3.3);add(-0.04);add(-0.32); }} ); + STRUCTURE.put("AGCAG",new ArrayList() {{add(5.16); add(-3.6); add(36.97); add(33.86); add(-2.72); add(3.76); add(-5.7); add(-0.03); add(1.1); add(0.25); add(0.36); add(0.08);add(0.62);add(1.31); add(-1.68); add(-1.51); add(3.45); add(3.39);add(-0.03);add(-0.36); }} ); + STRUCTURE.put("AGCCA",new ArrayList() {{add(4.53); add(-2.76); add(37.62); add(33.35); add(-3.86); add(-2.44); add(-6.02); add(-0.03); add(-0.29); add(0.27); add(0.43); add(0.05);add(0.83);add(-0.86);add(-1.69);add(-1.80); add(3.49); add(3.38);add(-0.01);add(-0.14); }} ); + STRUCTURE.put("AGCCC",new ArrayList() {{add(4.61); add(-2.48); add(37.3); add(33.51); add(-2.95); add(-1.98); add(-5.43); add(-0.04); add(0.64); add(0.28); add(0.43); add(0.01);add(1.03);add(-0.67); add(-1.68); add(-1.82); add(3.47); add(3.4);add(0.02);add(-0.12); }} ); + STRUCTURE.put("AGCCG",new ArrayList() {{add(4.83); add(-3.04); add(37.23); add(33.27); add(-2.14); add(-1.44); add(-5.53); add(-0.04); add(0.77); add(0.27); add(0.34); add(0.02);add(0.95);add(-0.50); add(-1.66); add(-1.77); add(3.46); add(3.38);add(0.00);add(-0.12); }} ); + STRUCTURE.put("AGCGA",new ArrayList() {{add(5.19); add(-3.56); add(36.83); add(32.44); add(-2.29); add(4.15); add(-5.16); add(-0.03); add(1.43); add(0.24); add(0.4); add(0.02);add(1.04);add(-0.05); add(-1.65); add(-1.59); add(3.45); add(3.4);add(0.00);add(-0.18); }} ); + STRUCTURE.put("AGCGC",new ArrayList() {{add(5.18); add(-3.87); add(36.76); add(32.08); add(-1.92); add(2.89); add(-5.21); add(-0.03); add(1.32); add(0.25); add(0.44); add(0.02);add(1.09);add(0.01); add(-1.64); add(-1.66); add(3.44); add(3.37);add(-0.01);add(-0.02); }} ); + STRUCTURE.put("AGCGG",new ArrayList() {{add(5.15); add(-3.78); add(36.72); add(32.34); add(-1.9); add(2.44); add(-5.0); add(-0.03); add(2.0); add(0.25); add(0.47); add(0.0);add(1.25);add(-0.36);add(-1.63);add(-1.67); add(3.43); add(3.39);add(0.00);add(-0.05); }} ); + STRUCTURE.put("AGCGT",new ArrayList() {{add(4.86); add(-3.93); add(37.02); add(33.0); add(-2.63); add(3.7); add(-5.17); add(-0.03); add(1.77); add(0.27); add(0.5); add(-0.01);add(1.18);add(0.34); add(-1.65); add(-1.69); add(3.45); add(3.49);add(-0.01);add(-0.08); }} ); + STRUCTURE.put("AGCTA",new ArrayList() {{add(4.88); add(-1.3); add(37.56); add(31.13); add(-2.66); add(-2.32); add(-5.53); add(-0.02); add(-2.94); add(0.25); add(0.32); add(0.14);add(-0.08);add(1.47); add(-1.76); add(-1.77); add(3.52); add(3.28);add(-0.02);add(-0.25); }} ); + STRUCTURE.put("AGCTC",new ArrayList() {{add(4.63); add(-0.83); add(37.66); add(31.33); add(-3.25); add(-2.86); add(-5.79); add(-0.02); add(-2.49); add(0.25); add(0.35); add(0.12);add(0.03);add(1.97);add(-1.77);add(-1.79); add(3.53); add(3.33);add(0.01);add(-0.24); }} ); + STRUCTURE.put("AGCTG",new ArrayList() {{add(4.8); add(-1.38); add(37.48); add(31.01); add(-2.49); add(-2.54); add(-5.64); add(-0.02); add(-2.22); add(0.24); add(0.28); add(0.12);add(0.02);add(2.25);add(-1.76);add(-1.74); add(3.52); add(3.32);add(-0.01);add(-0.27); }} ); + STRUCTURE.put("AGGAA",new ArrayList() {{add(4.76); add(-4.88); add(34.39); add(36.26); add(-1.44); add(-1.3); add(-5.71); add(-0.05); add(-0.45);add(-0.31); add(0.31); add(-0.05);add(1.82);add(1.67); add(-1.86); add(-1.45); add(3.5); add(3.36);add(0.06);add(-0.30); }} ); + STRUCTURE.put("AGGAC",new ArrayList() {{add(4.81); add(-5.39); add(34.49); add(36.03); add(-0.96); add(-2.19); add(-5.48); add(-0.05); add(-0.59);add(-0.31); add(0.37); add(-0.05);add(1.76);add(0.27); add(-1.83); add(-1.42); add(3.49); add(3.24);add(0.03);add(-0.19); }} ); + STRUCTURE.put("AGGAG",new ArrayList() {{add(4.63); add(-4.81); add(34.13); add(36.23); add(-1.32); add(-2.62); add(-5.59); add(-0.05); add(-0.81);add(-0.31); add(0.43); add(-0.07);add(1.90);add(0.47); add(-1.88); add(-1.51); add(3.5); add(3.3);add(0.04);add(-0.12); }} ); + STRUCTURE.put("AGGCA",new ArrayList() {{add(4.82); add(-2.38); add(34.03); add(36.26); add(-2.06); add(-2.41); add(-5.2); add(-0.04); add(0.41);add(-0.3); add(0.44); add(0.03);add(1.19);add(-0.50);add(-1.87);add(-1.64); add(3.43); add(3.4);add(0.08);add(-0.03); }} ); + STRUCTURE.put("AGGCC",new ArrayList() {{add(4.72); add(-2.2); add(33.71); add(36.64); add(-1.89); add(-2.34); add(-5.29); add(-0.04); add(0.4);add(-0.3); add(0.46); add(0.0);add(1.38);add(-0.28);add(-1.90);add(-1.67); add(3.44); add(3.43);add(0.09);add(-0.04); }} ); + STRUCTURE.put("AGGCG",new ArrayList() {{add(4.77); add(-2.82); add(34.34); add(36.31); add(-2.1); add(-2.16); add(-5.21); add(-0.04); add(0.23);add(-0.3); add(0.4); add(0.02);add(1.30);add(-0.14);add(-1.85);add(-1.60); add(3.44); add(3.4);add(0.08);add(-0.05); }} ); + STRUCTURE.put("AGGCT",new ArrayList() {{add(4.33); add(-2.34); add(34.0); add(37.47); add(-2.71); add(-3.85); add(-5.6); add(-0.04); add(-0.24);add(-0.29); add(0.54); add(-0.01);add(1.62);add(-1.23);add(-1.90);add(-1.72); add(3.49); add(3.5);add(0.14);add(-0.05); }} ); + STRUCTURE.put("AGGGA",new ArrayList() {{add(4.68); add(-1.76); add(33.86); add(33.6); add(-2.51); add(-1.61); add(-5.38); add(-0.04); add(1.39);add(-0.3); add(0.37); add(0.02);add(1.05);add(0.92); add(-1.92); add(-1.86); add(3.43); add(3.47);add(0.13);add(0.04); }} ); + STRUCTURE.put("AGGGC",new ArrayList() {{add(4.73); add(-1.88); add(34.0); add(33.54); add(-2.27); add(-2.16); add(-5.05); add(-0.05); add(1.06);add(-0.3); add(0.37); add(0.01);add(1.13);add(0.34); add(-1.9); add(-1.84); add(3.45); add(3.4);add(0.12);add(0.06); }} ); + STRUCTURE.put("AGGGG",new ArrayList() {{add(4.62); add(-1.32); add(33.78); add(33.61); add(-2.55); add(-2.41); add(-5.38); add(-0.04); add(1.73);add(-0.31); add(0.43); add(0.01);add(1.07);add(0.25); add(-1.92); add(-1.88); add(3.44); add(3.42);add(0.13);add(0.06); }} ); + STRUCTURE.put("AGGGT",new ArrayList() {{add(4.29); add(-2.62); add(34.17); add(34.42); add(-3.17); add(-2.05); add(-5.71); add(-0.05); add(0.03);add(-0.3); add(0.46); add(-0.02);add(1.26);add(0.50);add(-1.95);add(-1.85); add(3.51); add(3.48);add(0.10);add(0.00); }} ); + STRUCTURE.put("AGGTA",new ArrayList() {{add(4.33); add(-5.43); add(35.24); add(34.69); add(-2.81); add(-4.49); add(-5.71); add(-0.04); add(-3.92);add(-0.3); add(0.56); add(-0.02);add(1.70);add(-0.08); add(-1.89); add(-1.56); add(3.56); add(3.36);add(0.03);add(-0.28); }} ); + STRUCTURE.put("AGGTC",new ArrayList() {{add(4.18); add(-5.67); add(35.04); add(34.84); add(-2.46); add(-3.96); add(-6.0); add(-0.04); add(-4.5);add(-0.3); add(0.61); add(-0.07);add(2.00);add(0.40); add(-1.94); add(-1.59); add(3.58); add(3.4);add(0.04);add(-0.30); }} ); + STRUCTURE.put("AGGTG",new ArrayList() {{add(4.42); add(-6.64); add(35.25); add(34.31); add(-1.65); add(-3.26); add(-5.6); add(-0.03); add(-5.17);add(-0.3); add(0.58); add(-0.07);add(1.91);add(0.48); add(-1.92); add(-1.53); add(3.58); add(3.37);add(0.00);add(-0.34); }} ); + STRUCTURE.put("AGTAA",new ArrayList() {{add(5.37); add(-7.55); add(34.75); add(34.55); add(-3.91); add(5.33); add(-7.46); add(-0.02); add(0.12);add(-0.13); add(-0.75); add(0.06);add(1.35);add(1.36); add(-1.66); add(-1.35); add(3.41); add(3.36);add(-0.23);add(-0.16); }} ); + STRUCTURE.put("AGTAC",new ArrayList() {{add(5.54); add(-8.16); add(34.74); add(33.82); add(-2.73); add(4.94); add(-6.89); add(-0.03); add(-0.49);add(-0.12); add(-0.96); add(0.05);add(1.52);add(-0.11); add(-1.63); add(-1.39); add(3.4); add(3.23);add(-0.23);add(-0.04); }} ); + STRUCTURE.put("AGTAG",new ArrayList() {{add(5.2); add(-8.16); add(35.18); add(34.13); add(-4.12); add(4.64); add(-7.43); add(-0.02); add(-2.32);add(-0.12); add(-0.46); add(0.03);add(1.49);add(0.14); add(-1.71); add(-1.43); add(3.44); add(3.3);add(-0.24);add(-0.06); }} ); + STRUCTURE.put("AGTCA",new ArrayList() {{add(4.89); add(-8.11); add(35.06); add(35.14); add(-3.69); add(-1.77); add(-7.61); add(-0.02); add(-2.75);add(-0.11); add(-0.23); add(-0.02);add(1.88);add(-0.87); add(-1.68); add(-1.47); add(3.46); add(3.25);add(-0.24);add(0.13); }} ); + STRUCTURE.put("AGTCC",new ArrayList() {{add(4.51); add(-7.34); add(34.97); add(35.78); add(-4.26); add(-2.46); add(-7.68); add(-0.01); add(-2.6);add(-0.1); add(0.29); add(-0.05);add(2.09);add(-0.84);add(-1.73);add(-1.49); add(3.48); add(3.28);add(-0.20);add(0.09); }} ); + STRUCTURE.put("AGTCG",new ArrayList() {{add(4.59); add(-8.15); add(35.27); add(35.38); add(-4.46); add(-2.31); add(-7.96); add(-0.02); add(-3.72);add(-0.12); add(-0.12); add(-0.01);add(1.82);add(-0.42); add(-1.72); add(-1.41); add(3.48); add(3.23);add(-0.26);add(0.07); }} ); + STRUCTURE.put("AGTGA",new ArrayList() {{add(5.22); add(-7.1); add(34.23); add(33.87); add(-3.58); add(3.56); add(-7.2); add(-0.03); add(-0.15);add(-0.12); add(-0.38); add(-0.04);add(1.91);add(-0.82); add(-1.67); add(-1.47); add(3.42); add(3.36);add(-0.24);add(0.24); }} ); + STRUCTURE.put("AGTGC",new ArrayList() {{add(5.3); add(-7.68); add(34.58); add(33.99); add(-3.54); add(2.74); add(-7.05); add(-0.03); add(-2.51);add(-0.12); add(-0.4); add(-0.03);add(1.99);add(-1.33); add(-1.66); add(-1.36); add(3.44); add(3.25);add(-0.26);add(0.22); }} ); + STRUCTURE.put("AGTGG",new ArrayList() {{add(5.31); add(-7.4); add(34.38); add(34.11); add(-2.95); add(2.64); add(-6.85); add(-0.03); add(-0.51);add(-0.11); add(-0.36); add(-0.06);add(2.21);add(-1.39);add(-1.62);add(-1.43); add(3.41); add(3.32);add(-0.21);add(0.25); }} ); + STRUCTURE.put("AGTGT",new ArrayList() {{add(5.1); add(-8.48); add(34.67); add(34.61); add(-3.51); add(3.69); add(-7.06); add(-0.03); add(-3.09);add(-0.11); add(-0.3); add(-0.06);add(1.86);add(-1.03);add(-1.72);add(-1.38); add(3.44); add(3.37);add(-0.33);add(0.22); }} ); + STRUCTURE.put("AGTTA",new ArrayList() {{add(4.67); add(-10.74); add(35.6); add(34.85); add(-3.98); add(-3.3); add(-7.89); add(-0.03); add(-7.51);add(-0.16); add(-1.05); add(0.06);add(1.35);add(1.19); add(-1.72); add(-1.21); add(3.52); add(3.1);add(-0.39);add(0.04); }} ); + STRUCTURE.put("AGTTC",new ArrayList() {{add(4.25); add(-10.45); add(35.93); add(35.24); add(-4.54); add(-3.79); add(-8.35); add(-0.01); add(-8.02);add(-0.16); add(-0.64); add(0.04);add(1.50);add(1.72); add(-1.74); add(-1.19); add(3.54); add(3.12);add(-0.36);add(0.01); }} ); + STRUCTURE.put("AGTTG",new ArrayList() {{add(4.38); add(-11.29); add(36.24); add(34.76); add(-4.47); add(-3.88); add(-8.34); add(-0.02); add(-9.26);add(-0.16); add(-1.03); add(0.06);add(1.37);add(1.88); add(-1.74); add(-1.17); add(3.55); add(3.11);add(-0.41);add(-0.07); }} ); + STRUCTURE.put("ATAAA",new ArrayList() {{add(5.66); add(-12.37); add(34.6); add(35.94); add(8.13); add(-0.95); add(-7.46); add(-0.02); add(0.84); add(0.08); add(-1.11); add(-0.25);add(1.32);add(-1.16); add(-1.35); add(-1.05); add(3.46); add(3.19);add(-0.13);add(-0.26); }} ); + STRUCTURE.put("ATAAC",new ArrayList() {{add(5.62); add(-10.51); add(34.54); add(35.5); add(6.14); add(-3.5); add(-7.36); add(-0.03); add(2.01); add(0.1); add(-1.34); add(-0.15);add(1.34);add(-1.51); add(-1.31); add(-1.13); add(3.37); add(3.09);add(-0.10);add(-0.07); }} ); + STRUCTURE.put("ATAAG",new ArrayList() {{add(5.48); add(-10.54); add(35.15); add(35.03); add(6.31); add(-3.47); add(-7.46); add(-0.03); add(-1.0); add(0.1); add(-1.08); add(-0.23);add(1.34);add(-1.81); add(-1.41); add(-1.28); add(3.46); add(3.11);add(-0.11);add(-0.01); }} ); + STRUCTURE.put("ATAAT",new ArrayList() {{add(5.28); add(-11.27); add(35.02); add(35.9); add(6.41); add(-2.76); add(-7.69); add(-0.02); add(-1.21); add(0.1); add(-1.0); add(-0.23);add(1.54);add(-1.86); add(-1.41); add(-1.22); add(3.45); add(3.18);add(-0.09);add(-0.14); }} ); + STRUCTURE.put("ATACA",new ArrayList() {{add(5.82); add(-8.93); add(34.63); add(34.26); add(5.89); add(-2.07); add(-6.9); add(-0.03); add(3.64); add(0.11); add(-0.93); add(0.05);add(-0.30);add(-0.61); add(-1.35); add(-1.53); add(3.29); add(3.33);add(-0.03);add(0.27); }} ); + STRUCTURE.put("ATACC",new ArrayList() {{add(5.46); add(-8.36); add(34.56); add(34.69); add(5.39); add(-2.59); add(-7.03); add(-0.03); add(3.27); add(0.11); add(-0.57); add(0.0);add(0.05);add(-0.69);add(-1.40);add(-1.59); add(3.31); add(3.37);add(0.02);add(0.24); }} ); + STRUCTURE.put("ATACG",new ArrayList() {{add(5.53); add(-9.05); add(34.59); add(34.16); add(5.89); add(-2.22); add(-6.78); add(-0.02); add(3.3); add(0.11); add(-0.6); add(0.0);add(0.07);add(-0.54);add(-1.38);add(-1.54); add(3.32); add(3.34);add(0.00);add(0.23); }} ); + STRUCTURE.put("ATACT",new ArrayList() {{add(5.37); add(-8.21); add(34.44); add(34.73); add(6.22); add(-2.71); add(-7.14); add(-0.03); add(0.64); add(0.11); add(-0.35); add(-0.03);add(-0.09);add(-1.97); add(-1.48); add(-1.69); add(3.41); add(3.42);add(0.05);add(0.16); }} ); + STRUCTURE.put("ATAGA",new ArrayList() {{add(5.69); add(-7.03); add(34.25); add(31.88); add(6.34); add(-1.51); add(-6.96); add(-0.03); add(1.55); add(0.09); add(-0.83); add(0.0);add(-0.10);add(-1.89); add(-1.47); add(-1.74); add(3.34); add(3.31);add(0.06);add(0.18); }} ); + STRUCTURE.put("ATAGC",new ArrayList() {{add(5.37); add(-6.84); add(34.96); add(31.21); add(4.96); add(-2.59); add(-7.0); add(-0.02); add(0.65); add(0.09); add(-0.45); add(-0.02);add(-0.72);add(-1.68);add(-1.52);add(-1.80); add(3.43); add(3.3);add(0.04);add(0.22); }} ); + STRUCTURE.put("ATAGG",new ArrayList() {{add(5.6); add(-6.87); add(34.5); add(31.71); add(5.54); add(-2.45); add(-6.95); add(-0.03); add(2.26); add(0.09); add(-0.64); add(0.0);add(-0.29);add(-2.19);add(-1.45);add(-1.79); add(3.33); add(3.29);add(0.03);add(0.23); }} ); + STRUCTURE.put("ATAGT",new ArrayList() {{add(4.86); add(-8.26); add(35.53); add(31.86); add(3.79); add(-3.25); add(-7.21); add(0.0); add(-0.48); add(0.13); add(-0.91); add(-0.06);add(0.07);add(-1.85); add(-1.37); add(-1.73); add(3.38); add(3.39);add(0.05);add(0.26); }} ); + STRUCTURE.put("ATATA",new ArrayList() {{add(5.76); add(-8.95); add(34.46); add(32.12); add(8.32); add(-2.62); add(-6.79); add(-0.01); add(-3.09); add(0.08); add(-0.52); add(-0.09);add(-0.17);add(-0.10); add(-1.5); add(-1.5); add(3.48); add(3.2);add(-0.01);add(0.00); }} ); + STRUCTURE.put("ATATC",new ArrayList() {{add(5.4); add(-8.3); add(35.01); add(32.32); add(6.33); add(-3.98); add(-7.44); add(-0.02); add(-3.09); add(0.09); add(-0.48); add(-0.1);add(0.08);add(0.20); add(-1.51); add(-1.52); add(3.46); add(3.22);add(0.01);add(-0.02); }} ); + STRUCTURE.put("ATATG",new ArrayList() {{add(5.32); add(-8.33); add(35.37); add(32.04); add(5.85); add(-4.26); add(-7.38); add(-0.02); add(-2.85); add(0.09); add(-0.63); add(-0.08);add(-0.11);add(0.45); add(-1.49); add(-1.5); add(3.45); add(3.21);add(-0.02);add(-0.04); }} ); + STRUCTURE.put("ATCAA",new ArrayList() {{add(5.52); add(-7.12); add(35.38); add(34.6); add(0.04); add(6.62); add(-5.64); add(-0.04); add(3.54); add(0.27); add(0.29); add(-0.02);add(-1.19);add(2.01); add(-1.57); add(-1.34); add(3.35); add(3.5);add(0.25);add(-0.46); }} ); + STRUCTURE.put("ATCAC",new ArrayList() {{add(5.35); add(-6.53); add(35.64); add(34.03); add(-0.51); add(3.72); add(-5.68); add(-0.04); add(1.81); add(0.27); add(0.3); add(0.02);add(-1.24);add(0.77); add(-1.55); add(-1.39); add(3.36); add(3.33);add(0.21);add(-0.26); }} ); + STRUCTURE.put("ATCAG",new ArrayList() {{add(5.34); add(-6.55); add(35.8); add(34.24); add(-0.36); add(4.36); add(-5.47); add(-0.04); add(2.15); add(0.27); add(0.39); add(-0.01);add(-0.90);add(0.63);add(-1.53);add(-1.44); add(3.35); add(3.38);add(0.25);add(-0.27); }} ); + STRUCTURE.put("ATCCA",new ArrayList() {{add(4.94); add(-5.7); add(36.24); add(33.69); add(-0.96); add(-0.54); add(-5.61); add(-0.04); add(1.34); add(0.28); add(0.29); add(-0.04);add(-0.93);add(-1.26); add(-1.53); add(-1.78); add(3.36); add(3.42);add(0.19);add(-0.07); }} ); + STRUCTURE.put("ATCCC",new ArrayList() {{add(4.81); add(-4.91); add(36.09); add(33.66); add(-1.49); add(-1.06); add(-5.67); add(-0.05); add(2.45); add(0.3); add(0.37); add(-0.09);add(-0.69);add(-1.16);add(-1.55);add(-1.86); add(3.34); add(3.47);add(0.20);add(-0.04); }} ); + STRUCTURE.put("ATCCG",new ArrayList() {{add(4.47); add(-4.49); add(36.59); add(32.93); add(-2.07); add(-2.34); add(-5.43); add(-0.03); add(0.21); add(0.28); add(0.34); add(-0.03);add(-1.25);add(-0.75); add(-1.56); add(-1.8); add(3.44); add(3.44);add(0.21);add(-0.19); }} ); + STRUCTURE.put("ATCCT",new ArrayList() {{add(4.51); add(-5.29); add(36.16); add(34.37); add(-1.25); add(-1.41); add(-5.71); add(-0.05); add(2.17); add(0.3); add(0.42); add(-0.1);add(-0.50);add(-2.04); add(-1.56); add(-1.92); add(3.36); add(3.54);add(0.24);add(-0.06); }} ); + STRUCTURE.put("ATCGA",new ArrayList() {{add(5.23); add(-7.08); add(35.76); add(32.77); add(-0.54); add(5.51); add(-5.43); add(-0.04); add(3.62); add(0.27); add(0.5); add(-0.09);add(-0.60);add(0.02);add(-1.51);add(-1.64); add(3.33); add(3.51);add(0.21);add(0.00); }} ); + STRUCTURE.put("ATCGC",new ArrayList() {{add(5.28); add(-6.96); add(35.82); add(32.49); add(-0.66); add(4.15); add(-5.24); add(-0.03); add(2.84); add(0.26); add(0.44); add(-0.08);add(-0.45);add(-0.52); add(-1.49); add(-1.62); add(3.32); add(3.42);add(0.21);add(0.05); }} ); + STRUCTURE.put("ATCGG",new ArrayList() {{add(5.25); add(-7.15); add(35.6); add(32.57); add(-0.66); add(3.63); add(-5.15); add(-0.03); add(4.16); add(0.26); add(0.49); add(-0.11);add(-0.20);add(-0.94); add(-1.49); add(-1.68); add(3.3); add(3.47);add(0.20);add(0.07); }} ); + STRUCTURE.put("ATCGT",new ArrayList() {{add(4.8); add(-6.85); add(36.22); add(33.64); add(-1.68); add(4.65); add(-5.77); add(-0.04); add(3.42); add(0.28); add(0.5); add(-0.1);add(-0.49);add(-0.12); add(-1.5); add(-1.68); add(3.34); add(3.58);add(0.21);add(-0.02); }} ); + STRUCTURE.put("ATCTA",new ArrayList() {{add(4.74); add(-3.2); add(36.79); add(31.29); add(-1.24); add(-2.21); add(-5.6); add(-0.02); add(-3.39); add(0.26); add(0.27); add(0.11);add(-2.52);add(1.93); add(-1.65); add(-1.73); add(3.53); add(3.31);add(0.20);add(-0.26); }} ); + STRUCTURE.put("ATCTC",new ArrayList() {{add(4.74); add(-2.78); add(36.47); add(31.47); add(-1.46); add(-2.16); add(-5.95); add(-0.03); add(-1.98); add(0.26); add(0.26); add(0.08);add(-2.23);add(2.06); add(-1.65); add(-1.76); add(3.45); add(3.34);add(0.19);add(-0.17); }} ); + STRUCTURE.put("ATCTG",new ArrayList() {{add(4.98); add(-2.7); add(36.37); add(31.12); add(-0.33); add(-2.27); add(-5.82); add(-0.02); add(-3.75); add(0.24); add(0.23); add(0.12);add(-3.09);add(2.23);add(-1.74);add(-1.72); add(3.56); add(3.3);add(0.11);add(-0.28); }} ); + STRUCTURE.put("ATGAA",new ArrayList() {{add(5.5); add(-6.07); add(35.03); add(35.39); add(5.73); add(0.04); add(-5.57); add(-0.05); add(-0.52);add(-0.29); add(0.24); add(0.03);add(-1.46);add(1.98); add(-1.4); add(-1.46); add(3.44); add(3.35);add(0.31);add(-0.30); }} ); + STRUCTURE.put("ATGAC",new ArrayList() {{add(5.45); add(-6.37); add(35.1); add(35.47); add(5.16); add(-2.06); add(-5.56); add(-0.04); add(-0.82);add(-0.29); add(0.26); add(0.02);add(-0.86);add(0.62); add(-1.37); add(-1.41); add(3.42); add(3.22);add(0.30);add(-0.16); }} ); + STRUCTURE.put("ATGAG",new ArrayList() {{add(5.23); add(-6.05); add(34.93); add(35.1); add(5.69); add(-1.52); add(-5.38); add(-0.05); add(-2.42);add(-0.28); add(0.26); add(-0.03);add(-1.17);add(0.69); add(-1.47); add(-1.54); add(3.5); add(3.26);add(0.33);add(-0.16); }} ); + STRUCTURE.put("ATGAT",new ArrayList() {{add(4.79); add(-6.15); add(34.82); add(36.14); add(3.79); add(-1.32); add(-6.07); add(-0.04); add(-2.73);add(-0.29); add(0.4); add(-0.03);add(-1.18);add(1.26); add(-1.57); add(-1.58); add(3.54); add(3.41);add(0.31);add(-0.27); }} ); + STRUCTURE.put("ATGCA",new ArrayList() {{add(5.55); add(-3.73); add(35.12); add(35.6); add(4.66); add(-1.2); add(-5.1); add(-0.04); add(-0.51);add(-0.27); add(0.24); add(0.11);add(-1.70);add(-0.16); add(-1.39); add(-1.56); add(3.39); add(3.37);add(0.34);add(-0.03); }} ); + STRUCTURE.put("ATGCC",new ArrayList() {{add(5.33); add(-3.12); add(34.66); add(36.28); add(4.26); add(-1.93); add(-5.23); add(-0.04); add(0.1);add(-0.26); add(0.33); add(0.09);add(-1.67);add(0.28); add(-1.46); add(-1.61); add(3.4); add(3.39);add(0.36);add(0.01); }} ); + STRUCTURE.put("ATGCG",new ArrayList() {{add(5.6); add(-4.03); add(35.0); add(35.58); add(5.09); add(-0.76); add(-4.96); add(-0.04); add(0.12);add(-0.27); add(0.25); add(0.1);add(-1.47);add(0.34); add(-1.37); add(-1.54); add(3.37); add(3.37);add(0.35);add(-0.01); }} ); + STRUCTURE.put("ATGCT",new ArrayList() {{add(5.23); add(-3.68); add(34.56); add(36.89); add(4.59); add(-2.2); add(-5.39); add(-0.04); add(-1.96);add(-0.26); add(0.33); add(0.04);add(-1.61);add(-0.87); add(-1.52); add(-1.66); add(3.48); add(3.44);add(0.39);add(-0.03); }} ); + STRUCTURE.put("ATGGA",new ArrayList() {{add(5.34); add(-3.37); add(34.46); add(33.69); add(4.34); add(-0.26); add(-5.3); add(-0.04); add(1.31);add(-0.27); add(0.22); add(0.11);add(-1.91);add(1.17); add(-1.48); add(-1.79); add(3.37); add(3.42);add(0.37);add(0.07); }} ); + STRUCTURE.put("ATGGC",new ArrayList() {{add(5.23); add(-3.12); add(34.93); add(33.39); add(3.68); add(-2.18); add(-5.43); add(-0.04); add(0.53);add(-0.27); add(0.22); add(0.09);add(-1.69);add(0.75); add(-1.47); add(-1.78); add(3.4); add(3.36);add(0.38);add(0.12); }} ); + STRUCTURE.put("ATGGG",new ArrayList() {{add(5.19); add(-2.37); add(34.56); add(33.45); add(3.38); add(-2.51); add(-5.37); add(-0.04); add(1.55);add(-0.27); add(0.28); add(0.1);add(-1.86);add(0.58); add(-1.49); add(-1.82); add(3.38); add(3.38);add(0.39);add(0.13); }} ); + STRUCTURE.put("ATGGT",new ArrayList() {{add(4.97); add(-4.33); add(34.88); add(34.55); add(4.04); add(-1.22); add(-5.41); add(-0.05); add(-0.8);add(-0.27); add(0.26); add(0.06);add(-1.94);add(0.94);add(-1.54);add(-1.78); add(3.49); add(3.44);add(0.39);add(0.03); }} ); + STRUCTURE.put("ATGTA",new ArrayList() {{add(5.27); add(-7.4); add(35.76); add(34.06); add(5.57); add(-2.14); add(-5.43); add(-0.04); add(-5.57);add(-0.28); add(0.44); add(0.04);add(-1.39);add(0.32); add(-1.44); add(-1.5); add(3.5); add(3.31);add(0.35);add(-0.28); }} ); + STRUCTURE.put("ATGTC",new ArrayList() {{add(5.02); add(-7.1); add(35.42); add(34.24); add(4.9); add(-2.83); add(-5.65); add(-0.04); add(-5.5);add(-0.28); add(0.54); add(0.01);add(-1.26);add(0.69); add(-1.5); add(-1.54); add(3.53); add(3.35);add(0.34);add(-0.28); }} ); + STRUCTURE.put("ATGTG",new ArrayList() {{add(5.15); add(-8.83); add(35.86); add(33.53); add(6.57); add(-2.22); add(-5.49); add(-0.03); add(-7.69);add(-0.28); add(0.54); add(-0.03);add(-1.05);add(0.67);add(-1.50);add(-1.49); add(3.59); add(3.33);add(0.36);add(-0.37); }} ); + STRUCTURE.put("ATTAA",new ArrayList() {{add(5.58); add(-11.32); add(35.37); add(34.44); add(-2.12); add(8.64); add(-7.47); add(-0.02); add(3.61);add(-0.1); add(-1.05); add(-0.23);add(1.59);add(-0.03); add(-1.22); add(-1.36); add(3.16); add(3.53);add(0.17);add(0.00); }} ); + STRUCTURE.put("ATTAC",new ArrayList() {{add(5.44); add(-11.34); add(35.53); add(34.68); add(-2.51); add(5.03); add(-7.55); add(-0.02); add(2.23);add(-0.11); add(-1.02); add(-0.2);add(1.79);add(-1.55); add(-1.21); add(-1.34); add(3.16); add(3.34);add(0.15);add(0.12); }} ); + STRUCTURE.put("ATTAG",new ArrayList() {{add(5.57); add(-11.58); add(35.33); add(34.46); add(-1.62); add(7.71); add(-7.23); add(-0.02); add(3.27);add(-0.09); add(-0.87); add(-0.26);add(1.84);add(-1.43); add(-1.21); add(-1.45); add(3.16); add(3.46);add(0.17);add(0.10); }} ); + STRUCTURE.put("ATTCA",new ArrayList() {{add(5.22); add(-10.83); add(36.06); add(35.03); add(-2.45); add(0.21); add(-7.69); add(-0.03); add(-0.16);add(-0.11); add(-1.13); add(-0.24);add(2.07);add(-2.20); add(-1.19); add(-1.48); add(3.18); add(3.36);add(0.13);add(0.29); }} ); + STRUCTURE.put("ATTCC",new ArrayList() {{add(4.69); add(-9.61); add(35.6); add(35.99); add(-3.73); add(-0.88); add(-8.21); add(-0.03); add(1.64);add(-0.09); add(-0.69); add(-0.27);add(2.03);add(-2.02); add(-1.23); add(-1.51); add(3.16); add(3.4);add(0.12);add(0.28); }} ); + STRUCTURE.put("ATTCG",new ArrayList() {{add(4.88); add(-10.56); add(35.86); add(35.52); add(-2.98); add(-0.24); add(-7.92); add(-0.03); add(0.84);add(-0.1); add(-1.03); add(-0.25);add(2.03);add(-1.78); add(-1.21); add(-1.45); add(3.17); add(3.36);add(0.12);add(0.26); }} ); + STRUCTURE.put("ATTCT",new ArrayList() {{add(4.43); add(-10.15); add(36.11); add(36.6); add(-3.86); add(-1.42); add(-8.34); add(-0.03); add(0.42);add(-0.08); add(-0.39); add(-0.29);add(2.31);add(-3.35); add(-1.21); add(-1.59); add(3.2); add(3.49);add(0.15);add(0.26); }} ); + STRUCTURE.put("ATTGA",new ArrayList() {{add(5.46); add(-10.92); add(34.93); add(34.6); add(-2.1); add(7.05); add(-7.28); add(-0.03); add(2.54);add(-0.09); add(-1.04); add(-0.32);add(2.33);add(-2.06); add(-1.2); add(-1.34); add(3.16); add(3.5);add(0.10);add(0.45); }} ); + STRUCTURE.put("ATTGC",new ArrayList() {{add(5.15); add(-10.6); add(35.34); add(34.49); add(-2.92); add(3.9); add(-7.61); add(-0.03); add(2.51);add(-0.1); add(-0.93); add(-0.3);add(2.36);add(-2.36); add(-1.19); add(-1.41); add(3.17); add(3.44);add(0.13);add(0.49); }} ); + STRUCTURE.put("ATTGG",new ArrayList() {{add(5.3); add(-10.72); add(34.93); add(34.4); add(-2.07); add(5.06); add(-7.32); add(-0.03); add(3.46);add(-0.1); add(-0.94); add(-0.32);add(2.28);add(-2.88); add(-1.19); add(-1.4); add(3.15); add(3.42);add(0.13);add(0.48); }} ); + STRUCTURE.put("ATTGT",new ArrayList() {{add(5.03); add(-11.94); add(35.45); add(35.55); add(-2.43); add(6.33); add(-7.49); add(-0.03); add(2.6);add(-0.09); add(-0.52); add(-0.33);add(2.42);add(-2.15); add(-1.2); add(-1.39); add(3.2); add(3.57);add(0.14);add(0.43); }} ); + STRUCTURE.put("ATTTA",new ArrayList() {{add(4.75); add(-13.87); add(36.55); add(35.79); add(-2.36); add(-0.94); add(-8.29); add(-0.03); add(-5.49);add(-0.16); add(-1.71); add(-0.16);add(1.70);add(1.08); add(-1.22); add(-1.06); add(3.27); add(3.18);add(0.00);add(0.25); }} ); + STRUCTURE.put("ATTTC",new ArrayList() {{add(4.27); add(-12.09); add(36.7); add(35.77); add(-4.4); add(-3.13); add(-9.42); add(-0.02); add(-5.08);add(-0.15); add(-1.57); add(-0.13);add(1.65);add(1.30); add(-1.23); add(-1.1); add(3.24); add(3.17);add(-0.01);add(0.22); }} ); + STRUCTURE.put("ATTTG",new ArrayList() {{add(4.12); add(-13.36); add(37.28); add(35.49); add(-4.68); add(-3.54); add(-9.88); add(-0.02); add(-6.95);add(-0.17); add(-2.09); add(-0.09);add(1.24);add(1.40); add(-1.26); add(-1.09); add(3.32); add(3.16);add(-0.09);add(0.09); }} ); + STRUCTURE.put("CAAAG",new ArrayList() {{add(4.52); add(-12.85); add(35.41); add(36.3); add(-2.8); add(-4.84); add(-8.76); add(-0.03); add(6.77); add(0.15); add(-1.91); add(-0.11);add(-1.50);add(-1.90); add(-1.06); add(-1.27); add(3.16); add(3.2);add(-0.17);add(0.19); }} ); + STRUCTURE.put("CAACG",new ArrayList() {{add(4.98); add(-11.71); add(35.01); add(35.1); add(-2.97); add(-2.83); add(-7.6); add(-0.03); add(10.17); add(0.16); add(-1.48); add(0.09);add(-2.23);add(0.25);add(-1.08);add(-1.53); add(3.06); add(3.4);add(-0.09);add(0.45); }} ); + STRUCTURE.put("CAAGG",new ArrayList() {{add(4.65); add(-9.16); add(34.98); add(32.51); add(-3.66); add(-2.93); add(-7.76); add(-0.02); add(7.66); add(0.13); add(-0.93); add(0.05);add(-2.19);add(-2.22); add(-1.23); add(-1.82); add(3.13); add(3.44);add(0.03);add(0.35); }} ); + STRUCTURE.put("CAATG",new ArrayList() {{add(4.69); add(-10.42); add(35.08); add(32.41); add(-2.63); add(-4.37); add(-7.96); add(-0.02); add(3.33); add(0.14); add(-1.37); add(-0.05);add(-2.32);add(0.87); add(-1.19); add(-1.53); add(3.15); add(3.28);add(-0.12);add(0.11); }} ); + STRUCTURE.put("CACAG",new ArrayList() {{add(5.32); add(-8.12); add(33.74); add(35.2); add(-2.15); add(4.99); add(-5.48); add(-0.03); add(6.1); add(0.27); add(0.5); add(0.02);add(-0.75);add(0.71); add(-1.46); add(-1.44); add(3.33); add(3.44);add(0.33);add(-0.27); }} ); + STRUCTURE.put("CACCG",new ArrayList() {{add(4.92); add(-6.56); add(34.05); add(34.36); add(-2.48); add(-0.28); add(-5.25); add(-0.03); add(4.2); add(0.27); add(0.34); add(0.0);add(-1.06);add(-0.47); add(-1.5); add(-1.72); add(3.34); add(3.42);add(0.24);add(-0.06); }} ); + STRUCTURE.put("CACGG",new ArrayList() {{add(5.1); add(-8.46); add(33.81); add(33.7); add(-2.43); add(4.06); add(-5.12); add(-0.02); add(7.05); add(0.26); add(0.67); add(-0.06);add(-0.25);add(-0.91);add(-1.44);add(-1.67); add(3.32); add(3.5);add(0.33);add(0.04); }} ); + STRUCTURE.put("CAGAG",new ArrayList() {{add(5.14); add(-3.06); add(31.18); add(35.6); add(-1.81); add(-1.0); add(-5.67); add(-0.03); add(2.74);add(-0.26); add(0.2); add(0.1);add(-2.20);add(1.75); add(-1.69); add(-1.63); add(3.3); add(3.37);add(0.21);add(-0.14); }} ); + STRUCTURE.put("CAGCG",new ArrayList() {{add(5.13); add(-1.72); add(31.2); add(36.67); add(-1.93); add(-1.69); add(-5.29); add(-0.03); add(3.57);add(-0.24); add(0.19); add(0.17);add(-2.46);add(1.13); add(-1.67); add(-1.63); add(3.26); add(3.43);add(0.23);add(0.00); }} ); + STRUCTURE.put("CAGGG",new ArrayList() {{add(4.85); add(-0.14); add(31.11); add(34.07); add(-3.39); add(-2.88); add(-5.52); add(-0.01); add(4.67);add(-0.26); add(0.35); add(0.16);add(-2.29);add(1.17); add(-1.77); add(-1.92); add(3.27); add(3.47);add(0.30);add(0.12); }} ); + STRUCTURE.put("CAGTG",new ArrayList() {{add(4.98); add(-4.52); add(31.61); add(34.3); add(-1.18); add(-2.39); add(-5.29); add(-0.03); add(-0.08);add(-0.24); add(0.18); add(0.13);add(-2.82);add(2.30); add(-1.67); add(-1.61); add(3.35); add(3.42);add(0.22);add(-0.22); }} ); + STRUCTURE.put("CATAG",new ArrayList() {{add(5.53); add(-8.2); add(31.84); add(35.03); add(-3.65); add(5.41); add(-7.21); add(-0.01); add(3.06);add(-0.09); add(-0.51); add(-0.07);add(-0.49);add(0.06);add(-1.47);add(-1.48); add(3.2); add(3.39);add(0.06);add(0.03); }} ); + STRUCTURE.put("CATCG",new ArrayList() {{add(4.94); add(-8.32); add(32.14); add(35.83); add(-4.47); add(-0.95); add(-7.67); add(-0.02); add(1.54);add(-0.1); add(-0.64); add(-0.1);add(-0.42);add(-0.36); add(-1.47); add(-1.48); add(3.23); add(3.31);add(-0.01);add(0.23); }} ); + STRUCTURE.put("CATGG",new ArrayList() {{add(5.34); add(-9.01); add(31.61); add(34.66); add(-4.03); add(3.95); add(-6.81); add(0.0); add(4.88);add(-0.09); add(-0.27); add(-0.22);add(0.14);add(-1.98);add(-1.44);add(-1.51); add(3.23); add(3.45);add(0.11);add(0.40); }} ); + STRUCTURE.put("CCAGG",new ArrayList() {{add(5.4); add(-5.54); add(34.05); add(31.17); add(2.39); add(-2.87); add(-6.72); add(-0.02); add(0.99); add(0.09); add(-0.38); add(-0.05);add(0.98);add(-2.36);add(-1.47);add(-1.75); add(3.31); add(3.29);add(-0.24);add(0.24); }} ); + STRUCTURE.put("CCGGG",new ArrayList() {{add(5.19); add(-3.26); add(32.53); add(33.24); add(1.93); add(-1.59); add(-5.12); add(-0.04); add(0.17);add(-0.25); add(0.24); add(0.05);add(-0.48);add(0.44); add(-1.64); add(-1.78); add(3.33); add(3.35);add(-0.01);add(0.15); }} ); + STRUCTURE.put("CGACG",new ArrayList() {{add(5.19); add(-8.49); add(35.57); add(34.26); add(-1.47); add(-2.51); add(-7.18); add(-0.02); add(4.23); add(0.11); add(-0.67); add(0.03);add(-0.04);add(-0.36); add(-1.33); add(-1.49); add(3.19); add(3.34);add(-0.21);add(0.26); }} ); + STRUCTURE.put("CGAGG",new ArrayList() {{add(5.18); add(-6.32); add(34.97); add(31.5); add(-1.26); add(-2.8); add(-7.19); add(-0.02); add(2.32); add(0.09); add(-0.45); add(-0.02);add(0.09);add(-2.18); add(-1.48); add(-1.79); add(3.23); add(3.3);add(-0.12);add(0.27); }} ); + STRUCTURE.put("CGCGG",new ArrayList() {{add(5.51); add(-4.25); add(35.54); add(32.35); add(-1.05); add(2.68); add(-4.76); add(-0.03); add(1.65); add(0.24); add(0.44); add(0.02);add(0.37);add(-0.63);add(-1.54);add(-1.62); add(3.38); add(3.33);add(0.02);add(0.00); }} ); + STRUCTURE.put("CGGCG",new ArrayList() {{add(5.09); add(-3.17); add(33.59); add(36.24); add(-1.33); add(-1.46); add(-5.17); add(-0.04); add(0.28);add(-0.27); add(0.24); add(0.07);add(0.13);add(0.16); add(-1.7); add(-1.55); add(3.33); add(3.38);add(0.09);add(-0.01); }} ); + STRUCTURE.put("CGGGG",new ArrayList() {{add(4.94); add(-1.95); add(33.22); add(33.62); add(-1.77); add(-1.76); add(-5.31); add(-0.04); add(1.72);add(-0.28); add(0.27); add(0.05);add(0.08);add(0.34); add(-1.79); add(-1.84); add(3.35); add(3.38);add(0.14);add(0.10); }} ); + STRUCTURE.put("CGTGG",new ArrayList() {{add(5.64); add(-7.87); add(33.53); add(34.18); add(-2.34); add(3.23); add(-6.67); add(-0.03); add(-2.43);add(-0.11); add(-0.65); add(-0.03);add(0.79);add(-1.39);add(-1.48);add(-1.33); add(3.32); add(3.24);add(-0.24);add(0.31); }} ); + STRUCTURE.put("CTAAG",new ArrayList() {{add(5.49); add(-10.31); add(34.71); add(35.04); add(6.02); add(-3.25); add(-7.36); add(-0.03); add(-1.08); add(0.1); add(-1.07); add(-0.21);add(1.31);add(-1.86); add(-1.39); add(-1.24); add(3.4); add(3.09);add(-0.12);add(-0.05); }} ); + STRUCTURE.put("CTACG",new ArrayList() {{add(5.77); add(-8.43); add(34.25); add(34.02); add(4.93); add(-2.16); add(-6.73); add(-0.03); add(2.39); add(0.11); add(-0.68); add(0.03);add(0.09);add(-0.37);add(-1.37);add(-1.51); add(3.24); add(3.32);add(-0.02);add(0.21); }} ); + STRUCTURE.put("CTAGG",new ArrayList() {{add(5.69); add(-6.51); add(34.19); add(31.47); add(4.92); add(-2.23); add(-6.9); add(-0.03); add(0.58); add(0.1); add(-0.83); add(0.0);add(-0.04);add(-1.93); add(-1.46); add(-1.76); add(3.28); add(3.27);add(0.00);add(0.23); }} ); + STRUCTURE.put("CTCCG",new ArrayList() {{add(5.01); add(-5.07); add(35.79); add(33.51); add(-1.83); add(-0.61); add(-5.41); add(-0.04); add(0.7); add(0.28); add(0.24); add(-0.03);add(-0.60);add(-0.75); add(-1.51); add(-1.75); add(3.28); add(3.4);add(0.11);add(-0.07); }} ); + STRUCTURE.put("CTCGG",new ArrayList() {{add(5.65); add(-6.12); add(34.73); add(32.31); add(-0.49); add(4.6); add(-4.85); add(-0.03); add(2.27); add(0.27); add(0.47); add(-0.07);add(-0.30);add(-0.46);add(-1.52);add(-1.63); add(3.26); add(3.41);add(0.14);add(0.05); }} ); + STRUCTURE.put("CTGAG",new ArrayList() {{add(5.56); add(-6.08); add(34.47); add(34.84); add(4.27); add(-0.89); add(-5.09); add(-0.04); add(-1.97);add(-0.27); add(0.28); add(0.0);add(-0.60);add(0.80); add(-1.41); add(-1.54); add(3.36); add(3.27);add(0.26);add(-0.15); }} ); + STRUCTURE.put("CTGCG",new ArrayList() {{add(5.67); add(-3.85); add(34.24); add(35.64); add(3.64); add(-0.89); add(-5.01); add(-0.04); add(-0.59);add(-0.26); add(0.24); add(0.1);add(-1.00);add(0.30); add(-1.39); add(-1.52); add(3.29); add(3.36);add(0.27);add(-0.01); }} ); + STRUCTURE.put("CTGGG",new ArrayList() {{add(5.39); add(-2.47); add(33.88); add(33.54); add(2.42); add(-1.97); add(-5.02); add(-0.04); add(1.62);add(-0.27); add(0.3); add(0.1);add(-2.17);add(0.41);add(-1.54);add(-1.81); add(3.37); add(3.36);add(0.33);add(0.12); }} ); + STRUCTURE.put("CTTCG",new ArrayList() {{add(4.92); add(-9.8); add(35.11); add(35.23); add(-3.7); add(-0.16); add(-7.77); add(-0.03); add(0.1);add(-0.1); add(-1.02); add(-0.22);add(1.98);add(-1.45); add(-1.27); add(-1.45); add(3.13); add(3.33);add(0.01);add(0.28); }} ); + STRUCTURE.put("CTTGG",new ArrayList() {{add(5.31); add(-9.71); add(34.56); add(34.61); add(-3.4); add(4.48); add(-7.06); add(-0.03); add(1.92);add(-0.09); add(-1.0); add(-0.28);add(2.30);add(-2.38); add(-1.23); add(-1.38); add(3.1); add(3.43);add(0.03);add(0.45); }} ); + STRUCTURE.put("GAAAC",new ArrayList() {{add(4.74); add(-12.76); add(36.01); add(36.17); add(-2.18); add(-3.35); add(-8.38); add(-0.03); add(6.57); add(0.14); add(-1.63); add(-0.11);add(-1.47);add(-1.77); add(-1.02); add(-1.11); add(3.15); add(3.15);add(-0.29);add(0.00); }} ); + STRUCTURE.put("GAAAG",new ArrayList() {{add(4.36); add(-11.93); add(35.91); add(36.1); add(-3.0); add(-4.95); add(-8.88); add(-0.02); add(5.43); add(0.15); add(-1.54); add(-0.13);add(-1.31);add(-1.87); add(-1.08); add(-1.26); add(3.17); add(3.19);add(-0.23);add(0.13); }} ); + STRUCTURE.put("GAACC",new ArrayList() {{add(4.46); add(-10.08); add(35.45); add(35.19); add(-3.83); add(-3.59); add(-8.2); add(-0.02); add(8.53); add(0.15); add(-0.91); add(0.06);add(-1.83);add(-0.53); add(-1.16); add(-1.6); add(3.11); add(3.44);add(-0.08);add(0.33); }} ); + STRUCTURE.put("GAACG",new ArrayList() {{add(4.74); add(-11.06); add(35.71); add(34.9); add(-2.93); add(-2.93); add(-7.82); add(-0.02); add(9.67); add(0.15); add(-1.02); add(0.08);add(-1.93);add(0.04); add(-1.09); add(-1.53); add(3.08); add(3.4);add(-0.12);add(0.40); }} ); + STRUCTURE.put("GAAGC",new ArrayList() {{add(4.82); add(-8.01); add(34.96); add(32.06); add(-3.36); add(-2.79); add(-7.86); add(-0.02); add(4.95); add(0.13); add(-0.94); add(0.02);add(-2.20);add(-2.17); add(-1.26); add(-1.77); add(3.13); add(3.35);add(-0.07);add(0.29); }} ); + STRUCTURE.put("GAAGG",new ArrayList() {{add(4.63); add(-7.38); add(34.75); add(32.02); add(-3.82); add(-3.57); add(-7.89); add(-0.01); add(6.61); add(0.12); add(-0.56); add(0.04);add(-2.16);add(-2.24); add(-1.28); add(-1.86); add(3.1); add(3.4);add(-0.02);add(0.34); }} ); + STRUCTURE.put("GAATC",new ArrayList() {{add(4.36); add(-9.46); add(35.53); add(32.93); add(-3.18); add(-5.55); add(-8.53); add(-0.02); add(3.24); add(0.15); add(-1.04); add(-0.05);add(-2.04);add(0.68); add(-1.24); add(-1.57); add(3.18); add(3.3);add(-0.11);add(0.16); }} ); + STRUCTURE.put("GAATG",new ArrayList() {{add(4.39); add(-9.43); add(35.63); add(32.69); add(-3.64); add(-5.91); add(-8.53); add(-0.02); add(4.13); add(0.15); add(-1.0); add(-0.03);add(-2.04);add(0.80); add(-1.22); add(-1.56); add(3.16); add(3.29);add(-0.12);add(0.18); }} ); + STRUCTURE.put("GACAC",new ArrayList() {{add(5.49); add(-7.25); add(34.03); add(34.92); add(-2.01); add(4.23); add(-5.39); add(-0.03); add(4.45); add(0.26); add(0.41); add(0.08);add(-0.99);add(0.94); add(-1.48); add(-1.27); add(3.33); add(3.32);add(0.22);add(-0.32); }} ); + STRUCTURE.put("GACAG",new ArrayList() {{add(5.26); add(-6.88); add(34.25); add(34.79); add(-2.46); add(3.98); add(-5.58); add(-0.03); add(4.78); add(0.27); add(0.52); add(0.04);add(-0.68);add(0.66); add(-1.51); add(-1.44); add(3.34); add(3.38);add(0.29);add(-0.27); }} ); + STRUCTURE.put("GACCC",new ArrayList() {{add(4.45); add(-5.33); add(34.81); add(34.36); add(-3.44); add(-1.78); add(-5.79); add(-0.03); add(4.27); add(0.29); add(0.55); add(-0.03);add(-0.63);add(-0.85); add(-1.58); add(-1.86); add(3.38); add(3.48);add(0.27);add(-0.04); }} ); + STRUCTURE.put("GACCG",new ArrayList() {{add(4.69); add(-5.99); add(34.65); add(34.17); add(-2.77); add(-0.84); add(-5.5); add(-0.03); add(3.77); add(0.28); add(0.44); add(0.0);add(-0.97);add(-0.59); add(-1.55); add(-1.76); add(3.37); add(3.43);add(0.22);add(-0.07); }} ); + STRUCTURE.put("GACGC",new ArrayList() {{add(5.09); add(-7.38); add(34.21); add(33.02); add(-2.45); add(4.23); add(-5.25); add(-0.02); add(5.02); add(0.26); add(0.64); add(-0.03);add(-0.47);add(-0.26); add(-1.5); add(-1.66); add(3.34); add(3.46);add(0.25);add(0.03); }} ); + STRUCTURE.put("GACGG",new ArrayList() {{add(5.1); add(-7.15); add(34.1); add(33.08); add(-2.46); add(3.11); add(-5.29); add(-0.02); add(5.66); add(0.27); add(0.72); add(-0.04);add(-0.30);add(-0.78); add(-1.5); add(-1.68); add(3.33); add(3.46);add(0.27);add(0.03); }} ); + STRUCTURE.put("GACTG",new ArrayList() {{add(5.0); add(-3.96); add(34.65); add(31.46); add(-2.08); add(-1.4); add(-5.57); add(-0.02); add(0.06); add(0.25); add(0.33); add(0.12);add(-2.18);add(2.63);add(-1.65);add(-1.70); add(3.43); add(3.33);add(0.22);add(-0.21); }} ); + STRUCTURE.put("GAGAC",new ArrayList() {{add(5.04); add(-3.46); add(31.76); add(36.17); add(-1.45); add(-1.85); add(-5.7); add(-0.03); add(2.75);add(-0.27); add(0.16); add(0.1);add(-2.15);add(1.74); add(-1.69); add(-1.5); add(3.32); add(3.32);add(0.16);add(-0.16); }} ); + STRUCTURE.put("GAGAG",new ArrayList() {{add(4.93); add(-2.54); add(31.39); add(35.65); add(-1.93); add(-1.9); add(-5.81); add(-0.03); add(2.1);add(-0.27); add(0.25); add(0.08);add(-1.97);add(1.73);add(-1.75);add(-1.65); add(3.32); add(3.37);add(0.19);add(-0.13); }} ); + STRUCTURE.put("GAGCC",new ArrayList() {{add(4.67); add(-0.53); add(31.39); add(37.09); add(-2.76); add(-3.07); add(-5.58); add(-0.01); add(3.79);add(-0.25); add(0.39); add(0.14);add(-2.07);add(1.13);add(-1.76);add(-1.73); add(3.3); add(3.48);add(0.24);add(0.03); }} ); + STRUCTURE.put("GAGCG",new ArrayList() {{add(5.02); add(-1.32); add(31.47); add(36.68); add(-1.89); add(-1.98); add(-5.41); add(-0.02); add(3.69);add(-0.25); add(0.25); add(0.16);add(-2.26);add(1.10); add(-1.72); add(-1.64); add(3.27); add(3.44);add(0.21);add(-0.01); }} ); + STRUCTURE.put("GAGGC",new ArrayList() {{add(4.85); add(-0.7); add(31.38); add(33.92); add(-2.42); add(-2.18); add(-5.62); add(-0.02); add(3.1);add(-0.26); add(0.26); add(0.13);add(-2.32);add(1.30); add(-1.8); add(-1.88); add(3.3); add(3.43);add(0.22);add(0.08); }} ); + STRUCTURE.put("GAGGG",new ArrayList() {{add(4.78); add(-0.03); add(31.33); add(33.87); add(-2.73); add(-2.62); add(-5.55); add(-0.02); add(4.25);add(-0.27); add(0.35); add(0.14);add(-2.35);add(1.15); add(-1.8); add(-1.92); add(3.29); add(3.45);add(0.24);add(0.12); }} ); + STRUCTURE.put("GAGTC",new ArrayList() {{add(4.53); add(-3.11); add(31.83); add(34.87); add(-2.44); add(-3.57); add(-5.82); add(-0.02); add(0.05);add(-0.26); add(0.4); add(0.1);add(-2.27);add(2.04);add(-1.80);add(-1.71); add(3.38); add(3.46);add(0.22);add(-0.22); }} ); + STRUCTURE.put("GAGTG",new ArrayList() {{add(4.78); add(-3.31); add(31.79); add(34.12); add(-1.98); add(-3.21); add(-5.66); add(-0.02); add(0.0);add(-0.25); add(0.33); add(0.11);add(-2.39);add(1.92); add(-1.77); add(-1.67); add(3.35); add(3.41);add(0.21);add(-0.26); }} ); + STRUCTURE.put("GATAC",new ArrayList() {{add(5.65); add(-8.06); add(32.1); add(34.46); add(-3.62); add(5.72); add(-7.1); add(-0.02); add(3.37);add(-0.1); add(-0.77); add(-0.03);add(-0.40);add(0.01); add(-1.49); add(-1.4); add(3.21); add(3.31);add(-0.01);add(0.00); }} ); + STRUCTURE.put("GATAG",new ArrayList() {{add(5.54); add(-8.88); add(32.43); add(33.89); add(-4.19); add(6.28); add(-7.11); add(-0.01); add(1.96);add(-0.11); add(-0.36); add(-0.08);add(-0.45);add(0.03);add(-1.55);add(-1.50); add(3.25); add(3.36);add(-0.05);add(0.04); }} ); + STRUCTURE.put("GATCC",new ArrayList() {{add(4.63); add(-7.56); add(32.41); add(36.29); add(-4.63); add(-1.67); add(-7.65); add(-0.02); add(3.13);add(-0.08); add(-0.1); add(-0.16);add(0.23);add(-0.97);add(-1.52);add(-1.59); add(3.24); add(3.41);add(0.05);add(0.22); }} ); + STRUCTURE.put("GATCG",new ArrayList() {{add(4.96); add(-7.79); add(32.29); add(35.54); add(-4.15); add(-0.57); add(-7.6); add(-0.02); add(2.49);add(-0.1); add(-0.61); add(-0.11);add(-0.11);add(-0.47); add(-1.5); add(-1.5); add(3.23); add(3.31);add(-0.02);add(0.19); }} ); + STRUCTURE.put("GATGC",new ArrayList() {{add(5.38); add(-7.6); add(31.96); add(34.59); add(-4.24); add(3.67); add(-7.24); add(-0.02); add(2.26);add(-0.09); add(-0.48); add(-0.13);add(0.22);add(-1.41); add(-1.48); add(-1.44); add(3.23); add(3.36);add(-0.02);add(0.33); }} ); + STRUCTURE.put("GATGG",new ArrayList() {{add(5.53); add(-7.48); add(31.66); add(34.54); add(-3.42); add(4.13); add(-6.99); add(-0.02); add(3.75);add(-0.09); add(-0.47); add(-0.15);add(0.37);add(-1.82); add(-1.46); add(-1.47); add(3.2); add(3.37);add(0.01);add(0.36); }} ); + STRUCTURE.put("GATTG",new ArrayList() {{add(4.81); add(-10.33); add(32.75); add(34.92); add(-4.28); add(-2.12); add(-7.97); add(-0.03); add(-2.85);add(-0.15); add(-1.49); add(-0.05);add(-0.67);add(2.34); add(-1.54); add(-1.2); add(3.28); add(3.15);add(-0.17);add(0.10); }} ); + STRUCTURE.put("GCAAG",new ArrayList() {{add(5.45); add(-9.9); add(34.37); add(34.89); add(4.47); add(-3.39); add(-7.19); add(-0.03); add(0.29); add(0.09); add(-1.05); add(-0.24);add(2.32);add(-2.25); add(-1.29); add(-1.21); add(3.35); add(3.12);add(-0.42);add(-0.01); }} ); + STRUCTURE.put("GCACG",new ArrayList() {{add(5.74); add(-8.4); add(34.75); add(33.78); add(3.22); add(-2.27); add(-6.68); add(-0.04); add(4.21); add(0.11); add(-0.85); add(0.02);add(1.05);add(-0.50); add(-1.19); add(-1.45); add(3.2); add(3.32);add(-0.32);add(0.29); }} ); + STRUCTURE.put("GCAGC",new ArrayList() {{add(5.67); add(-6.76); add(34.49); add(31.29); add(3.55); add(-2.09); add(-6.71); add(-0.03); add(1.06); add(0.09); add(-0.7); add(-0.05);add(1.10);add(-2.43); add(-1.37); add(-1.67); add(3.28); add(3.27);add(-0.27);add(0.24); }} ); + STRUCTURE.put("GCAGG",new ArrayList() {{add(5.52); add(-5.92); add(33.94); add(31.18); add(2.96); add(-3.15); add(-6.71); add(-0.02); add(2.46); add(0.1); add(-0.52); add(-0.02);add(0.70);add(-2.28);add(-1.40);add(-1.78); add(3.25); add(3.31);add(-0.27);add(0.31); }} ); + STRUCTURE.put("GCATG",new ArrayList() {{add(5.5); add(-9.43); add(34.82); add(31.54); add(4.69); add(-3.87); add(-6.8); add(-0.01); add(-3.68); add(0.09); add(-0.36); add(-0.21);add(1.71);add(-0.04);add(-1.45);add(-1.44); add(3.42); add(3.24);add(-0.37);add(-0.07); }} ); + STRUCTURE.put("GCCAG",new ArrayList() {{add(5.43); add(-3.34); add(33.53); add(34.28); add(-1.52); add(2.79); add(-5.19); add(-0.04); add(-0.08); add(0.27); add(0.2); add(0.09);add(-0.52);add(1.45);add(-1.74);add(-1.47); add(3.33); add(3.34);add(-0.10);add(-0.30); }} ); + STRUCTURE.put("GCCCG",new ArrayList() {{add(4.95); add(-2.73); add(33.78); add(33.44); add(-1.71); add(-1.7); add(-5.55); add(-0.04); add(-0.59); add(0.28); add(0.23); add(0.05);add(-0.45);add(-0.23);add(-1.77);add(-1.78); add(3.37); add(3.36);add(-0.09);add(-0.12); }} ); + STRUCTURE.put("GCCGG",new ArrayList() {{add(5.36); add(-3.58); add(33.41); add(32.61); add(-1.33); add(2.08); add(-5.02); add(-0.04); add(0.7); add(0.25); add(0.28); add(0.03);add(-0.13);add(-0.08);add(-1.71);add(-1.62); add(3.33); add(3.34);add(-0.10);add(-0.01); }} ); + STRUCTURE.put("GCCTG",new ArrayList() {{add(4.94); add(-1.28); add(33.99); add(31.14); add(-1.61); add(-2.26); add(-5.63); add(-0.03); add(-3.2); add(0.25); add(0.18); add(0.14);add(-1.19);add(2.41); add(-1.85); add(-1.75); add(3.42); add(3.29);add(-0.09);add(-0.24); }} ); + STRUCTURE.put("GCGAG",new ArrayList() {{add(5.46); add(-6.31); add(32.59); add(35.13); add(4.38); add(-1.17); add(-5.13); add(-0.03); add(-1.79);add(-0.26); add(0.37); add(-0.05);add(0.30);add(0.23); add(-1.58); add(-1.48); add(3.39); add(3.25);add(-0.07);add(-0.13); }} ); + STRUCTURE.put("GCGCG",new ArrayList() {{add(5.54); add(-4.22); add(32.44); add(35.7); add(3.12); add(-1.15); add(-4.81); add(-0.03); add(-0.36);add(-0.25); add(0.4); add(0.04);add(0.11);add(-0.12);add(-1.57);add(-1.55); add(3.31); add(3.39);add(0.01);add(0.00); }} ); + STRUCTURE.put("GCGGC",new ArrayList() {{add(5.37); add(-3.73); add(32.46); add(33.44); add(2.78); add(-1.31); add(-5.1); add(-0.04); add(0.16);add(-0.26); add(0.28); add(0.05);add(-0.55);add(0.22); add(-1.61); add(-1.72); add(3.33); add(3.34);add(-0.02);add(0.10); }} ); + STRUCTURE.put("GCGGG",new ArrayList() {{add(5.3); add(-2.75); add(32.3); add(33.41); add(2.34); add(-1.73); add(-5.14); add(-0.03); add(1.59);add(-0.26); add(0.31); add(0.08);add(-0.77);add(0.14); add(-1.6); add(-1.78); add(3.3); add(3.36);add(0.01);add(0.13); }} ); + STRUCTURE.put("GCGTG",new ArrayList() {{add(5.25); add(-7.98); add(33.34); add(33.73); add(4.71); add(-2.23); add(-5.03); add(-0.02); add(-5.31);add(-0.26); add(0.57); add(-0.03);add(0.36);add(0.61); add(-1.62); add(-1.45); add(3.45); add(3.32);add(-0.04);add(-0.28); }} ); + STRUCTURE.put("GCTAG",new ArrayList() {{add(5.67); add(-6.54); add(31.36); add(34.66); add(-2.24); add(4.03); add(-6.87); add(-0.03); add(0.72);add(-0.11); add(-0.88); add(0.0);add(1.82);add(-0.07); add(-1.7); add(-1.46); add(3.23); add(3.29);add(-0.21);add(0.02); }} ); + STRUCTURE.put("GCTCG",new ArrayList() {{add(5.2); add(-6.78); add(31.41); add(35.31); add(-2.22); add(-1.22); add(-7.17); add(-0.03); add(-1.11);add(-0.1); add(-0.64); add(-0.04);add(2.14);add(-0.17); add(-1.73); add(-1.47); add(3.28); add(3.25);add(-0.23);add(0.15); }} ); + STRUCTURE.put("GCTGG",new ArrayList() {{add(5.53); add(-5.87); add(30.94); add(34.09); add(-2.45); add(2.75); add(-6.56); add(-0.03); add(0.94);add(-0.1); add(-0.47); add(-0.09);add(2.17);add(-1.49);add(-1.72);add(-1.49); add(3.28); add(3.32);add(-0.24);add(0.28); }} ); + STRUCTURE.put("GCTTG",new ArrayList() {{add(4.94); add(-8.63); add(32.11); add(34.57); add(-2.39); add(-3.44); add(-7.56); add(-0.03); add(-5.71);add(-0.14); add(-1.23); add(0.03);add(2.09);add(2.40); add(-1.77); add(-1.23); add(3.37); add(3.1);add(-0.32);add(0.03); }} ); + STRUCTURE.put("GGAAG",new ArrayList() {{add(4.63); add(-9.44); add(35.39); add(35.02); add(-0.61); add(-3.81); add(-7.65); add(-0.03); add(-1.46); add(0.08); add(-0.52); add(-0.29);add(1.84);add(-2.17);add(-1.52);add(-1.26); add(3.42); add(3.13);add(-0.33);add(-0.05); }} ); + STRUCTURE.put("GGACC",new ArrayList() {{add(4.8); add(-7.55); add(35.8); add(34.71); add(-2.12); add(-3.32); add(-7.46); add(-0.02); add(3.58); add(0.1); add(-0.05); add(-0.03);add(0.45);add(-0.96);add(-1.44);add(-1.59); add(3.25); add(3.39);add(-0.17);add(0.22); }} ); + STRUCTURE.put("GGACG",new ArrayList() {{add(5.02); add(-8.11); add(36.13); add(34.01); add(-1.8); add(-2.49); add(-7.29); add(-0.02); add(3.23); add(0.1); add(-0.3); add(-0.01);add(0.31);add(-0.54); add(-1.38); add(-1.51); add(3.23); add(3.33);add(-0.22);add(0.23); }} ); + STRUCTURE.put("GGAGC",new ArrayList() {{add(5.05); add(-6.07); add(35.75); add(31.38); add(-1.59); add(-2.75); add(-7.34); add(-0.02); add(0.19); add(0.08); add(-0.25); add(-0.07);add(0.58);add(-2.24);add(-1.54);add(-1.73); add(3.3); add(3.26);add(-0.17);add(0.20); }} ); + STRUCTURE.put("GGAGG",new ArrayList() {{add(4.93); add(-5.75); add(35.57); add(31.42); add(-1.91); add(-3.27); add(-7.22); add(-0.01); add(2.08); add(0.08); add(0.11); add(-0.05);add(0.25);add(-2.25);add(-1.54);add(-1.81); add(3.27); add(3.32);add(-0.15);add(0.23); }} ); + STRUCTURE.put("GGATG",new ArrayList() {{add(4.84); add(-7.65); add(36.16); add(32.03); add(-1.14); add(-4.71); add(-7.69); add(-0.02); add(-1.59); add(0.09); add(-0.4); add(-0.12);add(0.74);add(0.22); add(-1.53); add(-1.5); add(3.35); add(3.22);add(-0.21);add(0.01); }} ); + STRUCTURE.put("GGCAG",new ArrayList() {{add(5.41); add(-3.2); add(36.22); add(33.75); add(-1.34); add(3.38); add(-5.08); add(-0.03); add(0.44); add(0.26); add(0.33); add(0.09);add(-0.17);add(1.01);add(-1.60);add(-1.47); add(3.39); add(3.31);add(-0.01);add(-0.29); }} ); + STRUCTURE.put("GGCCG",new ArrayList() {{add(4.96); add(-2.72); add(36.85); add(33.23); add(-2.0); add(-1.3); add(-5.37); add(-0.04); add(-0.77); add(0.27); add(0.32); add(0.06);add(-0.11);add(-0.21); add(-1.6); add(-1.74); add(3.41); add(3.33);add(-0.02);add(-0.11); }} ); + STRUCTURE.put("GGCGC",new ArrayList() {{add(5.41); add(-3.39); add(36.24); add(32.32); add(-1.71); add(2.85); add(-5.12); add(-0.03); add(-0.35); add(0.25); add(0.39); add(0.06);add(0.09);add(0.21); add(-1.57); add(-1.58); add(3.39); add(3.31);add(-0.02);add(0.00); }} ); + STRUCTURE.put("GGCGG",new ArrayList() {{add(5.29); add(-3.13); add(36.31); add(32.31); add(-2.02); add(1.79); add(-5.09); add(-0.03); add(0.43); add(0.25); add(0.42); add(0.04);add(0.14);add(-0.19);add(-1.58);add(-1.63); add(3.39); add(3.33);add(-0.03);add(-0.01); }} ); + STRUCTURE.put("GGCTG",new ArrayList() {{add(4.95); add(-1.2); add(37.17); add(31.16); add(-2.29); add(-2.64); add(-5.43); add(-0.02); add(-3.57); add(0.24); add(0.27); add(0.16);add(-0.98);add(2.36);add(-1.68);add(-1.71); add(3.46); add(3.28);add(-0.01);add(-0.24); }} ); + STRUCTURE.put("GGGAG",new ArrayList() {{add(4.85); add(-4.6); add(33.49); add(35.58); add(-1.0); add(-1.87); add(-5.23); add(-0.05); add(-2.36);add(-0.3); add(0.37); add(-0.09);add(0.87);add(0.70);add(-1.88);add(-1.56); add(3.47); add(3.29);add(0.00);add(-0.14); }} ); + STRUCTURE.put("GGGCC",new ArrayList() {{add(4.77); add(-1.93); add(33.57); add(36.61); add(-2.36); add(-2.4); add(-5.45); add(-0.04); add(0.05);add(-0.29); add(0.41); add(0.02);add(0.48);add(-0.11);add(-1.82);add(-1.63); add(3.39); add(3.41);add(0.08);add(-0.01); }} ); + STRUCTURE.put("GGGCG",new ArrayList() {{add(4.96); add(-2.89); add(33.85); add(36.18); add(-1.63); add(-1.66); add(-5.14); add(-0.04); add(-0.09);add(-0.28); add(0.32); add(0.05);add(0.41);add(0.10); add(-1.76); add(-1.57); add(3.36); add(3.39);add(0.08);add(-0.02); }} ); + STRUCTURE.put("GGGGC",new ArrayList() {{add(4.82); add(-2.13); add(33.56); add(33.68); add(-2.02); add(-1.96); add(-5.39); add(-0.05); add(-0.07);add(-0.29); add(0.3); add(0.01);add(0.34);add(0.34);add(-1.86);add(-1.80); add(3.39); add(3.36);add(0.08);add(0.06); }} ); + STRUCTURE.put("GGGGG",new ArrayList() {{add(4.75); add(-1.03); add(33.25); add(33.41); add(-2.24); add(-2.41); add(-5.25); add(-0.04); add(0.95);add(-0.31); add(0.43); add(0.01);add(0.00);add(0.42);add(-1.90);add(-1.88); add(3.39); add(3.4);add(0.07);add(0.09); }} ); + STRUCTURE.put("GGGTG",new ArrayList() {{add(4.77); add(-5.89); add(34.41); add(34.14); add(-1.08); add(-2.99); add(-5.32); add(-0.04); add(-4.72);add(-0.29); add(0.48); add(-0.04);add(0.65);add(0.77);add(-1.86);add(-1.54); add(3.48); add(3.36);add(0.00);add(-0.30); }} ); + STRUCTURE.put("GGTAG",new ArrayList() {{add(5.55); add(-8.07); add(34.52); add(34.3); add(-2.63); add(4.24); add(-7.09); add(-0.03); add(-2.17);add(-0.12); add(-0.66); add(0.03);add(0.60);add(0.07);add(-1.56);add(-1.40); add(3.35); add(3.25);add(-0.22);add(0.03); }} ); + STRUCTURE.put("GGTCG",new ArrayList() {{add(4.82); add(-8.09); add(34.74); add(35.73); add(-3.5); add(-2.17); add(-7.74); add(-0.02); add(-4.43);add(-0.11); add(-0.43); add(0.02);add(0.55);add(-0.17); add(-1.57); add(-1.35); add(3.38); add(3.2);add(-0.28);add(0.13); }} ); + STRUCTURE.put("GGTGC",new ArrayList() {{add(5.56); add(-7.89); add(34.16); add(34.26); add(-2.69); add(2.97); add(-6.87); add(-0.03); add(-3.78);add(-0.11); add(-0.73); add(0.0);add(0.81);add(-1.06);add(-1.52);add(-1.27); add(3.35); add(3.21);add(-0.28);add(0.31); }} ); + STRUCTURE.put("GGTGG",new ArrayList() {{add(5.56); add(-7.11); add(33.92); add(34.27); add(-2.55); add(2.46); add(-6.85); add(-0.03); add(-2.33);add(-0.11); add(-0.64); add(-0.01);add(0.99);add(-1.26);add(-1.52);add(-1.33); add(3.33); add(3.23);add(-0.25);add(0.31); }} ); + STRUCTURE.put("GGTTG",new ArrayList() {{add(4.82); add(-4.14); add(35.52); add(31.89); add(-3.18); add(-2.06); add(-7.82); add(-0.01); add(-4.79);add(-0.14); add(-0.26); add(0.08);add(5.45);add(2.85);add(-1.15);add(-1.34); add(3.65); add(3.08);add(0.08);add(-0.21); }} ); + STRUCTURE.put("GTAAC",new ArrayList() {{add(5.86); add(-10.83); add(34.23); add(35.06); add(5.89); add(-2.71); add(-7.05); add(-0.02); add(0.49); add(0.1); add(-1.14); add(-0.14);add(1.01);add(-1.43); add(-1.28); add(-1.14); add(3.29); add(3.08);add(-0.14);add(-0.11); }} ); + STRUCTURE.put("GTAAG",new ArrayList() {{add(5.62); add(-10.31); add(34.34); add(34.87); add(5.9); add(-3.24); add(-7.23); add(-0.02); add(-0.91); add(0.1); add(-1.14); add(-0.17);add(1.31);add(-1.66); add(-1.33); add(-1.26); add(3.32); add(3.1);add(-0.10);add(-0.04); }} ); + STRUCTURE.put("GTACC",new ArrayList() {{add(5.84); add(-8.12); add(34.23); add(34.34); add(4.32); add(-2.37); add(-6.84); add(-0.03); add(2.68); add(0.12); add(-0.86); add(0.07);add(0.04);add(-0.35);add(-1.32);add(-1.54); add(3.18); add(3.35);add(0.01);add(0.27); }} ); + STRUCTURE.put("GTACG",new ArrayList() {{add(5.93); add(-8.84); add(34.2); add(33.97); add(4.68); add(-2.11); add(-6.61); add(-0.03); add(2.91); add(0.12); add(-0.84); add(0.07);add(0.11);add(-0.11);add(-1.30);add(-1.50); add(3.18); add(3.32);add(0.00);add(0.26); }} ); + STRUCTURE.put("GTAGC",new ArrayList() {{add(5.88); add(-6.96); add(34.48); add(31.25); add(4.45); add(-2.28); add(-6.83); add(-0.03); add(0.14); add(0.11); add(-0.94); add(0.04);add(-0.11);add(-1.53); add(-1.36); add(-1.71); add(3.23); add(3.25);add(0.03);add(0.26); }} ); + STRUCTURE.put("GTAGG",new ArrayList() {{add(5.76); add(-6.19); add(34.06); add(31.41); add(4.46); add(-2.71); add(-6.82); add(-0.03); add(1.08); add(0.1); add(-0.84); add(0.06);add(-0.27);add(-1.66); add(-1.38); add(-1.76); add(3.21); add(3.26);add(0.04);add(0.27); }} ); + STRUCTURE.put("GTATG",new ArrayList() {{add(5.93); add(-8.42); add(34.49); add(31.46); add(6.01); add(-2.99); add(-6.74); add(-0.02); add(-3.69); add(0.1); add(-0.89); add(-0.03);add(0.02);add(0.64); add(-1.38); add(-1.45); add(3.31); add(3.19);add(-0.01);add(-0.03); }} ); + STRUCTURE.put("GTCAG",new ArrayList() {{add(5.67); add(-6.43); add(35.2); add(34.37); add(-1.29); add(4.57); add(-5.23); add(-0.04); add(1.24); add(0.28); add(0.27); add(0.02);add(-0.47);add(0.65); add(-1.4); add(-1.38); add(3.21); add(3.34);add(0.22);add(-0.22); }} ); + STRUCTURE.put("GTCCC",new ArrayList() {{add(4.9); add(-5.28); add(35.97); add(33.99); add(-2.34); add(-0.93); add(-5.5); add(-0.05); add(1.5); add(0.31); add(0.34); add(-0.05);add(-0.32);add(-0.90);add(-1.41);add(-1.79); add(3.22); add(3.44);add(0.17);add(0.01); }} ); + STRUCTURE.put("GTCCG",new ArrayList() {{add(5.08); add(-6.07); add(36.17); add(33.8); add(-1.73); add(-0.51); add(-5.36); add(-0.05); add(1.42); add(0.29); add(0.25); add(-0.03);add(-0.26);add(-0.77);add(-1.36);add(-1.70); add(3.22); add(3.41);add(0.22);add(-0.02); }} ); + STRUCTURE.put("GTCGC",new ArrayList() {{add(5.56); add(-6.9); add(35.46); add(32.7); add(-1.39); add(4.64); add(-5.06); add(-0.04); add(1.25); add(0.27); add(0.34); add(-0.03);add(-0.10);add(-0.13); add(-1.36); add(-1.52); add(3.2); add(3.36);add(0.18);add(0.13); }} ); + STRUCTURE.put("GTCGG",new ArrayList() {{add(5.54); add(-6.74); add(35.42); add(32.81); add(-1.52); add(3.41); add(-5.11); add(-0.04); add(2.19); add(0.27); add(0.35); add(-0.05);add(0.18);add(-0.79); add(-1.34); add(-1.55); add(3.18); add(3.36);add(0.21);add(0.12); }} ); + STRUCTURE.put("GTCTG",new ArrayList() {{add(5.22); add(-3.97); add(36.44); add(31.42); add(-1.52); add(-1.18); add(-5.38); add(-0.04); add(-2.9); add(0.26); add(0.1); add(0.11);add(-1.46);add(2.46); add(-1.41); add(-1.63); add(3.28); add(3.3);add(0.20);add(-0.16); }} ); + STRUCTURE.put("GTGAC",new ArrayList() {{add(6.01); add(-6.82); add(34.6); add(35.33); add(4.03); add(-1.42); add(-5.13); add(-0.04); add(-0.8);add(-0.28); add(0.26); add(0.05);add(-0.75);add(0.31);add(-1.17);add(-1.34); add(3.26); add(3.18);add(0.24);add(-0.21); }} ); + STRUCTURE.put("GTGAG",new ArrayList() {{add(5.8); add(-6.5); add(34.48); add(34.92); add(4.33); add(-0.77); add(-5.12); add(-0.04); add(-1.63);add(-0.27); add(0.25); add(0.02);add(-0.67);add(0.84);add(-1.26);add(-1.51); add(3.3); add(3.28);add(0.28);add(-0.16); }} ); + STRUCTURE.put("GTGCC",new ArrayList() {{add(5.66); add(-3.41); add(34.22); add(36.31); add(3.05); add(-1.35); add(-5.18); add(-0.04); add(0.67);add(-0.25); add(0.21); add(0.14);add(-0.97);add(0.54); add(-1.29); add(-1.54); add(3.21); add(3.38);add(0.34);add(0.07); }} ); + STRUCTURE.put("GTGCG",new ArrayList() {{add(5.88); add(-4.13); add(34.69); add(35.54); add(3.27); add(-0.64); add(-4.96); add(-0.04); add(0.12);add(-0.25); add(0.16); add(0.15);add(-1.08);add(0.60); add(-1.2); add(-1.48); add(3.2); add(3.36);add(0.30);add(0.04); }} ); + STRUCTURE.put("GTGGC",new ArrayList() {{add(5.46); add(-4.03); add(34.2); add(33.11); add(3.09); add(-1.52); add(-5.23); add(-0.04); add(-0.18);add(-0.26); add(0.05); add(0.12);add(-1.32);add(0.44); add(-1.33); add(-1.7); add(3.25); add(3.3);add(0.29);add(0.15); }} ); + STRUCTURE.put("GTGGG",new ArrayList() {{add(5.41); add(-2.94); add(34.09); add(33.55); add(2.54); add(-1.85); add(-5.13); add(-0.04); add(1.54);add(-0.26); add(0.23); add(0.13);add(-1.86);add(0.52);add(-1.40);add(-1.76); add(3.28); add(3.34);add(0.30);add(0.15); }} ); + STRUCTURE.put("GTGTG",new ArrayList() {{add(5.73); add(-8.16); add(35.12); add(33.35); add(5.01); add(-1.37); add(-5.0); add(-0.04); add(-5.13);add(-0.27); add(0.35); add(0.08);add(-1.01);add(1.11); add(-1.21); add(-1.43); add(3.31); add(3.3);add(0.32);add(-0.27); }} ); + STRUCTURE.put("GTTAG",new ArrayList() {{add(5.8); add(-10.65); add(35.18); add(34.54); add(-2.89); add(5.73); add(-7.07); add(-0.03); add(-1.01);add(-0.1); add(-1.16); add(-0.15);add(1.52);add(-1.22);add(-1.12);add(-1.31); add(3.06); add(3.32);add(0.10);add(0.13); }} ); + STRUCTURE.put("GTTCC",new ArrayList() {{add(4.84); add(-9.91); add(35.48); add(36.02); add(-3.78); add(-1.77); add(-7.81); add(-0.03); add(-0.99);add(-0.08); add(-0.73); add(-0.21);add(1.94);add(-1.29);add(-1.13);add(-1.41); add(3.09); add(3.36);add(0.10);add(0.37); }} ); + STRUCTURE.put("GTTCG",new ArrayList() {{add(5.1); add(-10.48); add(35.58); add(35.61); add(-3.31); add(-0.26); add(-7.64); add(-0.02); add(-1.63);add(-0.1); add(-1.08); add(-0.18);add(1.83);add(-1.18); add(-1.13); add(-1.35); add(3.1); add(3.3);add(0.08);add(0.30); }} ); + STRUCTURE.put("GTTGC",new ArrayList() {{add(5.7); add(-10.75); add(35.02); add(34.8); add(-2.98); add(4.66); add(-6.99); add(-0.03); add(-2.23);add(-0.1); add(-1.35); add(-0.2);add(2.16);add(-2.18); add(-1.1); add(-1.13); add(3.09); add(3.3);add(0.05);add(0.47); }} ); + STRUCTURE.put("GTTGG",new ArrayList() {{add(5.42); add(-9.8); add(31.76); add(34.44); add(-1.94); add(6.57); add(-7.0); add(0.04); add(5.83);add(-0.04); add(0.48); add(-0.42);add(2.97);add(-3.11);add(-1.33);add(-1.47); add(3.06); add(3.53);add(-0.19);add(0.44); }} ); + STRUCTURE.put("GTTTG",new ArrayList() {{add(4.95); add(-13.1); add(36.33); add(35.28); add(-3.27); add(-2.42); add(-8.27); add(-0.03); add(-8.07);add(-0.15); add(-2.02); add(-0.08);add(1.58);add(1.55); add(-1.12); add(-1.01); add(3.16); add(3.13);add(-0.07);add(0.21); }} ); + STRUCTURE.put("TAAAA",new ArrayList() {{add(4.89); add(-13.29); add(35.6); add(36.72); add(-2.46); add(-2.75); add(-8.39); add(-0.02); add(7.24); add(0.15); add(-2.26); add(-0.11);add(-0.69);add(-1.02); add(-1.05); add(-1.05); add(3.13); add(3.22);add(-0.26);add(-0.10); }} ); + STRUCTURE.put("TAAAC",new ArrayList() {{add(5.1); add(-13.54); add(35.72); add(36.4); add(-1.29); add(-2.84); add(-7.85); add(-0.03); add(8.3); add(0.15); add(-1.99); add(-0.09);add(-1.09);add(-1.74); add(-0.99); add(-1.07); add(3.14); add(3.15);add(-0.30);add(0.04); }} ); + STRUCTURE.put("TAAAG",new ArrayList() {{add(4.7); add(-12.85); add(35.7); add(36.11); add(-1.56); add(-3.87); add(-8.13); add(-0.03); add(6.34); add(0.15); add(-1.72); add(-0.11);add(-0.98);add(-1.82); add(-1.07); add(-1.25); add(3.17); add(3.2);add(-0.23);add(0.13); }} ); + STRUCTURE.put("TAACA",new ArrayList() {{add(5.17); add(-11.35); add(35.32); add(34.78); add(-2.39); add(-2.47); add(-7.45); add(-0.02); add(9.43); add(0.15); add(-1.43); add(0.09);add(-1.57);add(-0.13);add(-1.09);add(-1.52); add(3.06); add(3.39);add(-0.17);add(0.45); }} ); + STRUCTURE.put("TAACC",new ArrayList() {{add(4.87); add(-10.83); add(35.08); add(35.3); add(-3.03); add(-3.26); add(-7.76); add(-0.02); add(9.38); add(0.16); add(-1.12); add(0.07);add(-1.43);add(-0.17);add(-1.15);add(-1.59); add(3.08); add(3.44);add(-0.09);add(0.42); }} ); + STRUCTURE.put("TAACG",new ArrayList() {{add(5.15); add(-11.31); add(35.27); add(34.89); add(-2.63); add(-2.83); add(-7.51); add(-0.02); add(10.2); add(0.15); add(-1.24); add(0.1);add(-1.52);add(0.36); add(-1.09); add(-1.51); add(3.05); add(3.38);add(-0.15);add(0.45); }} ); + STRUCTURE.put("TAAGA",new ArrayList() {{add(4.93); add(-8.51); add(34.89); add(32.43); add(-3.37); add(-2.51); add(-7.75); add(-0.02); add(6.61); add(0.14); add(-1.05); add(0.06);add(-1.81);add(-1.96);add(-1.28);add(-1.79); add(3.1); add(3.43);add(-0.02);add(0.29); }} ); + STRUCTURE.put("TAAGC",new ArrayList() {{add(5.01); add(-8.92); add(34.85); add(32.17); add(-2.87); add(-2.56); add(-7.49); add(-0.03); add(6.15); add(0.14); add(-1.23); add(0.05);add(-1.80);add(-1.99); add(-1.26); add(-1.77); add(3.11); add(3.38);add(-0.07);add(0.34); }} ); + STRUCTURE.put("TAAGG",new ArrayList() {{add(4.81); add(-8.13); add(34.66); add(32.34); add(-3.71); add(-4.02); add(-7.66); add(-0.01); add(7.88); add(0.14); add(-0.98); add(0.1);add(-1.64);add(-2.15); add(-1.27); add(-1.84); add(3.07); add(3.41);add(-0.01);add(0.40); }} ); + STRUCTURE.put("TAATA",new ArrayList() {{add(5.11); add(-9.98); add(35.37); add(32.48); add(-2.19); add(-3.92); add(-7.61); add(-0.02); add(3.57); add(0.14); add(-1.45); add(0.02);add(-2.02);add(0.23); add(-1.19); add(-1.53); add(3.13); add(3.26);add(-0.16);add(0.18); }} ); + STRUCTURE.put("TAATC",new ArrayList() {{add(4.81); add(-10.25); add(35.28); add(32.72); add(-2.32); add(-4.51); add(-7.95); add(-0.02); add(2.76); add(0.15); add(-1.36); add(-0.03);add(-1.66);add(0.66); add(-1.23); add(-1.53); add(3.15); add(3.28);add(-0.15);add(0.15); }} ); + STRUCTURE.put("TAATG",new ArrayList() {{add(4.9); add(-10.52); add(35.43); add(32.4); add(-2.15); add(-4.86); add(-7.85); add(-0.02); add(3.3); add(0.15); add(-1.43); add(-0.02);add(-1.61);add(0.96); add(-1.2); add(-1.51); add(3.14); add(3.28);add(-0.17);add(0.20); }} ); + STRUCTURE.put("TACAA",new ArrayList() {{add(5.89); add(-7.17); add(33.4); add(35.27); add(-1.49); add(5.8); add(-5.23); add(-0.04); add(5.25); add(0.27); add(0.28); add(0.09);add(-0.40);add(2.41); add(-1.47); add(-1.14); add(3.28); add(3.39);add(0.29);add(-0.46); }} ); + STRUCTURE.put("TACAC",new ArrayList() {{add(5.74); add(-6.58); add(33.6); add(34.99); add(-2.01); add(3.4); add(-5.08); add(-0.04); add(3.97); add(0.26); add(0.36); add(0.13);add(-0.52);add(1.16); add(-1.45); add(-1.21); add(3.29); add(3.26);add(0.22);add(-0.27); }} ); + STRUCTURE.put("TACAG",new ArrayList() {{add(5.41); add(-6.49); add(33.82); add(34.82); add(-1.95); add(3.96); add(-5.31); add(-0.03); add(4.11); add(0.28); add(0.46); add(0.09);add(-0.46);add(0.96); add(-1.49); add(-1.39); add(3.3); add(3.34);add(0.26);add(-0.26); }} ); + STRUCTURE.put("TACCA",new ArrayList() {{add(5.13); add(-5.96); add(34.38); add(34.3); add(-2.45); add(-0.68); add(-5.4); add(-0.04); add(2.66); add(0.27); add(0.27); add(0.07);add(-0.65);add(-0.57); add(-1.51); add(-1.69); add(3.32); add(3.37);add(0.17);add(-0.08); }} ); + STRUCTURE.put("TACCC",new ArrayList() {{add(4.71); add(-5.01); add(34.53); add(34.33); add(-3.44); add(-1.79); add(-5.5); add(-0.03); add(3.8); add(0.29); add(0.52); add(0.01);add(-0.23);add(-0.50);add(-1.56);add(-1.83); add(3.34); add(3.45);add(0.23);add(-0.03); }} ); + STRUCTURE.put("TACCG",new ArrayList() {{add(4.96); add(-5.99); add(34.43); add(34.27); add(-2.35); add(-0.83); add(-5.28); add(-0.03); add(3.77); add(0.28); add(0.37); add(0.04);add(-0.52);add(-0.24); add(-1.52); add(-1.71); add(3.33); add(3.4);add(0.21);add(-0.06); }} ); + STRUCTURE.put("TACGA",new ArrayList() {{add(5.61); add(-6.48); add(33.57); add(33.73); add(-1.92); add(4.91); add(-4.99); add(-0.03); add(4.37); add(0.26); add(0.53); add(0.04);add(0.06);add(0.18); add(-1.47); add(-1.5); add(3.28); add(3.41);add(0.23);add(-0.05); }} ); + STRUCTURE.put("TACGC",new ArrayList() {{add(5.32); add(-7.22); add(33.93); add(33.14); add(-2.07); add(4.31); add(-5.03); add(-0.03); add(4.59); add(0.27); add(0.56); add(0.0);add(-0.19);add(-0.16);add(-1.49);add(-1.62); add(3.3); add(3.43);add(0.23);add(0.04); }} ); + STRUCTURE.put("TACGG",new ArrayList() {{add(5.33); add(-6.7); add(33.73); add(33.27); add(-2.19); add(2.74); add(-5.15); add(-0.02); add(5.04); add(0.26); add(0.54); add(0.01);add(0.13);add(-0.82); add(-1.46); add(-1.59); add(3.29); add(3.39);add(0.27);add(0.04); }} ); + STRUCTURE.put("TACTC",new ArrayList() {{add(4.69); add(-3.05); add(34.56); add(31.76); add(-3.67); add(-2.76); add(-5.63); add(-0.02); add(-0.27); add(0.26); add(0.32); add(0.14);add(-1.34);add(2.39); add(-1.69); add(-1.76); add(3.42); add(3.34);add(0.23);add(-0.21); }} ); + STRUCTURE.put("TACTG",new ArrayList() {{add(5.13); add(-4.2); add(34.47); add(31.52); add(-2.15); add(-1.74); add(-5.36); add(-0.02); add(0.11); add(0.25); add(0.3); add(0.14);add(-1.76);add(2.77);add(-1.64);add(-1.69); add(3.42); add(3.33);add(0.23);add(-0.21); }} ); + STRUCTURE.put("TAGAA",new ArrayList() {{add(5.33); add(-3.73); add(31.57); add(36.55); add(-1.4); add(-0.49); add(-5.52); add(-0.04); add(4.23);add(-0.26); add(0.0); add(0.14);add(-1.64);add(2.67); add(-1.64); add(-1.41); add(3.27); add(3.39);add(0.20);add(-0.32); }} ); + STRUCTURE.put("TAGAC",new ArrayList() {{add(5.32); add(-3.62); add(31.64); add(36.16); add(-1.45); add(-1.45); add(-5.33); add(-0.03); add(3.6);add(-0.26); add(0.11); add(0.13);add(-1.65);add(1.91);add(-1.67);add(-1.50); add(3.27); add(3.33);add(0.17);add(-0.15); }} ); + STRUCTURE.put("TAGAG",new ArrayList() {{add(5.41); add(-3.22); add(31.4); add(35.31); add(-1.35); add(-0.44); add(-5.27); add(-0.03); add(2.92);add(-0.26); add(0.19); add(0.1);add(-1.61);add(1.79);add(-1.72);add(-1.64); add(3.29); add(3.38);add(0.21);add(-0.15); }} ); + STRUCTURE.put("TAGCA",new ArrayList() {{add(5.36); add(-1.6); add(31.39); add(36.48); add(-2.09); add(-1.5); add(-5.25); add(-0.02); add(4.14);add(-0.24); add(0.17); add(0.2);add(-1.73);add(0.83); add(-1.67); add(-1.64); add(3.22); add(3.43);add(0.22);add(0.02); }} ); + STRUCTURE.put("TAGCC",new ArrayList() {{add(5.0); add(-1.22); add(31.35); add(37.31); add(-2.77); add(-2.39); add(-5.49); add(-0.02); add(4.28);add(-0.24); add(0.28); add(0.17);add(-1.44);add(1.10);add(-1.71);add(-1.66); add(3.25); add(3.47);add(0.27);add(0.03); }} ); + STRUCTURE.put("TAGCG",new ArrayList() {{add(5.22); add(-1.63); add(31.38); add(36.72); add(-2.2); add(-1.71); add(-5.26); add(-0.02); add(4.15);add(-0.25); add(0.22); add(0.18);add(-1.66);add(1.23); add(-1.69); add(-1.62); add(3.23); add(3.44);add(0.22);add(0.01); }} ); + STRUCTURE.put("TAGGA",new ArrayList() {{add(4.98); add(-1.39); add(31.66); add(34.64); add(-2.51); add(-0.97); add(-5.67); add(-0.02); add(4.88);add(-0.26); add(0.17); add(0.19);add(-1.93);add(1.87); add(-1.74); add(-1.81); add(3.25); add(3.5);add(0.26);add(0.06); }} ); + STRUCTURE.put("TAGGC",new ArrayList() {{add(4.97); add(-1.23); add(31.51); add(34.04); add(-2.47); add(-1.96); add(-5.65); add(-0.03); add(4.0);add(-0.25); add(0.19); add(0.16);add(-1.84);add(1.34); add(-1.76); add(-1.86); add(3.27); add(3.44);add(0.24);add(0.11); }} ); + STRUCTURE.put("TAGGG",new ArrayList() {{add(4.99); add(-0.56); add(31.16); add(34.12); add(-2.67); add(-2.27); add(-5.42); add(-0.02); add(5.24);add(-0.26); add(0.32); add(0.17);add(-1.67);add(1.14); add(-1.76); add(-1.89); add(3.23); add(3.46);add(0.27);add(0.14); }} ); + STRUCTURE.put("TAGTA",new ArrayList() {{add(5.33); add(-3.97); add(31.63); add(34.42); add(-1.21); add(-2.12); add(-5.28); add(-0.03); add(0.49);add(-0.25); add(0.25); add(0.18);add(-2.14);add(1.63); add(-1.67); add(-1.6); add(3.26); add(3.37);add(0.21);add(-0.19); }} ); + STRUCTURE.put("TAGTC",new ArrayList() {{add(5.08); add(-3.9); add(31.53); add(34.57); add(-1.0); add(-2.07); add(-5.5); add(-0.02); add(0.18);add(-0.25); add(0.32); add(0.13);add(-2.03);add(2.16); add(-1.72); add(-1.64); add(3.3); add(3.41);add(0.22);add(-0.21); }} ); + STRUCTURE.put("TAGTG",new ArrayList() {{add(5.11); add(-4.24); add(31.7); add(34.28); add(-1.38); add(-2.73); add(-5.23); add(-0.03); add(0.24);add(-0.25); add(0.28); add(0.13);add(-1.70);add(2.32);add(-1.73);add(-1.63); add(3.3); add(3.42);add(0.23);add(-0.22); }} ); + STRUCTURE.put("TATAA",new ArrayList() {{add(6.07); add(-7.14); add(31.78); add(34.57); add(-3.01); add(7.31); add(-6.76); add(-0.02); add(4.35);add(-0.09); add(-0.87); add(0.03);add(-0.06);add(1.78); add(-1.49); add(-1.34); add(3.18); add(3.42);add(0.01);add(-0.12); }} ); + STRUCTURE.put("TATAC",new ArrayList() {{add(6.01); add(-7.88); add(31.78); add(34.63); add(-2.8); add(5.6); add(-6.72); add(-0.02); add(3.57);add(-0.09); add(-0.7); add(0.0);add(-0.07);add(0.23);add(-1.48);add(-1.36); add(3.19); add(3.3);add(0.00);add(0.01); }} ); + STRUCTURE.put("TATAG",new ArrayList() {{add(5.79); add(-7.69); add(31.96); add(34.63); add(-3.1); add(5.66); add(-6.87); add(-0.02); add(3.51);add(-0.1); add(-0.67); add(-0.03);add(0.08);add(-0.12); add(-1.5); add(-1.44); add(3.19); add(3.33);add(0.01);add(0.02); }} ); + STRUCTURE.put("TATCA",new ArrayList() {{add(5.38); add(-7.32); add(31.94); add(35.75); add(-3.4); add(-1.13); add(-7.24); add(-0.02); add(2.37);add(-0.09); add(-0.68); add(-0.05);add(0.33);add(-0.35); add(-1.48); add(-1.5); add(3.19); add(3.3);add(-0.03);add(0.27); }} ); + STRUCTURE.put("TATCC",new ArrayList() {{add(4.98); add(-7.47); add(32.31); add(36.04); add(-4.17); add(-1.31); add(-7.48); add(-0.01); add(2.48);add(-0.08); add(-0.29); add(-0.11);add(0.42);add(-0.62);add(-1.52);add(-1.55); add(3.22); add(3.36);add(0.01);add(0.21); }} ); + STRUCTURE.put("TATCG",new ArrayList() {{add(5.32); add(-7.63); add(31.89); add(35.68); add(-3.35); add(-0.47); add(-7.12); add(-0.02); add(2.58);add(-0.1); add(-0.73); add(-0.06);add(0.19);add(-0.02); add(-1.49); add(-1.47); add(3.2); add(3.29);add(-0.04);add(0.22); }} ); + STRUCTURE.put("TATGA",new ArrayList() {{add(5.84); add(-7.0); add(31.46); add(35.1); add(-3.24); add(4.95); add(-6.76); add(-0.02); add(2.25);add(-0.09); add(-0.78); add(-0.06);add(0.61);add(-0.57); add(-1.45); add(-1.33); add(3.19); add(3.37);add(-0.04);add(0.32); }} ); + STRUCTURE.put("TATGC",new ArrayList() {{add(5.76); add(-8.11); add(31.62); add(34.78); add(-2.97); add(5.2); add(-6.64); add(-0.02); add(2.44);add(-0.09); add(-0.68); add(-0.12);add(0.56);add(-1.34); add(-1.46); add(-1.39); add(3.2); add(3.37);add(-0.04);add(0.35); }} ); + STRUCTURE.put("TATGG",new ArrayList() {{add(5.88); add(-6.69); add(31.26); add(34.97); add(-2.84); add(3.24); add(-6.63); add(-0.02); add(2.86);add(-0.09); add(-0.6); add(-0.07);add(0.75);add(-1.29); add(-1.44); add(-1.4); add(3.17); add(3.32);add(-0.03);add(0.40); }} ); + STRUCTURE.put("TATTC",new ArrayList() {{add(4.51); add(-10.01); add(32.92); add(35.93); add(-4.85); add(-3.1); add(-8.08); add(-0.02); add(-2.95);add(-0.14); add(-1.21); add(-0.03);add(-0.22);add(2.21); add(-1.54); add(-1.19); add(3.28); add(3.17);add(-0.13);add(0.16); }} ); + STRUCTURE.put("TATTG",new ArrayList() {{add(5.02); add(-9.7); add(32.4); add(35.12); add(-3.9); add(-2.87); add(-7.75); add(-0.03); add(-3.03);add(-0.14); add(-1.5); add(-0.01);add(-0.15);add(2.59); add(-1.54); add(-1.18); add(3.25); add(3.13);add(-0.16);add(0.14); }} ); + STRUCTURE.put("TCAAC",new ArrayList() {{add(5.65); add(-10.22); add(34.69); add(34.93); add(5.39); add(-3.34); add(-7.09); add(-0.03); add(2.31); add(0.1); add(-1.54); add(-0.18);add(1.78);add(-2.06); add(-1.1); add(-1.12); add(3.35); add(3.08);add(-0.43);add(-0.04); }} ); + STRUCTURE.put("TCAAG",new ArrayList() {{add(5.4); add(-9.98); add(34.53); add(34.76); add(5.51); add(-3.44); add(-7.32); add(-0.03); add(0.06); add(0.1); add(-1.46); add(-0.24);add(1.67);add(-2.16); add(-1.26); add(-1.23); add(3.42); add(3.12);add(-0.46);add(0.01); }} ); + STRUCTURE.put("TCACC",new ArrayList() {{add(5.4); add(-7.04); add(34.15); add(34.04); add(3.82); add(-3.21); add(-6.98); add(-0.03); add(2.6); add(0.11); add(-0.59); add(-0.02);add(0.74);add(-0.85);add(-1.34);add(-1.56); add(3.31); add(3.35);add(-0.25);add(0.27); }} ); + STRUCTURE.put("TCACG",new ArrayList() {{add(5.71); add(-8.08); add(34.66); add(33.8); add(4.27); add(-2.49); add(-6.73); add(-0.03); add(4.05); add(0.11); add(-0.98); add(0.03);add(0.72);add(-0.45); add(-1.17); add(-1.45); add(3.25); add(3.31);add(-0.29);add(0.29); }} ); + STRUCTURE.put("TCAGA",new ArrayList() {{add(5.47); add(-6.32); add(34.38); add(31.28); add(4.43); add(-1.76); add(-6.97); add(-0.03); add(0.55); add(0.1); add(-0.72); add(-0.05);add(0.41);add(-2.19); add(-1.41); add(-1.68); add(3.38); add(3.31);add(-0.27);add(0.22); }} ); + STRUCTURE.put("TCAGC",new ArrayList() {{add(5.74); add(-6.36); add(34.29); add(31.14); add(4.93); add(-2.0); add(-6.7); add(-0.04); add(0.03); add(0.09); add(-0.89); add(-0.06);add(0.77);add(-2.37); add(-1.38); add(-1.67); add(3.35); add(3.24);add(-0.26);add(0.23); }} ); + STRUCTURE.put("TCAGG",new ArrayList() {{add(5.47); add(-5.31); add(34.07); add(30.94); add(3.63); add(-3.12); add(-6.99); add(-0.03); add(0.15); add(0.1); add(-0.68); add(-0.03);add(0.68);add(-2.08); add(-1.46); add(-1.76); add(3.34); add(3.26);add(-0.23);add(0.28); }} ); + STRUCTURE.put("TCATC",new ArrayList() {{add(5.08); add(-7.37); add(34.64); add(32.03); add(4.02); add(-4.68); add(-7.57); add(-0.02); add(-3.91); add(0.09); add(-0.35); add(-0.15);add(1.08);add(-0.23); add(-1.52); add(-1.49); add(3.47); add(3.22);add(-0.32);add(-0.02); }} ); + STRUCTURE.put("TCATG",new ArrayList() {{add(5.27); add(-9.26); add(35.0); add(31.75); add(5.91); add(-4.44); add(-6.82); add(0.0); add(-4.34); add(0.09); add(-0.39); add(-0.21);add(1.39);add(-0.04);add(-1.43);add(-1.45); add(3.48); add(3.24);add(-0.31);add(-0.10); }} ); + STRUCTURE.put("TCCAC",new ArrayList() {{add(5.58); add(-3.48); add(33.75); add(34.34); add(-0.49); add(2.75); add(-5.25); add(-0.04); add(-1.24); add(0.26); add(0.16); add(0.14);add(-1.22);add(1.66);add(-1.73);add(-1.36); add(3.4); add(3.25);add(-0.09);add(-0.31); }} ); + STRUCTURE.put("TCCAG",new ArrayList() {{add(5.31); add(-2.98); add(33.74); add(33.98); add(-0.76); add(2.8); add(-5.28); add(-0.04); add(-1.12); add(0.27); add(0.24); add(0.1);add(-1.21);add(1.98);add(-1.79);add(-1.53); add(3.42); add(3.36);add(-0.06);add(-0.32); }} ); + STRUCTURE.put("TCCCC",new ArrayList() {{add(4.76); add(-1.44); add(33.65); add(33.55); add(-1.23); add(-2.33); add(-5.29); add(-0.04); add(-0.66); add(0.31); add(0.39); add(0.01);add(-1.08);add(-0.02);add(-1.85);add(-1.90); add(3.45); add(3.4);add(-0.02);add(-0.06); }} ); + STRUCTURE.put("TCCCG",new ArrayList() {{add(4.95); add(-2.56); add(34.12); add(33.56); add(-0.91); add(-1.93); add(-5.44); add(-0.04); add(-1.9); add(0.28); add(0.18); add(0.09);add(-0.94);add(0.07); add(-1.75); add(-1.73); add(3.42); add(3.33);add(-0.05);add(-0.13); }} ); + STRUCTURE.put("TCCGC",new ArrayList() {{add(5.27); add(-3.15); add(33.51); add(32.42); add(-0.89); add(2.4); add(-5.2); add(-0.04); add(-1.29); add(0.25); add(0.27); add(0.08);add(-0.72);add(0.68); add(-1.74); add(-1.6); add(3.41); add(3.3);add(-0.09);add(-0.01); }} ); + STRUCTURE.put("TCCGG",new ArrayList() {{add(5.39); add(-3.19); add(33.6); add(32.84); add(-0.62); add(1.31); add(-4.9); add(-0.04); add(-0.16); add(0.25); add(0.26); add(0.06);add(-0.67);add(0.37); add(-1.7); add(-1.62); add(3.4); add(3.34);add(-0.03);add(0.00); }} ); + STRUCTURE.put("TCCTC",new ArrayList() {{add(4.8); add(-0.44); add(34.17); add(31.53); add(-1.37); add(-2.86); add(-5.52); add(-0.02); add(-4.34); add(0.27); add(0.28); add(0.16);add(-1.85);add(2.46);add(-1.88);add(-1.79); add(3.5); add(3.29);add(-0.05);add(-0.24); }} ); + STRUCTURE.put("TCCTG",new ArrayList() {{add(4.92); add(-0.9); add(34.22); add(31.21); add(-1.05); add(-2.79); add(-5.52); add(-0.02); add(-4.22); add(0.26); add(0.24); add(0.16);add(-1.77);add(2.61);add(-1.89);add(-1.77); add(3.5); add(3.29);add(-0.05);add(-0.27); }} ); + STRUCTURE.put("TCGAC",new ArrayList() {{add(5.64); add(-6.68); add(33.06); add(35.51); add(5.38); add(-1.63); add(-5.03); add(-0.04); add(-1.89);add(-0.27); add(0.34); add(-0.04);add(-0.01);add(0.04);add(-1.51);add(-1.36); add(3.43); add(3.2);add(-0.06);add(-0.20); }} ); + STRUCTURE.put("TCGAG",new ArrayList() {{add(5.42); add(-6.72); add(33.01); add(35.17); add(5.47); add(-1.2); add(-4.91); add(-0.03); add(-3.64);add(-0.26); add(0.48); add(-0.09);add(0.16);add(0.53);add(-1.60);add(-1.54); add(3.49); add(3.3);add(0.02);add(-0.20); }} ); + STRUCTURE.put("TCGCC",new ArrayList() {{add(5.4); add(-2.99); add(32.6); add(36.2); add(3.27); add(-1.65); add(-5.06); add(-0.03); add(-0.17);add(-0.25); add(0.42); add(0.05);add(-0.38);add(0.05);add(-1.56);add(-1.60); add(3.35); add(3.39);add(0.09);add(0.05); }} ); + STRUCTURE.put("TCGCG",new ArrayList() {{add(5.42); add(-4.27); add(32.65); add(35.66); add(4.5); add(-1.33); add(-4.75); add(-0.03); add(-1.22);add(-0.25); add(0.4); add(0.03);add(-0.21);add(-0.24);add(-1.55);add(-1.56); add(3.38); add(3.39);add(0.09);add(-0.02); }} ); + STRUCTURE.put("TCGGA",new ArrayList() {{add(5.36); add(-3.04); add(32.77); add(33.64); add(3.14); add(-0.81); add(-5.1); add(-0.04); add(0.69);add(-0.25); add(0.23); add(0.08);add(-0.85);add(0.74);add(-1.53);add(-1.73); add(3.33); add(3.4);add(0.10);add(0.07); }} ); + STRUCTURE.put("TCGGC",new ArrayList() {{add(5.43); add(-3.4); add(32.47); add(32.95); add(3.91); add(-0.99); add(-5.23); add(-0.04); add(-0.37);add(-0.25); add(0.28); add(0.04);add(-0.78);add(0.33); add(-1.61); add(-1.77); add(3.38); add(3.33);add(0.06);add(0.12); }} ); + STRUCTURE.put("TCGGG",new ArrayList() {{add(5.22); add(-2.92); add(32.86); add(33.58); add(3.35); add(-1.75); add(-5.22); add(-0.04); add(0.73);add(-0.26); add(0.26); add(0.07);add(-1.00);add(0.31); add(-1.55); add(-1.76); add(3.37); add(3.36);add(0.11);add(0.10); }} ); + STRUCTURE.put("TCGTC",new ArrayList() {{add(5.16); add(-7.11); add(33.65); add(34.18); add(4.81); add(-2.39); add(-5.3); add(-0.03); add(-5.46);add(-0.26); add(0.58); add(-0.02);add(0.13);add(0.34); add(-1.59); add(-1.49); add(3.48); add(3.33);add(0.07);add(-0.26); }} ); + STRUCTURE.put("TCGTG",new ArrayList() {{add(5.29); add(-7.95); add(33.99); add(33.77); add(5.8); add(-2.18); add(-5.22); add(-0.03); add(-5.92);add(-0.26); add(0.48); add(-0.03);add(0.20);add(0.57); add(-1.52); add(-1.44); add(3.48); add(3.32);add(0.09);add(-0.29); }} ); + STRUCTURE.put("TCTAC",new ArrayList() {{add(5.76); add(-6.38); add(30.99); add(34.42); add(-2.44); add(4.12); add(-6.72); add(-0.03); add(-0.25);add(-0.12); add(-1.22); add(0.05);add(1.59);add(-0.01); add(-1.66); add(-1.33); add(3.27); add(3.21);add(-0.29);add(-0.05); }} ); + STRUCTURE.put("TCTAG",new ArrayList() {{add(5.84); add(-6.98); add(31.57); add(34.35); add(-1.22); add(5.27); add(-6.63); add(-0.03); add(-0.19);add(-0.1); add(-0.86); add(0.0);add(1.77);add(0.02); add(-1.69); add(-1.44); add(3.28); add(3.29);add(-0.18);add(0.00); }} ); + STRUCTURE.put("TCTCC",new ArrayList() {{add(4.92); add(-6.1); add(31.48); add(35.79); add(-2.23); add(-2.03); add(-7.26); add(-0.02); add(-1.08);add(-0.08); add(-0.04); add(-0.07);add(2.03);add(-0.39);add(-1.76);add(-1.54); add(3.33); add(3.3);add(-0.17);add(0.16); }} ); + STRUCTURE.put("TCTCG",new ArrayList() {{add(5.17); add(-6.8); add(31.51); add(35.18); add(-1.9); add(-1.21); add(-7.13); add(-0.02); add(-1.53);add(-0.1); add(-0.68); add(-0.03);add(2.04);add(-0.16); add(-1.72); add(-1.47); add(3.32); add(3.24);add(-0.23);add(0.14); }} ); + STRUCTURE.put("TCTGC",new ArrayList() {{add(5.75); add(-6.69); add(31.17); add(33.98); add(-1.2); add(4.1); add(-6.55); add(-0.03); add(-1.03);add(-0.09); add(-0.65); add(-0.07);add(2.43);add(-0.83); add(-1.67); add(-1.43); add(3.3); add(3.33);add(-0.21);add(0.32); }} ); + STRUCTURE.put("TCTGG",new ArrayList() {{add(5.56); add(-6.09); add(31.02); add(33.91); add(-2.71); add(2.85); add(-6.68); add(-0.02); add(0.79);add(-0.11); add(-0.54); add(-0.09);add(2.20);add(-1.48);add(-1.72);add(-1.50); add(3.31); add(3.31);add(-0.27);add(0.31); }} ); + STRUCTURE.put("TCTTC",new ArrayList() {{add(4.52); add(-8.18); add(32.42); add(35.03); add(-2.28); add(-3.52); add(-7.96); add(-0.02); add(-6.57);add(-0.13); add(-0.96); add(0.05);add(2.04);add(2.10); add(-1.78); add(-1.26); add(3.43); add(3.12);add(-0.26);add(0.03); }} ); + STRUCTURE.put("TCTTG",new ArrayList() {{add(4.92); add(-9.12); add(32.47); add(34.77); add(-1.59); add(-3.37); add(-7.69); add(-0.03); add(-6.38);add(-0.14); add(-1.34); add(0.04);add(2.09);add(2.35); add(-1.74); add(-1.21); add(3.41); add(3.1);add(-0.28);add(0.02); }} ); + STRUCTURE.put("TGAAC",new ArrayList() {{add(5.35); add(-10.38); add(35.12); add(35.57); add(0.09); add(-2.98); add(-7.41); add(-0.03); add(1.8); add(0.1); add(-1.18); add(-0.18);add(1.70);add(-1.83); add(-1.41); add(-1.11); add(3.31); add(3.08);add(-0.33);add(-0.10); }} ); + STRUCTURE.put("TGAAG",new ArrayList() {{add(5.15); add(-10.24); add(35.1); add(35.14); add(0.22); add(-3.01); add(-7.47); add(-0.03); add(0.32); add(0.1); add(-1.14); add(-0.23);add(1.93);add(-2.15); add(-1.48); add(-1.26); add(3.36); add(3.14);add(-0.29);add(-0.03); }} ); + STRUCTURE.put("TGACA",new ArrayList() {{add(5.43); add(-8.28); add(35.3); add(34.2); add(-1.53); add(-2.49); add(-7.12); add(-0.02); add(4.09); add(0.11); add(-0.71); add(0.05);add(0.33);add(-0.63);add(-1.37);add(-1.52); add(3.19); add(3.34);add(-0.23);add(0.30); }} ); + STRUCTURE.put("TGACC",new ArrayList() {{add(4.94); add(-7.96); add(35.47); add(34.83); add(-2.01); add(-3.46); add(-7.65); add(-0.02); add(4.35); add(0.11); add(-0.39); add(0.01);add(0.61);add(-0.64); add(-1.41); add(-1.57); add(3.22); add(3.39);add(-0.16);add(0.27); }} ); + STRUCTURE.put("TGACG",new ArrayList() {{add(5.39); add(-8.47); add(35.16); add(34.29); add(-1.16); add(-2.4); add(-7.05); add(-0.02); add(4.3); add(0.11); add(-0.72); add(0.03);add(0.42);add(-0.30); add(-1.38); add(-1.49); add(3.19); add(3.33);add(-0.23);add(0.27); }} ); + STRUCTURE.put("TGAGA",new ArrayList() {{add(5.29); add(-6.62); add(35.17); add(31.77); add(-1.29); add(-2.02); add(-7.09); add(-0.03); add(1.73); add(0.1); add(-0.91); add(-0.01);add(0.56);add(-1.93); add(-1.49); add(-1.68); add(3.24); add(3.31);add(-0.17);add(0.22); }} ); + STRUCTURE.put("TGAGC",new ArrayList() {{add(5.4); add(-6.75); add(34.81); add(31.45); add(-0.9); add(-2.11); add(-7.07); add(-0.03); add(0.72); add(0.1); add(-0.72); add(-0.04);add(0.68);add(-2.09); add(-1.54); add(-1.73); add(3.26); add(3.27);add(-0.18);add(0.23); }} ); + STRUCTURE.put("TGAGG",new ArrayList() {{add(5.3); add(-6.36); add(34.61); add(31.54); add(-0.98); add(-2.49); add(-6.99); add(-0.02); add(2.32); add(0.09); add(-0.42); add(-0.02);add(0.59);add(-2.26); add(-1.54); add(-1.79); add(3.24); add(3.3);add(-0.15);add(0.26); }} ); + STRUCTURE.put("TGATC",new ArrayList() {{add(4.77); add(-7.81); add(35.6); add(32.48); add(-1.37); add(-4.67); add(-7.84); add(-0.02); add(-1.92); add(0.1); add(-0.46); add(-0.11);add(1.04);add(0.18); add(-1.56); add(-1.51); add(3.34); add(3.24);add(-0.21);add(0.03); }} ); + STRUCTURE.put("TGATG",new ArrayList() {{add(5.22); add(-8.13); add(35.36); add(31.93); add(-0.46); add(-3.98); add(-7.34); add(-0.02); add(-2.07); add(0.1); add(-0.83); add(-0.1);add(0.85);add(0.40); add(-1.54); add(-1.47); add(3.31); add(3.22);add(-0.25);add(0.02); }} ); + STRUCTURE.put("TGCAC",new ArrayList() {{add(5.94); add(-3.74); add(35.46); add(34.64); add(-0.76); add(2.85); add(-4.97); add(-0.04); add(-0.39); add(0.25); add(0.18); add(0.17);add(-0.26);add(1.21); add(-1.5); add(-1.2); add(3.36); add(3.19);add(-0.05);add(-0.28); }} ); + STRUCTURE.put("TGCAG",new ArrayList() {{add(5.79); add(-3.68); add(35.64); add(34.5); add(-0.7); add(3.43); add(-5.0); add(-0.04); add(0.33); add(0.26); add(0.26); add(0.12);add(0.16);add(1.10);add(-1.53);add(-1.37); add(3.37); add(3.28);add(0.03);add(-0.26); }} ); + STRUCTURE.put("TGCCC",new ArrayList() {{add(5.02); add(-2.52); add(36.27); add(33.82); add(-1.81); add(-1.78); add(-5.16); add(-0.04); add(0.12); add(0.29); add(0.37); add(0.05);add(0.36);add(-0.24);add(-1.59);add(-1.79); add(3.38); add(3.36);add(0.03);add(-0.06); }} ); + STRUCTURE.put("TGCCG",new ArrayList() {{add(5.17); add(-3.11); add(36.2); add(33.58); add(-1.38); add(-1.26); add(-5.05); add(-0.04); add(-0.22); add(0.27); add(0.27); add(0.08);add(0.22);add(-0.05);add(-1.57);add(-1.70); add(3.38); add(3.33);add(0.01);add(-0.09); }} ); + STRUCTURE.put("TGCGA",new ArrayList() {{add(5.68); add(-3.81); add(35.53); add(33.31); add(-0.91); add(4.16); add(-4.84); add(-0.04); add(0.74); add(0.25); add(0.28); add(0.07);add(0.50);add(0.32); add(-1.51); add(-1.46); add(3.36); add(3.34);add(0.01);add(-0.05); }} ); + STRUCTURE.put("TGCGC",new ArrayList() {{add(5.71); add(-3.94); add(35.52); add(32.79); add(-0.67); add(3.54); add(-4.75); add(-0.03); add(-0.07); add(0.25); add(0.3); add(0.08);add(0.42);add(0.19); add(-1.51); add(-1.51); add(3.36); add(3.29);add(0.01);add(0.04); }} ); + STRUCTURE.put("TGCGG",new ArrayList() {{add(5.59); add(-4.13); add(35.63); add(33.13); add(-0.88); add(2.75); add(-4.82); add(-0.03); add(1.35); add(0.25); add(0.32); add(0.06);add(0.73);add(-0.37); add(-1.47); add(-1.54); add(3.36); add(3.32);add(0.03);add(0.02); }} ); + STRUCTURE.put("TGCTC",new ArrayList() {{add(5.1); add(-0.94); add(36.61); add(31.46); add(-2.29); add(-2.44); add(-5.61); add(-0.01); add(-3.75); add(0.25); add(0.24); add(0.19);add(-0.67);add(2.28); add(-1.66); add(-1.71); add(3.44); add(3.25);add(0.01);add(-0.21); }} ); + STRUCTURE.put("TGCTG",new ArrayList() {{add(5.27); add(-1.72); add(36.65); add(31.23); add(-1.51); add(-1.86); add(-5.22); add(-0.02); add(-3.74); add(0.24); add(0.15); add(0.19);add(-0.80);add(2.60); add(-1.64); add(-1.64); add(3.43); add(3.24);add(-0.01);add(-0.22); }} ); + STRUCTURE.put("TGGAC",new ArrayList() {{add(5.19); add(-5.78); add(33.79); add(36.11); add(-0.37); add(-2.08); add(-5.41); add(-0.04); add(0.02);add(-0.28); add(0.23); add(0.0);add(1.09);add(0.64);add(-1.68);add(-1.41); add(3.38); add(3.25);add(0.06);add(-0.14); }} ); + STRUCTURE.put("TGGAG",new ArrayList() {{add(5.02); add(-5.45); add(33.85); add(35.8); add(-0.86); add(-1.81); add(-5.61); add(-0.05); add(-1.36);add(-0.29); add(0.27); add(-0.05);add(1.25);add(0.52); add(-1.78); add(-1.5); add(3.44); add(3.27);add(0.02);add(-0.12); }} ); + STRUCTURE.put("TGGCA",new ArrayList() {{add(5.24); add(-2.98); add(33.34); add(36.44); add(-1.33); add(-1.81); add(-5.21); add(-0.03); add(1.54);add(-0.27); add(0.21); add(0.11);add(0.33);add(0.01); add(-1.71); add(-1.58); add(3.3); add(3.39);add(0.10);add(0.03); }} ); + STRUCTURE.put("TGGCC",new ArrayList() {{add(4.93); add(-2.54); add(33.23); add(37.04); add(-1.76); add(-2.42); add(-5.35); add(-0.03); add(1.1);add(-0.27); add(0.35); add(0.06);add(0.59);add(0.24);add(-1.76);add(-1.62); add(3.33); add(3.42);add(0.11);add(0.04); }} ); + STRUCTURE.put("TGGCG",new ArrayList() {{add(5.06); add(-2.98); add(33.36); add(36.34); add(-1.66); add(-1.9); add(-5.16); add(-0.04); add(0.47);add(-0.28); add(0.32); add(0.06);add(0.56);add(0.16);add(-1.75);add(-1.56); add(3.34); add(3.4);add(0.10);add(-0.02); }} ); + STRUCTURE.put("TGGGA",new ArrayList() {{add(4.93); add(-2.42); add(33.23); add(33.69); add(-1.55); add(-0.93); add(-5.54); add(-0.04); add(1.24);add(-0.29); add(0.31); add(0.05);add(0.36);add(1.17); add(-1.83); add(-1.83); add(3.35); add(3.44);add(0.10);add(0.07); }} ); + STRUCTURE.put("TGGGC",new ArrayList() {{add(4.96); add(-2.77); add(33.45); add(33.75); add(-2.07); add(-1.99); add(-5.57); add(-0.04); add(0.94);add(-0.28); add(0.25); add(0.05);add(0.59);add(0.56);add(-1.78);add(-1.79); add(3.37); add(3.38);add(0.13);add(0.11); }} ); + STRUCTURE.put("TGGGG",new ArrayList() {{add(4.89); add(-2.02); add(33.26); add(33.49); add(-1.74); add(-2.1); add(-5.39); add(-0.04); add(1.74);add(-0.29); add(0.34); add(0.05);add(0.43);add(0.54); add(-1.82); add(-1.86); add(3.34); add(3.39);add(0.13);add(0.13); }} ); + STRUCTURE.put("TGGTC",new ArrayList() {{add(4.84); add(-6.17); add(34.3); add(34.68); add(-0.69); add(-2.73); add(-5.62); add(-0.04); add(-3.2);add(-0.27); add(0.33); add(0.02);add(0.89);add(0.98); add(-1.75); add(-1.54); add(3.42); add(3.37);add(0.08);add(-0.22); }} ); + STRUCTURE.put("TGGTG",new ArrayList() {{add(4.84); add(-7.0); add(34.81); add(34.27); add(-0.68); add(-2.83); add(-5.36); add(-0.04); add(-4.31);add(-0.27); add(0.28); add(0.0);add(1.03);add(0.96); add(-1.73); add(-1.5); add(3.44); add(3.35);add(0.05);add(-0.25); }} ); + STRUCTURE.put("TGTAC",new ArrayList() {{add(6.2); add(-8.0); add(33.68); add(34.52); add(-1.75); add(4.26); add(-6.58); add(-0.04); add(-1.23);add(-0.11); add(-1.12); add(0.12);add(0.36);add(0.24); add(-1.47); add(-1.26); add(3.29); add(3.16);add(-0.26);add(0.02); }} ); + STRUCTURE.put("TGTAG",new ArrayList() {{add(5.74); add(-8.6); add(33.91); add(35.06); add(-3.23); add(3.24); add(-6.73); add(-0.02); add(-2.29);add(-0.13); add(-1.56); add(0.09);add(0.43);add(0.07); add(-1.48); add(-1.29); add(3.31); add(3.2);add(-0.31);add(0.06); }} ); + STRUCTURE.put("TGTCC",new ArrayList() {{add(5.02); add(-7.71); add(34.09); add(36.22); add(-2.88); add(-2.2); add(-7.24); add(-0.01); add(-3.61);add(-0.09); add(-0.14); add(0.02);add(0.82);add(-0.11);add(-1.54);add(-1.37); add(3.34); add(3.22);add(-0.25);add(0.22); }} ); + STRUCTURE.put("TGTCG",new ArrayList() {{add(5.28); add(-8.25); add(34.23); add(35.73); add(-2.39); add(-1.7); add(-7.15); add(-0.03); add(-3.88);add(-0.11); add(-0.77); add(0.05);add(0.72);add(0.25); add(-1.5); add(-1.31); add(3.33); add(3.18);add(-0.28);add(0.20); }} ); + STRUCTURE.put("TGTGA",new ArrayList() {{add(5.84); add(-7.82); add(33.59); add(34.48); add(-2.33); add(3.97); add(-6.63); add(-0.03); add(-4.22);add(-0.11); add(-0.92); add(0.04);add(0.80);add(-0.55);add(-1.49);add(-1.18); add(3.31); add(3.26);add(-0.31);add(0.30); }} ); + STRUCTURE.put("TGTGC",new ArrayList() {{add(5.94); add(-8.3); add(33.55); add(35.01); add(-1.85); add(3.31); add(-6.5); add(-0.04); add(-4.01);add(-0.1); add(-0.96); add(0.05);add(0.84);add(-1.01); add(-1.45); add(-1.16); add(3.32); add(3.18);add(-0.31);add(0.32); }} ); + STRUCTURE.put("TGTGG",new ArrayList() {{add(5.8); add(-7.33); add(33.07); add(34.79); add(-1.82); add(2.59); add(-6.57); add(-0.03); add(-2.27);add(-0.1); add(-0.79); add(0.03);add(1.16);add(-1.19);add(-1.48);add(-1.27); add(3.29); add(3.21);add(-0.26);add(0.31); }} ); + STRUCTURE.put("TGTTC",new ArrayList() {{add(4.85); add(-10.91); add(34.81); add(35.68); add(-2.74); add(-3.14); add(-7.98); add(-0.01); add(-9.27);add(-0.14); add(-0.99); add(0.08);add(0.37);add(2.20); add(-1.55); add(-1.09); add(3.39); add(3.09);add(-0.40);add(0.14); }} ); + STRUCTURE.put("TGTTG",new ArrayList() {{add(5.24); add(-11.69); add(34.7); add(35.19); add(-2.5); add(-2.78); add(-7.46); add(-0.03); add(-9.77);add(-0.15); add(-1.79); add(0.11);add(0.14);add(2.37); add(-1.54); add(-1.07); add(3.39); add(3.06);add(-0.46);add(0.10); }} ); + STRUCTURE.put("TTAAA",new ArrayList() {{add(5.73); add(-10.7); add(34.67); add(35.63); add(5.72); add(-3.0); add(-7.41); add(0.0); add(0.32); add(0.12); add(-1.68); add(-0.16);add(0.06);add(-0.74); add(-1.09); add(-1.05); add(3.37); add(3.13);add(-0.04);add(-0.23); }} ); + STRUCTURE.put("TTAAC",new ArrayList() {{add(5.85); add(-10.44); add(34.36); add(35.05); add(7.53); add(-2.86); add(-7.16); add(-0.02); add(-0.18); add(0.1); add(-1.18); add(-0.14);add(-0.24);add(-1.35); add(-1.22); add(-1.14); add(3.42); add(3.07);add(-0.02);add(-0.13); }} ); + STRUCTURE.put("TTAAG",new ArrayList() {{add(5.58); add(-9.57); add(34.81); add(34.68); add(6.23); add(-3.71); add(-7.24); add(-0.02); add(-2.04); add(0.11); add(-1.25); add(-0.15);add(0.08);add(-1.51); add(-1.27); add(-1.29); add(3.42); add(3.1);add(0.03);add(-0.05); }} ); + STRUCTURE.put("TTACA",new ArrayList() {{add(5.99); add(-7.55); add(34.6); add(33.74); add(6.03); add(-2.1); add(-6.87); add(-0.03); add(0.58); add(0.11); add(-1.07); add(0.12);add(-1.70);add(-0.40); add(-1.29); add(-1.5); add(3.32); add(3.29);add(0.08);add(0.23); }} ); + STRUCTURE.put("TTACC",new ArrayList() {{add(5.43); add(-7.21); add(34.64); add(34.56); add(5.01); add(-3.71); add(-7.44); add(-0.02); add(1.52); add(0.12); add(-0.86); add(0.08);add(-1.54);add(-0.19); add(-1.34); add(-1.56); add(3.33); add(3.34);add(0.12);add(0.24); }} ); + STRUCTURE.put("TTACG",new ArrayList() {{add(6.11); add(-7.71); add(34.26); add(33.58); add(6.35); add(-1.95); add(-6.77); add(-0.03); add(0.6); add(0.11); add(-0.99); add(0.1);add(-1.40);add(-0.01);add(-1.25);add(-1.48); add(3.29); add(3.29);add(0.12);add(0.22); }} ); + STRUCTURE.put("TTAGA",new ArrayList() {{add(6.0); add(-6.61); add(34.4); add(31.27); add(6.26); add(-1.11); add(-6.73); add(-0.03); add(-0.93); add(0.11); add(-1.21); add(0.03);add(-1.35);add(-1.48); add(-1.32); add(-1.67); add(3.34); add(3.26);add(0.11);add(0.19); }} ); + STRUCTURE.put("TTAGC",new ArrayList() {{add(5.82); add(-6.12); add(34.68); add(31.43); add(5.63); add(-2.69); add(-6.93); add(-0.03); add(-0.87); add(0.11); add(-1.05); add(0.05);add(-1.45);add(-1.38); add(-1.36); add(-1.7); add(3.35); add(3.23);add(0.13);add(0.23); }} ); + STRUCTURE.put("TTAGG",new ArrayList() {{add(5.96); add(-5.77); add(34.35); add(31.45); add(5.87); add(-2.83); add(-6.85); add(-0.03); add(0.03); add(0.1); add(-1.06); add(0.07);add(-1.45);add(-1.67); add(-1.3); add(-1.71); add(3.31); add(3.2);add(0.15);add(0.26); }} ); + STRUCTURE.put("TTATC",new ArrayList() {{add(5.89); add(-7.66); add(34.59); add(31.94); add(7.32); add(-3.54); add(-7.18); add(-0.02); add(-4.39); add(0.11); add(-0.82); add(-0.02);add(-1.42);add(0.38); add(-1.35); add(-1.49); add(3.43); add(3.2);add(0.13);add(-0.03); }} ); + STRUCTURE.put("TTATG",new ArrayList() {{add(6.02); add(-8.06); add(34.54); add(31.48); add(7.92); add(-3.28); add(-6.88); add(-0.02); add(-4.86); add(0.1); add(-1.0); add(-0.01);add(-1.44);add(0.66); add(-1.33); add(-1.45); add(3.43); add(3.19);add(0.12);add(-0.04); }} ); + STRUCTURE.put("TTCAC",new ArrayList() {{add(5.94); add(-6.21); add(34.8); add(34.78); add(0.69); add(4.07); add(-5.32); add(-0.04); add(-0.19); add(0.26); add(0.16); add(0.07);add(-1.90);add(0.88); add(-1.44); add(-1.17); add(3.34); add(3.23);add(0.30);add(-0.30); }} ); + STRUCTURE.put("TTCAG",new ArrayList() {{add(5.93); add(-5.95); add(35.08); add(34.21); add(0.57); add(5.37); add(-5.01); add(-0.04); add(-0.12); add(0.28); add(0.25); add(0.05);add(-1.77);add(1.15);add(-1.42);add(-1.38); add(3.32); add(3.35);add(0.34);add(-0.28); }} ); + STRUCTURE.put("TTCCA",new ArrayList() {{add(4.97); add(-5.2); add(36.04); add(33.8); add(-0.69); add(-0.87); add(-5.75); add(-0.04); add(-0.12); add(0.29); add(0.25); add(-0.01);add(-2.11);add(-0.96); add(-1.48); add(-1.77); add(3.39); add(3.4);add(0.27);add(-0.06); }} ); + STRUCTURE.put("TTCCC",new ArrayList() {{add(4.73); add(-4.39); add(36.01); add(33.66); add(-0.97); add(-1.61); add(-5.5); add(-0.05); add(1.2); add(0.31); add(0.37); add(-0.06);add(-1.98);add(-0.74);add(-1.51);add(-1.87); add(3.39); add(3.46);add(0.29);add(0.00); }} ); + STRUCTURE.put("TTCCG",new ArrayList() {{add(5.09); add(-5.36); add(35.82); add(34.24); add(-1.8); add(-1.46); add(-5.73); add(-0.04); add(-0.23); add(0.27); add(0.19); add(0.0);add(-1.25);add(-0.61); add(-1.4); add(-1.7); add(3.35); add(3.42);add(0.38);add(-0.08); }} ); + STRUCTURE.put("TTCGA",new ArrayList() {{add(5.75); add(-5.99); add(34.95); add(32.98); add(0.19); add(5.38); add(-5.31); add(-0.04); add(1.46); add(0.27); add(0.35); add(-0.03);add(-1.38);add(0.45); add(-1.47); add(-1.58); add(3.33); add(3.45);add(0.31);add(0.01); }} ); + STRUCTURE.put("TTCGC",new ArrayList() {{add(5.53); add(-6.08); add(35.53); add(32.71); add(-0.23); add(3.79); add(-5.38); add(-0.04); add(0.44); add(0.26); add(0.3); add(-0.01);add(-1.49);add(-0.12); add(-1.39); add(-1.53); add(3.33); add(3.34);add(0.28);add(0.09); }} ); + STRUCTURE.put("TTCGG",new ArrayList() {{add(5.38); add(-6.08); add(35.61); add(32.67); add(-0.53); add(2.76); add(-5.29); add(-0.04); add(1.4); add(0.27); add(0.34); add(-0.03);add(-1.39);add(-0.34);add(-1.40);add(-1.59); add(3.32); add(3.39);add(0.28);add(0.08); }} ); + STRUCTURE.put("TTCTC",new ArrayList() {{add(4.67); add(-2.4); add(36.61); add(31.51); add(-1.63); add(-2.79); add(-6.16); add(-0.03); add(-3.66); add(0.26); add(0.16); add(0.12);add(-3.25);add(2.03); add(-1.58); add(-1.75); add(3.49); add(3.32);add(0.28);add(-0.23); }} ); + STRUCTURE.put("TTCTG",new ArrayList() {{add(5.14); add(-3.52); add(36.46); add(31.59); add(-0.54); add(-1.9); add(-5.96); add(-0.03); add(-3.69); add(0.26); add(0.05); add(0.13);add(-2.78);add(2.42); add(-1.49); add(-1.67); add(3.42); add(3.33);add(0.32);add(-0.23); }} ); + STRUCTURE.put("TTGAA",new ArrayList() {{add(6.0); add(-5.98); add(34.59); add(34.8); add(5.46); add(0.18); add(-5.63); add(-0.04); add(-0.29);add(-0.27); add(0.21); add(0.06);add(-2.25);add(2.06); add(-1.09); add(-1.46); add(3.33); add(3.34);add(0.43);add(-0.30); }} ); + STRUCTURE.put("TTGAC",new ArrayList() {{add(5.91); add(-7.07); add(34.61); add(34.78); add(6.83); add(-0.77); add(-5.27); add(-0.04); add(-2.55);add(-0.28); add(0.19); add(0.02);add(-2.01);add(0.62); add(-1.2); add(-1.43); add(3.43); add(3.2);add(0.41);add(-0.22); }} ); + STRUCTURE.put("TTGAG",new ArrayList() {{add(5.9); add(-6.36); add(34.65); add(34.56); add(5.89); add(-0.68); add(-5.39); add(-0.04); add(-2.26);add(-0.27); add(0.2); add(0.01);add(-1.87);add(0.80); add(-1.13); add(-1.54); add(3.38); add(3.26);add(0.46);add(-0.18); }} ); + STRUCTURE.put("TTGCA",new ArrayList() {{add(5.78); add(-3.8); add(34.61); add(35.49); add(4.6); add(-1.25); add(-5.27); add(-0.04); add(-0.73);add(-0.25); add(0.2); add(0.14);add(-2.51);add(0.13); add(-1.23); add(-1.54); add(3.34); add(3.36);add(0.42);add(0.02); }} ); + STRUCTURE.put("TTGCC",new ArrayList() {{add(5.3); add(-3.14); add(34.5); add(36.34); add(3.97); add(-2.26); add(-5.51); add(-0.03); add(-1.06);add(-0.25); add(0.24); add(0.1);add(-2.30);add(0.26); add(-1.36); add(-1.6); add(3.4); add(3.39);add(0.47);add(0.01); }} ); + STRUCTURE.put("TTGCG",new ArrayList() {{add(5.81); add(-4.14); add(34.85); add(35.42); add(4.82); add(-0.77); add(-5.2); add(-0.04); add(-1.45);add(-0.25); add(0.18); add(0.11);add(-2.21);add(0.32); add(-1.21); add(-1.51); add(3.35); add(3.36);add(0.45);add(-0.02); }} ); + STRUCTURE.put("TTGGA",new ArrayList() {{add(5.42); add(-2.74); add(34.57); add(33.66); add(2.7); add(-1.03); add(-5.65); add(-0.04); add(0.67);add(-0.26); add(0.16); add(0.13);add(-2.55);add(1.20); add(-1.29); add(-1.74); add(3.34); add(3.41);add(0.50);add(0.05); }} ); + STRUCTURE.put("TTGGC",new ArrayList() {{add(5.56); add(-3.85); add(34.72); add(33.0); add(4.45); add(-1.23); add(-5.24); add(-0.05); add(-1.13);add(-0.26); add(0.1); add(0.09);add(-2.56);add(0.44); add(-1.33); add(-1.75); add(3.4); add(3.3);add(0.47);add(0.07); }} ); + STRUCTURE.put("TTGGG",new ArrayList() {{add(5.44); add(-3.45); add(34.28); add(32.76); add(6.64); add(-0.64); add(-5.39); add(-0.05); add(-0.56);add(-0.27); add(0.2); add(0.04);add(-3.32);add(0.70); add(-1.51); add(-1.86); add(3.54); add(3.33);add(0.43);add(0.12); }} ); + STRUCTURE.put("TTGTC",new ArrayList() {{add(5.57); add(-7.48); add(34.98); add(33.76); add(6.28); add(-1.95); add(-5.56); add(-0.04); add(-5.54);add(-0.27); add(0.32); add(0.05);add(-2.13);add(0.88); add(-1.19); add(-1.5); add(3.42); add(3.32);add(0.51);add(-0.28); }} ); + STRUCTURE.put("TTGTG",new ArrayList() {{add(5.2); add(-8.23); add(35.72); add(33.59); add(6.07); add(-2.4); add(-5.43); add(-0.03); add(-6.52);add(-0.27); add(0.42); add(0.03);add(-1.98);add(0.73); add(-1.29); add(-1.46); add(3.49); add(3.31);add(0.43);add(-0.35); }} ); + STRUCTURE.put("TTTAC",new ArrayList() {{add(5.91); add(-11.89); add(35.53); add(34.25); add(-0.99); add(6.47); add(-7.24); add(-0.02); add(-0.88);add(-0.09); add(-1.2); add(-0.18);add(0.93);add(-1.47); add(-1.06); add(-1.24); add(3.17); add(3.3);add(0.23);add(0.12); }} ); + STRUCTURE.put("TTTAG",new ArrayList() {{add(5.82); add(-11.18); add(35.72); add(34.35); add(-1.41); add(6.08); add(-6.93); add(-0.02); add(-0.97);add(-0.08); add(-1.01); add(-0.2);add(1.02);add(-1.30); add(-1.03); add(-1.33); add(3.15); add(3.36);add(0.29);add(0.13); }} ); + STRUCTURE.put("TTTCA",new ArrayList() {{add(5.4); add(-10.81); add(35.9); add(34.89); add(-1.64); add(0.49); add(-7.56); add(-0.03); add(-1.41);add(-0.09); add(-1.24); add(-0.22);add(1.23);add(-2.00); add(-1.03); add(-1.44); add(3.16); add(3.33);add(0.26);add(0.32); }} ); + STRUCTURE.put("TTTCC",new ArrayList() {{add(4.63); add(-10.09); add(35.97); add(36.46); add(-3.36); add(-1.41); add(-8.22); add(-0.03); add(-0.13);add(-0.08); add(-0.69); add(-0.26);add(1.27);add(-1.83); add(-1.07); add(-1.44); add(3.17); add(3.39);add(0.26);add(0.33); }} ); + STRUCTURE.put("TTTCG",new ArrayList() {{add(4.98); add(-10.58); add(35.88); add(35.62); add(-2.61); add(-0.38); add(-8.32); add(-0.03); add(-0.83);add(-0.1); add(-1.21); add(-0.22);add(1.14);add(-1.50); add(-1.09); add(-1.38); add(3.18); add(3.32);add(0.20);add(0.28); }} ); + STRUCTURE.put("TTTGA",new ArrayList() {{add(5.6); add(-10.28); add(35.3); add(34.64); add(-2.67); add(5.24); add(-7.57); add(-0.03); add(-1.26);add(-0.1); add(-1.59); add(-0.22);add(1.45);add(-2.03); add(-1.04); add(-1.16); add(3.14); add(3.39);add(0.18);add(0.45); }} ); + STRUCTURE.put("TTTGC",new ArrayList() {{add(5.41); add(-10.88); add(35.29); add(34.35); add(-3.68); add(3.96); add(-7.8); add(-0.03); add(-1.9);add(-0.1); add(-1.71); add(-0.24);add(1.36);add(-2.02);add(-1.08);add(-1.24); add(3.13); add(3.37);add(0.07);add(0.54); }} ); + STRUCTURE.put("TTTGG",new ArrayList() {{add(5.42); add(-9.32); add(35.2); add(34.57); add(-3.1); add(2.51); add(-7.64); add(-0.03); add(0.22);add(-0.09); add(-1.26); add(-0.23);add(1.52);add(-2.58); add(-1.04); add(-1.3); add(3.11); add(3.35);add(0.22);add(0.51); }} ); + STRUCTURE.put("TTTTC",new ArrayList() {{add(4.35); add(-13.16); add(37.0); add(36.32); add(-4.32); add(-3.67); add(-9.65); add(-0.01); add(-6.0);add(-0.16); add(-2.28); add(-0.16);add(1.03);add(1.13); add(-1.05); add(-1.02); add(3.23); add(3.17);add(0.12);add(0.30); }} ); + STRUCTURE.put("TTTTG",new ArrayList() {{add(4.76); add(-13.79); add(36.92); add(35.51); add(-2.76); add(-2.19); add(-8.76); add(-0.03); add(-7.51);add(-0.15); add(-2.39); add(-0.11);add(1.01);add(1.53); add(-1.07); add(-1.01); add(3.23); add(3.15);add(0.06);add(0.18); }} ); + STRUCTURE.put("AACTT",new ArrayList() {{add(3.34); add(-6.26); add(36.3); add(33.58); add(-5.19); add(-3.62); add(-6.51); add(-0.03); add(1.95); add(0.24); add(0.42); add(0.06);add(-1.12);add(1.68); add(-1.76); add(-1.85); add(3.57); add(3.62);add(0.45);add(-0.36); }} ); + STRUCTURE.put("AATTT",new ArrayList() {{add(2.85); add(-14.95); add(35.11); add(37.52); add(-8.57); add(-5.0); add(-13.59); add(-0.01);add(-3.92); add(-0.18); add(-0.67); add(-0.1);add(-0.03);add(1.02); add(-1.64); add(-1.29); add(3.48); add(3.44);add(-0.00);add(-0.16); }} ); + STRUCTURE.put("ACAAT",new ArrayList() {{add(5.03); add(-11.94); add(35.55); add(35.45); add(6.33); add(-2.43); add(-7.49); add(-0.03);add(-2.6); add(0.09); add(-0.52); add(-0.33);add(2.15);add(-2.42); add(-1.39); add(-1.2); add(3.57); add(3.2);add(-0.43);add(-0.14); }} ); + STRUCTURE.put("ACACT",new ArrayList() {{add(5.1); add(-8.48); add(34.61); add(34.67); add(3.69); add(-3.51); add(-7.06); add(-0.03); add(3.09); add(0.11); add(-0.3); add(-0.06);add(1.03);add(-1.86);add(-1.38);add(-1.72); add(3.37); add(3.44);add(-0.22);add(0.33); }} ); + STRUCTURE.put("ACATT",new ArrayList() {{add(4.27); add(-10.82); add(36.13); add(33.25); add(4.78); add(-6.17); add(-8.64); add(-0.01);add(-5.89); add(0.09); add(0.31); add(-0.25);add(1.13);add(-1.13); add(-1.57); add(-1.53); add(3.66); add(3.33);add(-0.30);add(-0.25); }} ); + STRUCTURE.put("ACCAT",new ArrayList() {{add(4.97); add(-4.33); add(34.55); add(34.88); add(-1.22); add(4.04); add(-5.41); add(-0.05); add(0.8); add(0.27); add(0.26); add(0.06);add(-0.94);add(1.94);add(-1.78);add(-1.54); add(3.44); add(3.49);add(-0.03);add(-0.39); }} ); + STRUCTURE.put("ACCCT",new ArrayList() {{add(4.29); add(-2.62); add(34.42); add(34.17); add(-2.05); add(-3.17); add(-5.71); add(-0.05);add(-0.03); add(0.3); add(0.46); add(-0.02);add(-0.50);add(-1.26);add(-1.85);add(-1.95); add(3.48); add(3.51);add(-0.00);add(-0.10); }} ); + STRUCTURE.put("ACCTT",new ArrayList() {{add(3.75); add(-1.48); add(35.68); add(32.53); add(-3.27); add(-4.81); add(-6.44); add(-0.02);add(-3.8); add(0.28); add(0.56); add(0.14);add(-2.18);add(2.58);add(-1.93);add(-1.91); add(3.63); add(3.55);add(0.01);add(-0.41); }} ); + STRUCTURE.put("ACCGT",new ArrayList() {{add(4.73); add(-4.79); add(34.47); add(33.29); add(-1.2); add(3.68); add(-5.47); add(-0.04); add(1.69); add(0.27); add(0.4); add(0.0);add(-0.69);add(0.94);add(-1.75);add(-1.72); add(3.45); add(3.53);add(-0.06);add(-0.06); }} ); + STRUCTURE.put("ACTAT",new ArrayList() {{add(4.86); add(-8.26); add(31.86); add(35.53); add(-3.25); add(3.79); add(-7.21); add(0.0); add(0.48); add(-0.13); add(-0.91); add(-0.06);add(1.85);add(-0.07); add(-1.73); add(-1.37); add(3.39); add(3.38);add(-0.26);add(-0.05); }} ); + STRUCTURE.put("ACTCT",new ArrayList() {{add(4.86); add(-7.83); add(31.76); add(35.66); add(-1.51); add(-0.84); add(-7.36); add(-0.03);add(-0.54); add(-0.07); add(0.06); add(-0.16);add(2.80);add(-2.24); add(-1.79); add(-1.69); add(3.37); add(3.42);add(-0.15);add(0.15); }} ); + STRUCTURE.put("ACTTT",new ArrayList() {{add(3.35); add(-11.68); add(33.88); add(36.93); add(-4.78); add(-6.36); add(-11.84); add(0.02);add(-8.75); add(-0.16); add(-0.58); add(0.07);add(1.81);add(1.77); add(-1.83); add(-1.24); add(3.62); add(3.25);add(-0.36);add(-0.24); }} ); + STRUCTURE.put("ACTGT",new ArrayList() {{add(5.2); add(-8.12); add(31.75); add(34.72); add(-1.83); add(4.57); add(-7.1); add(-0.02);add(-0.62); add(-0.09); add(-0.32); add(-0.12);add(2.62);add(-0.93); add(-1.72); add(-1.47); add(3.39); add(3.43);add(-0.22);add(0.25); }} ); + STRUCTURE.put("ACGAT",new ArrayList() {{add(4.8); add(-6.85); add(33.64); add(36.22); add(4.65); add(-1.68); add(-5.77); add(-0.04);add(-3.42); add(-0.28); add(0.5); add(-0.1);add(0.12);add(0.49); add(-1.68); add(-1.5); add(3.58); add(3.34);add(0.02);add(-0.21); }} ); + STRUCTURE.put("ACGCT",new ArrayList() {{add(4.86); add(-3.93); add(33.0); add(37.02); add(3.7); add(-2.63); add(-5.17); add(-0.03);add(-1.77); add(-0.27); add(0.5); add(-0.01);add(-0.34);add(-1.18); add(-1.69); add(-1.65); add(3.49); add(3.45);add(0.08);add(0.01); }} ); + STRUCTURE.put("ACGTT",new ArrayList() {{add(4.21); add(-10.39); add(34.53); add(35.24); add(5.64); add(-3.43); add(-5.89); add(-0.03);add(-9.16); add(-0.28); add(0.99); add(-0.13);add(0.17);add(-0.54); add(-1.77); add(-1.52); add(3.74); add(3.4);add(0.01);add(-0.48); }} ); + STRUCTURE.put("ATATT",new ArrayList() {{add(4.8); add(-10.43); add(35.25); add(33.17); add(6.33); add(-5.48); add(-7.65); add(-0.01);add(-4.93); add(0.1); add(-0.45); add(-0.17);add(0.59);add(-0.43); add(-1.55); add(-1.59); add(3.54); add(3.31);add(0.02);add(-0.15); }} ); + STRUCTURE.put("ATCAT",new ArrayList() {{add(4.79); add(-6.15); add(36.14); add(34.82); add(-1.32); add(3.79); add(-6.07); add(-0.04); add(2.73); add(0.29); add(0.4); add(-0.03);add(-1.26);add(1.18); add(-1.58); add(-1.57); add(3.41); add(3.54);add(0.27);add(-0.31); }} ); + STRUCTURE.put("ATCTT",new ArrayList() {{add(3.9); add(-3.55); add(37.56); add(32.88); add(-3.29); add(-3.96); add(-6.56); add(-0.02);add(-2.52); add(0.28); add(0.39); add(0.08);add(-2.51);add(2.13);add(-1.67);add(-1.84); add(3.52); add(3.58);add(0.21);add(-0.38); }} ); + STRUCTURE.put("ATTAT",new ArrayList() {{add(5.28); add(-11.27); add(35.9); add(35.02); add(-2.76); add(6.41); add(-7.69); add(-0.02); add(1.21); add(-0.1); add(-1.0); add(-0.23);add(1.86);add(-1.54); add(-1.22); add(-1.41); add(3.18); add(3.45);add(0.14);add(0.09); }} ); + STRUCTURE.put("ATTTT",new ArrayList() {{add(3.63); add(-14.89); add(37.68); add(36.93); add(-5.12); add(-3.56); add(-10.8); add(-0.01);add(-7.97); add(-0.17); add(-2.05); add(-0.1);add(1.48);add(1.08); add(-1.22); add(-1.08); add(3.31); add(3.24);add(-0.11);add(0.05); }} ); + STRUCTURE.put("ATGTT",new ArrayList() {{add(4.3); add(-10.22); add(35.94); add(35.12); add(5.76); add(-3.23); add(-6.1); add(-0.03);add(-8.82); add(-0.28); add(0.86); add(-0.07);add(-0.87);add(-0.06); add(-1.57); add(-1.55); add(3.67); add(3.43);add(0.33);add(-0.50); }} ); + STRUCTURE.put("AGAAT",new ArrayList() {{add(4.43); add(-10.15); add(36.6); add(36.11); add(-1.42); add(-3.86); add(-8.34); add(-0.03);add(-0.42); add(0.08); add(-0.39); add(-0.29);add(3.35);add(-2.31); add(-1.59); add(-1.21); add(3.49); add(3.2);add(-0.26);add(-0.15); }} ); + STRUCTURE.put("AGATT",new ArrayList() {{add(3.75); add(-10.31); add(37.53); add(33.3); add(-2.71); add(-6.11); add(-9.5); add(-0.03);add(-3.88); add(0.07); add(0.47); add(-0.26);add(3.06);add(-0.96); add(-1.71); add(-1.55); add(3.62); add(3.33);add(-0.19);add(-0.25); }} ); + STRUCTURE.put("AGCAT",new ArrayList() {{add(5.23); add(-3.68); add(36.89); add(34.56); add(-2.2); add(4.59); add(-5.39); add(-0.04); add(1.96); add(0.26); add(0.33); add(0.04);add(0.87);add(1.61); add(-1.66); add(-1.52); add(3.44); add(3.48);add(0.03);add(-0.39); }} ); + STRUCTURE.put("AGCCT",new ArrayList() {{add(4.33); add(-2.34); add(37.47); add(34.0); add(-3.85); add(-2.71); add(-5.6); add(-0.04); add(0.24); add(0.29); add(0.54); add(-0.01);add(1.23);add(-1.62);add(-1.72);add(-1.90); add(3.5); add(3.49);add(0.05);add(-0.14); }} ); + STRUCTURE.put("AGCTT",new ArrayList() {{add(4.14); add(-1.56); add(38.05); add(32.14); add(-4.35); add(-3.24); add(-6.03); add(-0.02);add(-3.03); add(0.25); add(0.37); add(0.12);add(0.07);add(1.77); add(-1.8); add(-1.83); add(3.56); add(3.44);add(0.01);add(-0.36); }} ); + STRUCTURE.put("AGTAT",new ArrayList() {{add(5.37); add(-8.21); add(34.73); add(34.44); add(-2.71); add(6.22); add(-7.14); add(-0.03);add(-0.64); add(-0.11); add(-0.35); add(-0.03);add(1.97);add(0.09); add(-1.69); add(-1.48); add(3.42); add(3.41);add(-0.16);add(-0.05); }} ); + STRUCTURE.put("AGTCT",new ArrayList() {{add(4.57); add(-7.81); add(34.89); add(36.01); add(-3.59); add(-2.0); add(-7.39); add(-0.02);add(-2.81); add(-0.09); add(0.39); add(-0.11);add(2.42);add(-2.24); add(-1.74); add(-1.58); add(3.48); add(3.37);add(-0.18);add(0.09); }} ); + STRUCTURE.put("AGTTT",new ArrayList() {{add(3.85); add(-12.78); add(36.86); add(35.86); add(-5.49); add(-4.3); add(-9.29); add(0.0);add(-11.67); add(-0.17); add(-0.79); add(0.11);add(1.02);add(1.69); add(-1.73); add(-1.18); add(3.59); add(3.17);add(-0.46);add(-0.10); }} ); + STRUCTURE.put("AGGAT",new ArrayList() {{add(4.51); add(-5.29); add(34.37); add(36.16); add(-1.41); add(-1.25); add(-5.71); add(-0.05);add(-2.17); add(-0.3); add(0.42); add(-0.1);add(2.04);add(0.50); add(-1.92); add(-1.56); add(3.54); add(3.36);add(0.06);add(-0.24); }} ); + STRUCTURE.put("AGGTT",new ArrayList() {{add(3.64); add(-8.15); add(35.61); add(35.92); add(-2.23); add(-4.78); add(-6.11); add(-0.03);add(-6.2); add(-0.29); add(0.83); add(-0.1);add(2.45);add(-0.20); add(-1.93); add(-1.61); add(3.66); add(3.49);add(0.04);add(-0.46); }} ); + STRUCTURE.put("CAAAA",new ArrayList() {{add(4.76); add(-13.79); add(35.51); add(36.92); add(-2.19); add(-2.76); add(-8.76); add(-0.03); add(7.51); add(0.15); add(-2.39); add(-0.11);add(-1.53);add(-1.01); add(-1.01); add(-1.07); add(3.15); add(3.23);add(-0.18);add(-0.06); }} ); + STRUCTURE.put("CAAAC",new ArrayList() {{add(4.95); add(-13.1); add(35.28); add(36.33); add(-2.42); add(-3.27); add(-8.27); add(-0.03); add(8.07); add(0.15); add(-2.02); add(-0.08);add(-1.55);add(-1.58); add(-1.01); add(-1.12); add(3.13); add(3.16);add(-0.21);add(0.07); }} ); + STRUCTURE.put("CAAAT",new ArrayList() {{add(4.12); add(-13.36); add(35.49); add(37.28); add(-3.54); add(-4.68); add(-9.88); add(-0.02); add(6.95); add(0.17); add(-2.09); add(-0.09);add(-1.40);add(-1.24); add(-1.09); add(-1.26); add(3.16); add(3.32);add(-0.09);add(0.09); }} ); + STRUCTURE.put("CAACA",new ArrayList() {{add(5.24); add(-11.69); add(35.19); add(34.7); add(-2.78); add(-2.5); add(-7.46); add(-0.03); add(9.77); add(0.15); add(-1.79); add(0.11);add(-2.37);add(-0.14); add(-1.07); add(-1.54); add(3.06); add(3.39);add(-0.10);add(0.46); }} ); + STRUCTURE.put("CAACC",new ArrayList() {{add(4.82); add(-4.14); add(31.89); add(35.52); add(-2.06); add(-3.18); add(-7.82); add(-0.01); add(4.79); add(0.14); add(-0.26); add(0.08);add(-2.85);add(-5.45);add(-1.34);add(-1.15); add(3.08); add(3.65);add(0.21);add(-0.08); }} ); + STRUCTURE.put("CAACT",new ArrayList() {{add(4.38); add(-11.29); add(34.76); add(36.24); add(-3.88); add(-4.47); add(-8.34); add(-0.02); add(9.26); add(0.16); add(-1.03); add(0.06);add(-1.88);add(-1.37); add(-1.17); add(-1.74); add(3.11); add(3.55);add(0.07);add(0.41); }} ); + STRUCTURE.put("CAATA",new ArrayList() {{add(5.02); add(-9.7); add(35.12); add(32.4); add(-2.87); add(-3.9); add(-7.75); add(-0.03); add(3.03); add(0.14); add(-1.5); add(-0.01);add(-2.59);add(0.15); add(-1.18); add(-1.54); add(3.13); add(3.25);add(-0.14);add(0.16); }} ); + STRUCTURE.put("CAATC",new ArrayList() {{add(4.81); add(-10.33); add(34.92); add(32.75); add(-2.12); add(-4.28); add(-7.97); add(-0.03); add(2.85); add(0.15); add(-1.49); add(-0.05);add(-2.34);add(0.67); add(-1.2); add(-1.54); add(3.15); add(3.28);add(-0.10);add(0.17); }} ); + STRUCTURE.put("CAATT",new ArrayList() {{add(4.24); add(-11.93); add(35.62); add(33.37); add(-2.97); add(-5.32); add(-8.77); add(-0.03); add(1.18); add(0.16); add(-1.53); add(-0.08);add(-2.20);add(-0.03); add(-1.2); add(-1.59); add(3.2); add(3.36);add(-0.14);add(-0.00); }} ); + STRUCTURE.put("CAAGA",new ArrayList() {{add(4.92); add(-9.12); add(34.77); add(32.47); add(-3.37); add(-1.59); add(-7.69); add(-0.03); add(6.38); add(0.14); add(-1.34); add(0.04);add(-2.35);add(-2.09); add(-1.21); add(-1.74); add(3.1); add(3.41);add(-0.02);add(0.28); }} ); + STRUCTURE.put("CAAGC",new ArrayList() {{add(4.94); add(-8.63); add(34.57); add(32.11); add(-3.44); add(-2.39); add(-7.56); add(-0.03); add(5.71); add(0.14); add(-1.23); add(0.03);add(-2.40);add(-2.09); add(-1.23); add(-1.77); add(3.1); add(3.37);add(-0.03);add(0.32); }} ); + STRUCTURE.put("CAAGT",new ArrayList() {{add(4.52); add(-10.21); add(34.94); add(33.13); add(-3.59); add(-2.35); add(-8.0); add(-0.02); add(6.9); add(0.15); add(-1.23); add(0.03);add(-2.17);add(-2.03); add(-1.22); add(-1.82); add(3.13); add(3.51);add(0.02);add(0.34); }} ); + STRUCTURE.put("CACAA",new ArrayList() {{add(5.2); add(-8.23); add(33.59); add(35.72); add(-2.4); add(6.07); add(-5.43); add(-0.03); add(6.52); add(0.27); add(0.42); add(0.03);add(-0.73);add(1.98); add(-1.46); add(-1.29); add(3.31); add(3.49);add(0.35);add(-0.43); }} ); + STRUCTURE.put("CACAC",new ArrayList() {{add(5.73); add(-8.16); add(33.35); add(35.12); add(-1.37); add(5.01); add(-5.0); add(-0.04); add(5.13); add(0.27); add(0.35); add(0.08);add(-1.11);add(1.01); add(-1.43); add(-1.21); add(3.3); add(3.31);add(0.27);add(-0.32); }} ); + STRUCTURE.put("CACAT",new ArrayList() {{add(5.15); add(-8.83); add(33.53); add(35.86); add(-2.22); add(6.57); add(-5.49); add(-0.03); add(7.69); add(0.28); add(0.54); add(-0.03);add(-0.67);add(1.05);add(-1.49);add(-1.50); add(3.33); add(3.59);add(0.37);add(-0.36); }} ); + STRUCTURE.put("CACCA",new ArrayList() {{add(4.84); add(-7.0); add(34.27); add(34.81); add(-2.83); add(-0.68); add(-5.36); add(-0.04); add(4.31); add(0.27); add(0.28); add(0.0);add(-0.96);add(-1.03); add(-1.5); add(-1.73); add(3.35); add(3.44);add(0.25);add(-0.05); }} ); + STRUCTURE.put("CACCC",new ArrayList() {{add(4.77); add(-5.89); add(34.14); add(34.41); add(-2.99); add(-1.08); add(-5.32); add(-0.04); add(4.72); add(0.29); add(0.48); add(-0.04);add(-0.77);add(-0.65);add(-1.54);add(-1.86); add(3.36); add(3.48);add(0.30);add(-0.00); }} ); + STRUCTURE.put("CACCT",new ArrayList() {{add(4.42); add(-6.64); add(34.31); add(35.25); add(-3.26); add(-1.65); add(-5.6); add(-0.03); add(5.17); add(0.3); add(0.58); add(-0.07);add(-0.48);add(-1.91); add(-1.53); add(-1.92); add(3.37); add(3.58);add(0.34);add(-0.00); }} ); + STRUCTURE.put("CACTA",new ArrayList() {{add(5.11); add(-4.24); add(34.28); add(31.7); add(-2.73); add(-1.38); add(-5.23); add(-0.03);add(-0.24); add(0.25); add(0.28); add(0.13);add(-2.32);add(1.70);add(-1.63);add(-1.73); add(3.42); add(3.3);add(0.22);add(-0.23); }} ); + STRUCTURE.put("CACTC",new ArrayList() {{add(4.78); add(-3.31); add(34.12); add(31.79); add(-3.21); add(-1.98); add(-5.66); add(-0.02); add(0.0); add(0.25); add(0.33); add(0.11);add(-1.92);add(2.39); add(-1.67); add(-1.77); add(3.41); add(3.35);add(0.26);add(-0.21); }} ); + STRUCTURE.put("CACTT",new ArrayList() {{add(4.14); add(-4.48); add(34.91); add(33.1); add(-4.51); add(-2.79); add(-6.18); add(-0.03); add(0.34); add(0.26); add(0.28); add(0.1);add(-1.91);add(2.01); add(-1.68); add(-1.83); add(3.45); add(3.51);add(0.24);add(-0.28); }} ); + STRUCTURE.put("CACTG",new ArrayList() {{add(4.98); add(-4.52); add(34.3); add(31.61); add(-2.39); add(-1.18); add(-5.29); add(-0.03); add(0.08); add(0.24); add(0.18); add(0.13);add(-2.30);add(2.82); add(-1.61); add(-1.67); add(3.42); add(3.35);add(0.22);add(-0.22); }} ); + STRUCTURE.put("CACGA",new ArrayList() {{add(5.29); add(-7.95); add(33.77); add(33.99); add(-2.18); add(5.8); add(-5.22); add(-0.03); add(5.92); add(0.26); add(0.48); add(-0.03);add(-0.57);add(-0.20); add(-1.44); add(-1.52); add(3.32); add(3.48);add(0.29);add(-0.09); }} ); + STRUCTURE.put("CACGC",new ArrayList() {{add(5.25); add(-7.98); add(33.73); add(33.34); add(-2.23); add(4.71); add(-5.03); add(-0.02); add(5.31); add(0.26); add(0.57); add(-0.03);add(-0.61);add(-0.36); add(-1.45); add(-1.62); add(3.32); add(3.45);add(0.28);add(0.04); }} ); + STRUCTURE.put("CACGT",new ArrayList() {{add(4.85); add(-8.78); add(34.05); add(34.48); add(-3.13); add(5.64); add(-5.15); add(-0.03); add(7.66); add(0.28); add(0.64); add(-0.09);add(-0.13);add(0.22);add(-1.45);add(-1.71); add(3.32); add(3.69);add(0.33);add(0.04); }} ); + STRUCTURE.put("CATAA",new ArrayList() {{add(6.02); add(-8.06); add(31.48); add(34.54); add(-3.28); add(7.92); add(-6.88); add(-0.02); add(4.86); add(-0.1); add(-1.0); add(-0.01);add(-0.66);add(1.44); add(-1.45); add(-1.33); add(3.19); add(3.43);add(0.04);add(-0.12); }} ); + STRUCTURE.put("CATAC",new ArrayList() {{add(5.93); add(-8.42); add(31.46); add(34.49); add(-2.99); add(6.01); add(-6.74); add(-0.02); add(3.69); add(-0.1); add(-0.89); add(-0.03);add(-0.64);add(-0.02); add(-1.45); add(-1.38); add(3.19); add(3.31);add(0.03);add(0.01); }} ); + STRUCTURE.put("CATAT",new ArrayList() {{add(5.32); add(-8.33); add(32.04); add(35.37); add(-4.26); add(5.85); add(-7.38); add(-0.02); add(2.85); add(-0.09); add(-0.63); add(-0.08);add(-0.45);add(0.11); add(-1.5); add(-1.49); add(3.21); add(3.45);add(0.04);add(0.02); }} ); + STRUCTURE.put("CATCA",new ArrayList() {{add(5.22); add(-8.13); add(31.93); add(35.36); add(-3.98); add(-0.46); add(-7.34); add(-0.02); add(2.07); add(-0.1); add(-0.83); add(-0.1);add(-0.40);add(-0.85); add(-1.47); add(-1.54); add(3.22); add(3.31);add(-0.02);add(0.25); }} ); + STRUCTURE.put("CATCC",new ArrayList() {{add(4.84); add(-7.65); add(32.03); add(36.16); add(-4.71); add(-1.14); add(-7.69); add(-0.02); add(1.59); add(-0.09); add(-0.4); add(-0.12);add(-0.22);add(-0.74); add(-1.5); add(-1.53); add(3.22); add(3.35);add(-0.01);add(0.21); }} ); + STRUCTURE.put("CATCT",new ArrayList() {{add(4.66); add(-7.85); add(32.25); add(36.48); add(-5.19); add(-1.27); add(-7.78); add(-0.02); add(0.83); add(-0.08); add(-0.14); add(-0.16);add(-0.01);add(-2.07); add(-1.51); add(-1.63); add(3.24); add(3.43);add(-0.00);add(0.20); }} ); + STRUCTURE.put("CATTA",new ArrayList() {{add(4.9); add(-10.52); add(32.4); add(35.43); add(-4.86); add(-2.15); add(-7.85); add(-0.02);add(-3.3); add(-0.15); add(-1.43); add(-0.02);add(-0.96);add(1.61); add(-1.51); add(-1.2); add(3.28); add(3.14);add(-0.20);add(0.17); }} ); + STRUCTURE.put("CATTC",new ArrayList() {{add(4.39); add(-9.43); add(32.69); add(35.63); add(-5.91); add(-3.64); add(-8.53); add(-0.02);add(-4.13); add(-0.15); add(-1.0); add(-0.03);add(-0.80);add(2.04); add(-1.56); add(-1.22); add(3.29); add(3.16);add(-0.18);add(0.12); }} ); + STRUCTURE.put("CATTT",new ArrayList() {{add(3.84); add(-11.76); add(33.42); add(36.86); add(-7.0); add(-4.21); add(-9.42); add(-0.01);add(-6.47); add(-0.16); add(-1.02); add(0.0);add(-0.96);add(1.65); add(-1.56); add(-1.22); add(3.34); add(3.25);add(-0.27);add(-0.03); }} ); + STRUCTURE.put("CATTG",new ArrayList() {{add(4.69); add(-10.42); add(32.41); add(35.08); add(-4.37); add(-2.63); add(-7.96); add(-0.02);add(-3.33); add(-0.14); add(-1.37); add(-0.05);add(-0.87);add(2.32); add(-1.53); add(-1.19); add(3.28); add(3.15);add(-0.11);add(0.12); }} ); + STRUCTURE.put("CATGA",new ArrayList() {{add(5.27); add(-9.26); add(31.75); add(35.0); add(-4.44); add(5.91); add(-6.82); add(0.0); add(4.34); add(-0.09); add(-0.39); add(-0.21);add(0.04);add(-1.39);add(-1.45);add(-1.43); add(3.24); add(3.48);add(0.10);add(0.31); }} ); + STRUCTURE.put("CATGC",new ArrayList() {{add(5.5); add(-9.43); add(31.54); add(34.82); add(-3.87); add(4.69); add(-6.8); add(-0.01); add(3.68); add(-0.09); add(-0.36); add(-0.21);add(0.04);add(-1.71);add(-1.44);add(-1.45); add(3.24); add(3.42);add(0.07);add(0.37); }} ); + STRUCTURE.put("CATGT",new ArrayList() {{add(4.99); add(-10.15); add(32.0); add(35.7); add(-4.67); add(5.73); add(-7.2); add(-0.01); add(3.58); add(-0.08); add(-0.25); add(-0.24);add(0.16);add(-1.39); add(-1.45); add(-1.48); add(3.25); add(3.55);add(0.07);add(0.36); }} ); + STRUCTURE.put("CAGAA",new ArrayList() {{add(5.14); add(-3.52); add(31.59); add(36.46); add(-1.9); add(-0.54); add(-5.96); add(-0.03); add(3.69); add(-0.26); add(0.05); add(0.13);add(-2.42);add(2.78); add(-1.67); add(-1.49); add(3.33); add(3.42);add(0.23);add(-0.32); }} ); + STRUCTURE.put("CAGAC",new ArrayList() {{add(5.22); add(-3.97); add(31.42); add(36.44); add(-1.18); add(-1.52); add(-5.38); add(-0.04); add(2.9); add(-0.26); add(0.1); add(0.11);add(-2.46);add(1.46); add(-1.63); add(-1.41); add(3.3); add(3.28);add(0.16);add(-0.20); }} ); + STRUCTURE.put("CAGAT",new ArrayList() {{add(4.98); add(-2.7); add(31.12); add(36.37); add(-2.27); add(-0.33); add(-5.82); add(-0.02); add(3.75); add(-0.24); add(0.23); add(0.12);add(-2.23);add(3.09);add(-1.72);add(-1.74); add(3.3); add(3.56);add(0.28);add(-0.11); }} ); + STRUCTURE.put("CAGCA",new ArrayList() {{add(5.27); add(-1.72); add(31.23); add(36.65); add(-1.86); add(-1.51); add(-5.22); add(-0.02); add(3.74); add(-0.24); add(0.15); add(0.19);add(-2.60);add(0.80); add(-1.64); add(-1.64); add(3.24); add(3.43);add(0.22);add(0.01); }} ); + STRUCTURE.put("CAGCC",new ArrayList() {{add(4.95); add(-1.2); add(31.16); add(37.17); add(-2.64); add(-2.29); add(-5.43); add(-0.02); add(3.57); add(-0.24); add(0.27); add(0.16);add(-2.36);add(0.98);add(-1.71);add(-1.68); add(3.28); add(3.46);add(0.24);add(0.01); }} ); + STRUCTURE.put("CAGCT",new ArrayList() {{add(4.8); add(-1.38); add(31.01); add(37.48); add(-2.54); add(-2.49); add(-5.64); add(-0.02); add(2.22); add(-0.24); add(0.28); add(0.12);add(-2.25);add(-0.02);add(-1.74);add(-1.76); add(3.32); add(3.52);add(0.27);add(0.01); }} ); + STRUCTURE.put("CAGTA",new ArrayList() {{add(5.13); add(-4.2); add(31.52); add(34.47); add(-1.74); add(-2.15); add(-5.36); add(-0.02);add(-0.11); add(-0.25); add(0.3); add(0.14);add(-2.77);add(1.76);add(-1.69);add(-1.64); add(3.33); add(3.42);add(0.21);add(-0.23); }} ); + STRUCTURE.put("CAGTC",new ArrayList() {{add(5.0); add(-3.96); add(31.46); add(34.65); add(-1.4); add(-2.08); add(-5.57); add(-0.02);add(-0.06); add(-0.25); add(0.33); add(0.12);add(-2.63);add(2.18);add(-1.70);add(-1.65); add(3.33); add(3.43);add(0.21);add(-0.22); }} ); + STRUCTURE.put("CAGTT",new ArrayList() {{add(4.49); add(-5.42); add(31.73); add(35.45); add(-1.85); add(-3.28); add(-5.9); add(-0.03);add(-1.58); add(-0.24); add(0.31); add(0.09);add(-2.35);add(1.56); add(-1.72); add(-1.71); add(3.38); add(3.5);add(0.22);add(-0.36); }} ); + STRUCTURE.put("CAGGA",new ArrayList() {{add(4.92); add(-0.9); add(31.21); add(34.22); add(-2.79); add(-1.05); add(-5.52); add(-0.02); add(4.22); add(-0.26); add(0.24); add(0.16);add(-2.61);add(1.77);add(-1.77);add(-1.89); add(3.29); add(3.5);add(0.27);add(0.05); }} ); + STRUCTURE.put("CAGGC",new ArrayList() {{add(4.94); add(-1.28); add(31.14); add(33.99); add(-2.26); add(-1.61); add(-5.63); add(-0.03); add(3.2); add(-0.25); add(0.18); add(0.14);add(-2.41);add(1.19); add(-1.75); add(-1.85); add(3.29); add(3.42);add(0.24);add(0.09); }} ); + STRUCTURE.put("CAGGT",new ArrayList() {{add(4.54); add(-1.68); add(31.38); add(35.08); add(-2.97); add(-1.63); add(-5.73); add(-0.02); add(4.09); add(-0.25); add(0.32); add(0.15);add(-2.65);add(1.88);add(-1.79);add(-1.92); add(3.36); add(3.57);add(0.31);add(0.06); }} ); + STRUCTURE.put("CCAAA",new ArrayList() {{add(5.42); add(-9.32); add(34.57); add(35.2); add(2.51); add(-3.1); add(-7.64); add(-0.03);add(-0.22); add(0.09); add(-1.26); add(-0.23);add(2.58);add(-1.52); add(-1.3); add(-1.04); add(3.35); add(3.11);add(-0.51);add(-0.22); }} ); + STRUCTURE.put("CCAAC",new ArrayList() {{add(5.42); add(-9.8); add(34.44); add(31.76); add(6.57); add(-1.94); add(-7.0); add(0.04);add(-5.83); add(0.04); add(0.48); add(-0.42);add(3.11);add(-2.97);add(-1.47);add(-1.33); add(3.53); add(3.06);add(-0.44);add(0.19); }} ); + STRUCTURE.put("CCAAT",new ArrayList() {{add(5.3); add(-10.72); add(34.4); add(34.93); add(5.06); add(-2.07); add(-7.32); add(-0.03);add(-3.46); add(0.1); add(-0.94); add(-0.32);add(2.88);add(-2.28); add(-1.4); add(-1.19); add(3.42); add(3.15);add(-0.48);add(-0.13); }} ); + STRUCTURE.put("CCAAG",new ArrayList() {{add(5.31); add(-9.71); add(34.61); add(34.56); add(4.48); add(-3.4); add(-7.06); add(-0.03);add(-1.92); add(0.09); add(-1.0); add(-0.28);add(2.38);add(-2.30); add(-1.38); add(-1.23); add(3.43); add(3.1);add(-0.45);add(-0.03); }} ); + STRUCTURE.put("CCACA",new ArrayList() {{add(5.8); add(-7.33); add(34.79); add(33.07); add(2.59); add(-1.82); add(-6.57); add(-0.03); add(2.27); add(0.1); add(-0.79); add(0.03);add(1.19);add(-1.16);add(-1.27);add(-1.48); add(3.21); add(3.29);add(-0.31);add(0.26); }} ); + STRUCTURE.put("CCACC",new ArrayList() {{add(5.56); add(-7.11); add(34.27); add(33.92); add(2.46); add(-2.55); add(-6.85); add(-0.03); add(2.33); add(0.11); add(-0.64); add(-0.01);add(1.26);add(-0.99);add(-1.33);add(-1.52); add(3.23); add(3.33);add(-0.31);add(0.25); }} ); + STRUCTURE.put("CCACT",new ArrayList() {{add(5.31); add(-7.4); add(34.11); add(34.38); add(2.64); add(-2.95); add(-6.85); add(-0.03); add(0.51); add(0.11); add(-0.36); add(-0.06);add(1.39);add(-2.21);add(-1.43);add(-1.62); add(3.32); add(3.41);add(-0.25);add(0.21); }} ); + STRUCTURE.put("CCACG",new ArrayList() {{add(5.64); add(-7.87); add(34.18); add(33.53); add(3.23); add(-2.34); add(-6.67); add(-0.03); add(2.43); add(0.11); add(-0.65); add(-0.03);add(1.39);add(-0.79);add(-1.33);add(-1.48); add(3.24); add(3.32);add(-0.31);add(0.24); }} ); + STRUCTURE.put("CCATA",new ArrayList() {{add(5.88); add(-6.69); add(34.97); add(31.26); add(3.24); add(-2.84); add(-6.63); add(-0.02);add(-2.86); add(0.09); add(-0.6); add(-0.07);add(1.29);add(-0.75); add(-1.4); add(-1.44); add(3.32); add(3.17);add(-0.40);add(0.03); }} ); + STRUCTURE.put("CCATC",new ArrayList() {{add(5.53); add(-7.48); add(34.54); add(31.66); add(4.13); add(-3.42); add(-6.99); add(-0.02);add(-3.75); add(0.09); add(-0.47); add(-0.15);add(1.82);add(-0.37); add(-1.47); add(-1.46); add(3.37); add(3.2);add(-0.36);add(-0.01); }} ); + STRUCTURE.put("CCATT",new ArrayList() {{add(5.08); add(-8.98); add(34.87); add(32.12); add(3.6); add(-4.16); add(-7.27); add(-0.02);add(-5.67); add(0.09); add(-0.35); add(-0.2);add(1.90);add(-0.96); add(-1.53); add(-1.5); add(3.44); add(3.26);add(-0.40);add(-0.16); }} ); + STRUCTURE.put("CCATG",new ArrayList() {{add(5.34); add(-9.01); add(34.66); add(31.61); add(3.95); add(-4.03); add(-6.81); add(0.0);add(-4.88); add(0.09); add(-0.27); add(-0.22);add(1.98);add(-0.14);add(-1.51);add(-1.44); add(3.45); add(3.23);add(-0.40);add(-0.11); }} ); + STRUCTURE.put("CCAGA",new ArrayList() {{add(5.56); add(-6.09); add(33.91); add(31.02); add(2.85); add(-2.71); add(-6.68); add(-0.02);add(-0.79); add(0.11); add(-0.54); add(-0.09);add(1.48);add(-2.20);add(-1.50);add(-1.72); add(3.31); add(3.31);add(-0.31);add(0.27); }} ); + STRUCTURE.put("CCAGC",new ArrayList() {{add(5.53); add(-5.87); add(34.09); add(30.94); add(2.75); add(-2.45); add(-6.56); add(-0.03);add(-0.94); add(0.1); add(-0.47); add(-0.09);add(1.49);add(-2.17);add(-1.49);add(-1.72); add(3.32); add(3.28);add(-0.28);add(0.24); }} ); + STRUCTURE.put("CCAGT",new ArrayList() {{add(5.32); add(-7.24); add(34.39); add(31.51); add(3.06); add(-1.82); add(-6.86); add(-0.03);add(-1.78); add(0.11); add(-0.53); add(-0.13);add(1.43);add(-2.63); add(-1.49); add(-1.67); add(3.38); add(3.31);add(-0.31);add(0.20); }} ); + STRUCTURE.put("CCCAA",new ArrayList() {{add(5.44); add(-3.45); add(32.76); add(34.28); add(-0.64); add(6.64); add(-5.39); add(-0.05); add(0.56); add(0.27); add(0.2); add(0.04);add(-0.70);add(3.32); add(-1.86); add(-1.51); add(3.33); add(3.54);add(-0.12);add(-0.43); }} ); + STRUCTURE.put("CCCAC",new ArrayList() {{add(5.41); add(-2.94); add(33.55); add(34.09); add(-1.85); add(2.54); add(-5.13); add(-0.04);add(-1.54); add(0.26); add(0.23); add(0.13);add(-0.52);add(1.86);add(-1.76);add(-1.40); add(3.34); add(3.28);add(-0.15);add(-0.30); }} ); + STRUCTURE.put("CCCAT",new ArrayList() {{add(5.19); add(-2.37); add(33.45); add(34.56); add(-2.51); add(3.38); add(-5.37); add(-0.04);add(-1.55); add(0.27); add(0.28); add(0.1);add(-0.58);add(1.86); add(-1.82); add(-1.49); add(3.38); add(3.38);add(-0.13);add(-0.39); }} ); + STRUCTURE.put("CCCAG",new ArrayList() {{add(5.39); add(-2.47); add(33.54); add(33.88); add(-1.97); add(2.42); add(-5.02); add(-0.04);add(-1.62); add(0.27); add(0.3); add(0.1);add(-0.41);add(2.17);add(-1.81);add(-1.54); add(3.36); add(3.37);add(-0.12);add(-0.33); }} ); + STRUCTURE.put("CCCCA",new ArrayList() {{add(4.89); add(-2.02); add(33.49); add(33.26); add(-2.1); add(-1.74); add(-5.39); add(-0.04);add(-1.74); add(0.29); add(0.34); add(0.05);add(-0.54);add(-0.43); add(-1.86); add(-1.82); add(3.39); add(3.34);add(-0.13);add(-0.13); }} ); + STRUCTURE.put("CCCCC",new ArrayList() {{add(4.75); add(-1.03); add(33.41); add(33.25); add(-2.41); add(-2.24); add(-5.25); add(-0.04);add(-0.95); add(0.31); add(0.43); add(0.01);add(-0.42);add(-0.00);add(-1.88);add(-1.90); add(3.4); add(3.39);add(-0.09);add(-0.07); }} ); + STRUCTURE.put("CCCCT",new ArrayList() {{add(4.62); add(-1.32); add(33.61); add(33.78); add(-2.41); add(-2.55); add(-5.38); add(-0.04);add(-1.73); add(0.31); add(0.43); add(0.01);add(-0.25);add(-1.07); add(-1.88); add(-1.92); add(3.42); add(3.44);add(-0.06);add(-0.13); }} ); + STRUCTURE.put("CCCCG",new ArrayList() {{add(4.94); add(-1.95); add(33.62); add(33.22); add(-1.76); add(-1.77); add(-5.31); add(-0.04);add(-1.72); add(0.28); add(0.27); add(0.05);add(-0.34);add(-0.08); add(-1.84); add(-1.79); add(3.38); add(3.35);add(-0.10);add(-0.14); }} ); + STRUCTURE.put("CCCTA",new ArrayList() {{add(4.99); add(-0.56); add(34.12); add(31.16); add(-2.27); add(-2.67); add(-5.42); add(-0.02);add(-5.24); add(0.26); add(0.32); add(0.17);add(-1.14);add(1.67); add(-1.89); add(-1.76); add(3.46); add(3.23);add(-0.14);add(-0.27); }} ); + STRUCTURE.put("CCCTC",new ArrayList() {{add(4.78); add(-0.03); add(33.87); add(31.33); add(-2.62); add(-2.73); add(-5.55); add(-0.02);add(-4.25); add(0.27); add(0.35); add(0.14);add(-1.15);add(2.35); add(-1.92); add(-1.8); add(3.45); add(3.29);add(-0.12);add(-0.24); }} ); + STRUCTURE.put("CCCTT",new ArrayList() {{add(4.42); add(-0.14); add(34.22); add(31.94); add(-3.54); add(-3.37); add(-5.82); add(-0.01);add(-5.26); add(0.28); add(0.48); add(0.16);add(-1.31);add(2.25); add(-1.94); add(-1.85); add(3.5); add(3.37);add(-0.12);add(-0.35); }} ); + STRUCTURE.put("CCCTG",new ArrayList() {{add(4.85); add(-0.14); add(34.07); add(31.11); add(-2.88); add(-3.39); add(-5.52); add(-0.01);add(-4.67); add(0.26); add(0.35); add(0.16);add(-1.17);add(2.29); add(-1.92); add(-1.77); add(3.47); add(3.27);add(-0.12);add(-0.30); }} ); + STRUCTURE.put("CCCGA",new ArrayList() {{add(5.22); add(-2.92); add(33.58); add(32.86); add(-1.75); add(3.35); add(-5.22); add(-0.04);add(-0.73); add(0.26); add(0.26); add(0.07);add(-0.31);add(1.00); add(-1.76); add(-1.55); add(3.36); add(3.37);add(-0.10);add(-0.11); }} ); + STRUCTURE.put("CCCGC",new ArrayList() {{add(5.3); add(-2.75); add(33.41); add(32.3); add(-1.73); add(2.34); add(-5.14); add(-0.03);add(-1.59); add(0.26); add(0.31); add(0.08);add(-0.14);add(0.77); add(-1.78); add(-1.6); add(3.36); add(3.3);add(-0.13);add(-0.01); }} ); + STRUCTURE.put("CCCGT",new ArrayList() {{add(4.92); add(-2.81); add(33.75); add(33.23); add(-2.05); add(2.76); add(-5.36); add(-0.04);add(-0.72); add(0.28); add(0.34); add(0.04);add(-0.23);add(1.07); add(-1.77); add(-1.67); add(3.38); add(3.45);add(-0.09);add(-0.05); }} ); + STRUCTURE.put("CCCGG",new ArrayList() {{add(5.19); add(-3.26); add(33.24); add(32.53); add(-1.59); add(1.93); add(-5.12); add(-0.04);add(-0.17); add(0.25); add(0.24); add(0.05);add(-0.44);add(0.48); add(-1.78); add(-1.64); add(3.35); add(3.33);add(-0.15);add(0.01); }} ); + STRUCTURE.put("CCTAA",new ArrayList() {{add(5.96); add(-5.77); add(31.45); add(34.35); add(-2.83); add(5.87); add(-6.85); add(-0.03);add(-0.03); add(-0.1); add(-1.06); add(0.07);add(1.67);add(1.45); add(-1.71); add(-1.3); add(3.2); add(3.31);add(-0.26);add(-0.15); }} ); + STRUCTURE.put("CCTAC",new ArrayList() {{add(5.76); add(-6.19); add(31.41); add(34.06); add(-2.71); add(4.46); add(-6.82); add(-0.03);add(-1.08); add(-0.1); add(-0.84); add(0.06);add(1.66);add(0.27); add(-1.76); add(-1.38); add(3.26); add(3.21);add(-0.27);add(-0.04); }} ); + STRUCTURE.put("CCTAT",new ArrayList() {{add(5.6); add(-6.87); add(31.71); add(34.5); add(-2.45); add(5.54); add(-6.95); add(-0.03);add(-2.26); add(-0.09); add(-0.64); add(0.0);add(2.19);add(0.29);add(-1.79);add(-1.45); add(3.29); add(3.33);add(-0.23);add(-0.03); }} ); + STRUCTURE.put("CCTAG",new ArrayList() {{add(5.69); add(-6.51); add(31.47); add(34.19); add(-2.23); add(4.92); add(-6.9); add(-0.03);add(-0.58); add(-0.1); add(-0.83); add(0.0);add(1.93);add(0.04); add(-1.76); add(-1.46); add(3.27); add(3.28);add(-0.23);add(-0.00); }} ); + STRUCTURE.put("CCTCA",new ArrayList() {{add(5.3); add(-6.36); add(31.54); add(34.61); add(-2.49); add(-0.98); add(-6.99); add(-0.02);add(-2.32); add(-0.09); add(-0.42); add(-0.02);add(2.26);add(-0.59); add(-1.79); add(-1.54); add(3.3); add(3.24);add(-0.26);add(0.15); }} ); + STRUCTURE.put("CCTCC",new ArrayList() {{add(4.93); add(-5.75); add(31.42); add(35.57); add(-3.27); add(-1.91); add(-7.22); add(-0.01);add(-2.08); add(-0.08); add(0.11); add(-0.05);add(2.25);add(-0.25);add(-1.81);add(-1.54); add(3.32); add(3.27);add(-0.23);add(0.15); }} ); + STRUCTURE.put("CCTCT",new ArrayList() {{add(4.97); add(-6.38); add(31.44); add(35.39); add(-2.6); add(-1.11); add(-7.16); add(-0.02);add(-3.19); add(-0.06); add(0.23); add(-0.09);add(2.65);add(-1.61); add(-1.84); add(-1.64); add(3.35); add(3.35);add(-0.21);add(0.12); }} ); + STRUCTURE.put("CCTCG",new ArrayList() {{add(5.18); add(-6.32); add(31.5); add(34.97); add(-2.8); add(-1.26); add(-7.19); add(-0.02);add(-2.32); add(-0.09); add(-0.45); add(-0.02);add(2.18);add(-0.09); add(-1.79); add(-1.48); add(3.3); add(3.23);add(-0.27);add(0.12); }} ); + STRUCTURE.put("CCTTA",new ArrayList() {{add(4.81); add(-8.13); add(32.34); add(34.66); add(-4.02); add(-3.71); add(-7.66); add(-0.01);add(-7.88); add(-0.14); add(-0.98); add(0.1);add(2.15);add(1.64); add(-1.84); add(-1.27); add(3.41); add(3.07);add(-0.40);add(0.01); }} ); + STRUCTURE.put("CCTTC",new ArrayList() {{add(4.63); add(-7.38); add(32.02); add(34.75); add(-3.57); add(-3.82); add(-7.89); add(-0.01);add(-6.61); add(-0.12); add(-0.56); add(0.04);add(2.24);add(2.16); add(-1.86); add(-1.28); add(3.4); add(3.1);add(-0.34);add(0.02); }} ); + STRUCTURE.put("CCTTT",new ArrayList() {{add(4.05); add(-9.21); add(32.79); add(35.88); add(-5.06); add(-4.8); add(-8.81); add(0.01);add(-9.94); add(-0.13); add(-0.41); add(0.12);add(2.06);add(1.98); add(-1.87); add(-1.25); add(3.5); add(3.16);add(-0.44);add(-0.14); }} ); + STRUCTURE.put("CCTTG",new ArrayList() {{add(4.65); add(-9.16); add(32.51); add(34.98); add(-2.93); add(-3.66); add(-7.76); add(-0.02);add(-7.66); add(-0.13); add(-0.93); add(0.05);add(2.22);add(2.19); add(-1.82); add(-1.23); add(3.44); add(3.13);add(-0.35);add(-0.03); }} ); + STRUCTURE.put("CCTGA",new ArrayList() {{add(5.47); add(-5.31); add(30.94); add(34.07); add(-3.12); add(3.63); add(-6.99); add(-0.03);add(-0.15); add(-0.1); add(-0.68); add(-0.03);add(2.08);add(-0.68); add(-1.76); add(-1.46); add(3.26); add(3.34);add(-0.28);add(0.23); }} ); + STRUCTURE.put("CCTGC",new ArrayList() {{add(5.52); add(-5.92); add(31.18); add(33.94); add(-3.15); add(2.96); add(-6.71); add(-0.02);add(-2.46); add(-0.1); add(-0.52); add(-0.02);add(2.28);add(-0.70);add(-1.78);add(-1.40); add(3.31); add(3.25);add(-0.31);add(0.27); }} ); + STRUCTURE.put("CCTGT",new ArrayList() {{add(5.29); add(-6.78); add(31.34); add(34.61); add(-2.48); add(4.68); add(-6.94); add(-0.03);add(-2.15); add(-0.08); add(-0.41); add(-0.07);add(2.61);add(-0.61); add(-1.76); add(-1.44); add(3.3); add(3.39);add(-0.27);add(0.24); }} ); + STRUCTURE.put("CCTGG",new ArrayList() {{add(5.4); add(-5.54); add(31.17); add(34.05); add(-2.87); add(2.39); add(-6.72); add(-0.02);add(-0.99); add(-0.09); add(-0.38); add(-0.05);add(2.36);add(-0.98);add(-1.75);add(-1.47); add(3.29); add(3.31);add(-0.24);add(0.24); }} ); + STRUCTURE.put("CCGAA",new ArrayList() {{add(5.38); add(-6.08); add(32.67); add(35.61); add(2.76); add(-0.53); add(-5.29); add(-0.04);add(-1.4); add(-0.27); add(0.34); add(-0.03);add(0.34);add(1.39);add(-1.59);add(-1.40); add(3.39); add(3.32);add(-0.08);add(-0.28); }} ); + STRUCTURE.put("CCGAC",new ArrayList() {{add(5.54); add(-6.74); add(32.81); add(35.42); add(3.41); add(-1.52); add(-5.11); add(-0.04);add(-2.19); add(-0.27); add(0.35); add(-0.05);add(0.79);add(-0.18); add(-1.55); add(-1.34); add(3.36); add(3.18);add(-0.12);add(-0.21); }} ); + STRUCTURE.put("CCGAT",new ArrayList() {{add(5.25); add(-7.15); add(32.57); add(35.6); add(3.63); add(-0.66); add(-5.15); add(-0.03);add(-4.16); add(-0.26); add(0.49); add(-0.11);add(0.94);add(0.20); add(-1.68); add(-1.49); add(3.47); add(3.3);add(-0.07);add(-0.20); }} ); + STRUCTURE.put("CCGAG",new ArrayList() {{add(5.65); add(-6.12); add(32.31); add(34.73); add(4.6); add(-0.49); add(-4.85); add(-0.03);add(-2.27); add(-0.27); add(0.47); add(-0.07);add(0.46);add(0.30);add(-1.63);add(-1.52); add(3.41); add(3.26);add(-0.05);add(-0.14); }} ); + STRUCTURE.put("CCGCA",new ArrayList() {{add(5.59); add(-4.13); add(33.13); add(35.63); add(2.75); add(-0.88); add(-4.82); add(-0.03);add(-1.35); add(-0.25); add(0.32); add(0.06);add(0.37);add(-0.73); add(-1.54); add(-1.47); add(3.32); add(3.36);add(-0.02);add(-0.03); }} ); + STRUCTURE.put("CCGCC",new ArrayList() {{add(5.29); add(-3.13); add(32.31); add(36.31); add(1.79); add(-2.02); add(-5.09); add(-0.03);add(-0.43); add(-0.25); add(0.42); add(0.04);add(0.19);add(-0.14);add(-1.63);add(-1.58); add(3.33); add(3.39);add(0.01);add(0.03); }} ); + STRUCTURE.put("CCGCT",new ArrayList() {{add(5.15); add(-3.78); add(32.34); add(36.72); add(2.44); add(-1.9); add(-5.0); add(-0.03);add(-2.0); add(-0.25); add(0.47); add(0.0);add(0.36);add(-1.25);add(-1.67);add(-1.63); add(3.39); add(3.43);add(0.05);add(-0.00); }} ); + STRUCTURE.put("CCGCG",new ArrayList() {{add(5.51); add(-4.25); add(32.35); add(35.54); add(2.68); add(-1.05); add(-4.76); add(-0.03);add(-1.65); add(-0.24); add(0.44); add(0.02);add(0.63);add(-0.37);add(-1.62);add(-1.54); add(3.33); add(3.38);add(-0.00);add(-0.02); }} ); + STRUCTURE.put("CCGTA",new ArrayList() {{add(5.33); add(-6.7); add(33.27); add(33.73); add(2.74); add(-2.19); add(-5.15); add(-0.02);add(-5.04); add(-0.26); add(0.54); add(0.01);add(0.82);add(-0.13); add(-1.59); add(-1.46); add(3.39); add(3.29);add(-0.04);add(-0.27); }} ); + STRUCTURE.put("CCGTC",new ArrayList() {{add(5.1); add(-7.15); add(33.08); add(34.1); add(3.11); add(-2.46); add(-5.29); add(-0.02);add(-5.66); add(-0.27); add(0.72); add(-0.04);add(0.78);add(0.30); add(-1.68); add(-1.5); add(3.46); add(3.33);add(-0.03);add(-0.27); }} ); + STRUCTURE.put("CCGTT",new ArrayList() {{add(4.62); add(-10.04); add(33.45); add(35.14); add(3.74); add(-3.07); add(-5.66); add(-0.02);add(-8.65); add(-0.26); add(1.06); add(-0.1);add(0.90);add(-0.39);add(-1.75);add(-1.51); add(3.59); add(3.39);add(-0.05);add(-0.45); }} ); + STRUCTURE.put("CCGTG",new ArrayList() {{add(5.1); add(-8.46); add(33.7); add(33.81); add(4.06); add(-2.43); add(-5.12); add(-0.02);add(-7.05); add(-0.26); add(0.67); add(-0.06);add(0.91);add(0.25);add(-1.67);add(-1.44); add(3.5); add(3.32);add(-0.04);add(-0.33); }} ); + STRUCTURE.put("CCGGA",new ArrayList() {{add(5.39); add(-3.19); add(32.84); add(33.6); add(1.31); add(-0.62); add(-4.9); add(-0.04); add(0.16); add(-0.25); add(0.26); add(0.06);add(-0.37);add(0.67); add(-1.62); add(-1.7); add(3.34); add(3.4);add(-0.00);add(0.03); }} ); + STRUCTURE.put("CCGGC",new ArrayList() {{add(5.36); add(-3.58); add(32.61); add(33.41); add(2.08); add(-1.33); add(-5.02); add(-0.04);add(-0.7); add(-0.25); add(0.28); add(0.03);add(0.08);add(0.13);add(-1.62);add(-1.71); add(3.34); add(3.33);add(0.01);add(0.10); }} ); + STRUCTURE.put("CCGGT",new ArrayList() {{add(5.16); add(-5.03); add(32.44); add(34.12); add(2.54); add(-0.44); add(-5.16); add(-0.04);add(-2.36); add(-0.25); add(0.36); add(0.0);add(0.17);add(0.35); add(-1.69); add(-1.7); add(3.41); add(3.4);add(-0.01);add(0.06); }} ); + STRUCTURE.put("CTAAA",new ArrayList() {{add(5.82); add(-11.18); add(34.35); add(35.72); add(6.08); add(-1.41); add(-6.93); add(-0.02); add(0.97); add(0.08); add(-1.01); add(-0.2);add(1.30);add(-1.02); add(-1.33); add(-1.03); add(3.36); add(3.15);add(-0.13);add(-0.29); }} ); + STRUCTURE.put("CTAAC",new ArrayList() {{add(5.8); add(-10.65); add(34.54); add(35.18); add(5.73); add(-2.89); add(-7.07); add(-0.03); add(1.01); add(0.1); add(-1.16); add(-0.15);add(1.22);add(-1.52);add(-1.31);add(-1.12); add(3.32); add(3.06);add(-0.13);add(-0.10); }} ); + STRUCTURE.put("CTAAT",new ArrayList() {{add(5.57); add(-11.58); add(34.46); add(35.33); add(7.71); add(-1.62); add(-7.23); add(-0.02);add(-3.27); add(0.09); add(-0.87); add(-0.26);add(1.43);add(-1.84); add(-1.45); add(-1.21); add(3.46); add(3.16);add(-0.10);add(-0.17); }} ); + STRUCTURE.put("CTACA",new ArrayList() {{add(5.74); add(-8.6); add(35.06); add(33.91); add(3.24); add(-3.23); add(-6.73); add(-0.02); add(2.29); add(0.13); add(-1.56); add(0.09);add(-0.07);add(-0.43); add(-1.29); add(-1.48); add(3.2); add(3.31);add(-0.06);add(0.31); }} ); + STRUCTURE.put("CTACC",new ArrayList() {{add(5.55); add(-8.07); add(34.3); add(34.52); add(4.24); add(-2.63); add(-7.09); add(-0.03); add(2.17); add(0.12); add(-0.66); add(0.03);add(-0.07);add(-0.60);add(-1.40);add(-1.56); add(3.25); add(3.35);add(-0.03);add(0.22); }} ); + STRUCTURE.put("CTACT",new ArrayList() {{add(5.2); add(-8.16); add(34.13); add(35.18); add(4.64); add(-4.12); add(-7.43); add(-0.02); add(2.32); add(0.12); add(-0.46); add(0.03);add(-0.14);add(-1.49); add(-1.43); add(-1.71); add(3.3); add(3.44);add(0.06);add(0.24); }} ); + STRUCTURE.put("CTATA",new ArrayList() {{add(5.79); add(-7.69); add(34.63); add(31.96); add(5.66); add(-3.1); add(-6.87); add(-0.02);add(-3.51); add(0.1); add(-0.67); add(-0.03);add(0.12);add(-0.08); add(-1.44); add(-1.5); add(3.33); add(3.19);add(-0.02);add(-0.01); }} ); + STRUCTURE.put("CTATC",new ArrayList() {{add(5.54); add(-8.88); add(33.89); add(32.43); add(6.28); add(-4.19); add(-7.11); add(-0.01);add(-1.96); add(0.11); add(-0.36); add(-0.08);add(-0.03);add(0.45);add(-1.50);add(-1.55); add(3.36); add(3.25);add(-0.04);add(0.05); }} ); + STRUCTURE.put("CTATT",new ArrayList() {{add(4.65); add(-11.61); add(35.89); add(33.54); add(3.47); add(-5.98); add(-7.51); add(0.01);add(-4.51); add(0.13); add(-1.0); add(-0.14);add(0.61);add(-0.38); add(-1.37); add(-1.48); add(3.4); add(3.3);add(-0.12);add(-0.13); }} ); + STRUCTURE.put("CTATG",new ArrayList() {{add(5.53); add(-8.2); add(35.03); add(31.84); add(5.41); add(-3.65); add(-7.21); add(-0.01);add(-3.06); add(0.09); add(-0.51); add(-0.07);add(-0.06);add(0.49);add(-1.48);add(-1.47); add(3.39); add(3.2);add(-0.03);add(-0.06); }} ); + STRUCTURE.put("CTAGA",new ArrayList() {{add(5.84); add(-6.98); add(34.35); add(31.57); add(5.27); add(-1.22); add(-6.63); add(-0.03); add(0.19); add(0.1); add(-0.86); add(0.0);add(-0.02);add(-1.77); add(-1.44); add(-1.69); add(3.29); add(3.28);add(-0.00);add(0.18); }} ); + STRUCTURE.put("CTAGC",new ArrayList() {{add(5.67); add(-6.54); add(34.66); add(31.36); add(4.03); add(-2.24); add(-6.87); add(-0.03);add(-0.72); add(0.11); add(-0.88); add(0.0);add(0.07);add(-1.82); add(-1.46); add(-1.7); add(3.29); add(3.23);add(-0.02);add(0.21); }} ); + STRUCTURE.put("CTAGT",new ArrayList() {{add(5.13); add(-7.44); add(35.0); add(32.22); add(3.55); add(-2.86); add(-7.36); add(-0.02); add(0.32); add(0.11); add(-0.52); add(-0.01);add(-0.04);add(-1.56); add(-1.47); add(-1.78); add(3.32); add(3.39);add(0.04);add(0.22); }} ); + STRUCTURE.put("CTCAA",new ArrayList() {{add(5.9); add(-6.36); add(34.56); add(34.65); add(-0.68); add(5.89); add(-5.39); add(-0.04); add(2.26); add(0.27); add(0.2); add(0.01);add(-0.80);add(1.87); add(-1.54); add(-1.13); add(3.26); add(3.38);add(0.18);add(-0.46); }} ); + STRUCTURE.put("CTCAC",new ArrayList() {{add(5.8); add(-6.5); add(34.92); add(34.48); add(-0.77); add(4.33); add(-5.12); add(-0.04); add(1.63); add(0.27); add(0.25); add(0.02);add(-0.84);add(0.67);add(-1.51);add(-1.26); add(3.28); add(3.3);add(0.16);add(-0.28); }} ); + STRUCTURE.put("CTCAT",new ArrayList() {{add(5.23); add(-6.05); add(35.1); add(34.93); add(-1.52); add(5.69); add(-5.38); add(-0.05); add(2.42); add(0.28); add(0.26); add(-0.03);add(-0.69);add(1.17); add(-1.54); add(-1.47); add(3.26); add(3.5);add(0.16);add(-0.33); }} ); + STRUCTURE.put("CTCAG",new ArrayList() {{add(5.56); add(-6.08); add(34.84); add(34.47); add(-0.89); add(4.27); add(-5.09); add(-0.04); add(1.97); add(0.27); add(0.28); add(0.0);add(-0.80);add(0.60); add(-1.54); add(-1.41); add(3.27); add(3.36);add(0.15);add(-0.26); }} ); + STRUCTURE.put("CTCCA",new ArrayList() {{add(5.02); add(-5.45); add(35.8); add(33.85); add(-1.81); add(-0.86); add(-5.61); add(-0.05); add(1.36); add(0.29); add(0.27); add(-0.05);add(-0.52);add(-1.25); add(-1.5); add(-1.78); add(3.27); add(3.44);add(0.12);add(-0.02); }} ); + STRUCTURE.put("CTCCC",new ArrayList() {{add(4.85); add(-4.6); add(35.58); add(33.49); add(-1.87); add(-1.0); add(-5.23); add(-0.05); add(2.36); add(0.3); add(0.37); add(-0.09);add(-0.70);add(-0.87);add(-1.56);add(-1.88); add(3.29); add(3.47);add(0.14);add(-0.00); }} ); + STRUCTURE.put("CTCCT",new ArrayList() {{add(4.63); add(-4.81); add(36.23); add(34.13); add(-2.62); add(-1.32); add(-5.59); add(-0.05); add(0.81); add(0.31); add(0.43); add(-0.07);add(-0.47);add(-1.90); add(-1.51); add(-1.88); add(3.3); add(3.5);add(0.12);add(-0.04); }} ); + STRUCTURE.put("CTCTA",new ArrayList() {{add(5.41); add(-3.22); add(35.31); add(31.4); add(-0.44); add(-1.35); add(-5.27); add(-0.03);add(-2.92); add(0.26); add(0.19); add(0.1);add(-1.79);add(1.61);add(-1.64);add(-1.72); add(3.38); add(3.29);add(0.15);add(-0.21); }} ); + STRUCTURE.put("CTCTC",new ArrayList() {{add(4.93); add(-2.54); add(35.65); add(31.39); add(-1.9); add(-1.93); add(-5.81); add(-0.03);add(-2.1); add(0.27); add(0.25); add(0.08);add(-1.73);add(1.97);add(-1.65);add(-1.75); add(3.37); add(3.32);add(0.13);add(-0.19); }} ); + STRUCTURE.put("CTCTT",new ArrayList() {{add(4.68); add(-3.22); add(35.92); add(32.31); add(-1.36); add(-1.76); add(-5.82); add(-0.03);add(-3.02); add(0.28); add(0.32); add(0.09);add(-1.96);add(2.12); add(-1.66); add(-1.81); add(3.41); add(3.43);add(0.15);add(-0.26); }} ); + STRUCTURE.put("CTCTG",new ArrayList() {{add(5.14); add(-3.06); add(35.6); add(31.18); add(-1.0); add(-1.81); add(-5.67); add(-0.03);add(-2.74); add(0.26); add(0.2); add(0.1);add(-1.75);add(2.20); add(-1.63); add(-1.69); add(3.37); add(3.3);add(0.14);add(-0.21); }} ); + STRUCTURE.put("CTCGA",new ArrayList() {{add(5.42); add(-6.72); add(35.17); add(33.01); add(-1.2); add(5.47); add(-4.91); add(-0.03); add(3.64); add(0.26); add(0.48); add(-0.09);add(-0.53);add(-0.16);add(-1.54);add(-1.60); add(3.3); add(3.49);add(0.20);add(-0.02); }} ); + STRUCTURE.put("CTCGC",new ArrayList() {{add(5.46); add(-6.31); add(35.13); add(32.59); add(-1.17); add(4.38); add(-5.13); add(-0.03); add(1.79); add(0.26); add(0.37); add(-0.05);add(-0.23);add(-0.30); add(-1.48); add(-1.58); add(3.25); add(3.39);add(0.13);add(0.07); }} ); + STRUCTURE.put("CTCGT",new ArrayList() {{add(5.13); add(-6.5); add(35.94); add(33.69); add(-2.01); add(4.47); add(-5.41); add(-0.05); add(2.02); add(0.29); add(0.37); add(-0.07);add(-0.07);add(-0.15); add(-1.43); add(-1.59); add(3.25); add(3.48);add(0.13);add(0.06); }} ); + STRUCTURE.put("CTTAA",new ArrayList() {{add(5.58); add(-9.57); add(34.68); add(34.81); add(-3.71); add(6.23); add(-7.24); add(-0.02); add(2.04); add(-0.11); add(-1.25); add(-0.15);add(1.51);add(-0.08); add(-1.29); add(-1.27); add(3.1); add(3.42);add(0.05);add(-0.03); }} ); + STRUCTURE.put("CTTAC",new ArrayList() {{add(5.62); add(-10.31); add(34.87); add(34.34); add(-3.24); add(5.9); add(-7.23); add(-0.02); add(0.91); add(-0.1); add(-1.14); add(-0.17);add(1.66);add(-1.31); add(-1.26); add(-1.33); add(3.1); add(3.32);add(0.04);add(0.10); }} ); + STRUCTURE.put("CTTAT",new ArrayList() {{add(5.48); add(-10.54); add(35.03); add(35.15); add(-3.47); add(6.31); add(-7.46); add(-0.03); add(1.0); add(-0.1); add(-1.08); add(-0.23);add(1.81);add(-1.34); add(-1.28); add(-1.41); add(3.11); add(3.46);add(0.01);add(0.11); }} ); + STRUCTURE.put("CTTAG",new ArrayList() {{add(5.49); add(-10.31); add(35.04); add(34.71); add(-3.25); add(6.02); add(-7.36); add(-0.03); add(1.08); add(-0.1); add(-1.07); add(-0.21);add(1.86);add(-1.31); add(-1.24); add(-1.39); add(3.09); add(3.4);add(0.05);add(0.12); }} ); + STRUCTURE.put("CTTCA",new ArrayList() {{add(5.15); add(-10.24); add(35.14); add(35.1); add(-3.01); add(0.22); add(-7.47); add(-0.03);add(-0.32); add(-0.1); add(-1.14); add(-0.23);add(2.15);add(-1.93); add(-1.26); add(-1.48); add(3.14); add(3.36);add(0.03);add(0.29); }} ); + STRUCTURE.put("CTTCC",new ArrayList() {{add(4.63); add(-9.44); add(35.02); add(35.39); add(-3.81); add(-0.61); add(-7.65); add(-0.03); add(1.46); add(-0.08); add(-0.52); add(-0.29);add(2.17);add(-1.84);add(-1.26);add(-1.52); add(3.13); add(3.42);add(0.05);add(0.33); }} ); + STRUCTURE.put("CTTCT",new ArrayList() {{add(4.5); add(-10.3); add(35.47); add(36.79); add(-4.1); add(-1.65); add(-7.97); add(-0.03);add(-0.82); add(-0.07); add(-0.32); add(-0.27);add(2.31);add(-3.21); add(-1.25); add(-1.54); add(3.17); add(3.49);add(0.02);add(0.29); }} ); + STRUCTURE.put("CTTTA",new ArrayList() {{add(4.7); add(-12.85); add(36.11); add(35.7); add(-3.87); add(-1.56); add(-8.13); add(-0.03);add(-6.34); add(-0.15); add(-1.72); add(-0.11);add(1.82);add(0.98); add(-1.25); add(-1.07); add(3.2); add(3.17);add(-0.13);add(0.23); }} ); + STRUCTURE.put("CTTTC",new ArrayList() {{add(4.36); add(-11.93); add(36.1); add(35.91); add(-4.95); add(-3.0); add(-8.88); add(-0.02);add(-5.43); add(-0.15); add(-1.54); add(-0.13);add(1.87);add(1.31); add(-1.26); add(-1.08); add(3.19); add(3.17);add(-0.13);add(0.23); }} ); + STRUCTURE.put("CTTTT",new ArrayList() {{add(3.68); add(-14.68); add(37.18); add(37.02); add(-6.47); add(-4.23); add(-10.39); add(0.01);add(-7.39); add(-0.17); add(-2.3); add(-0.13);add(1.85);add(1.10); add(-1.23); add(-1.05); add(3.24); add(3.23);add(-0.20);add(0.11); }} ); + STRUCTURE.put("CTTTG",new ArrayList() {{add(4.52); add(-12.85); add(36.3); add(35.41); add(-4.84); add(-2.8); add(-8.76); add(-0.03);add(-6.77); add(-0.15); add(-1.91); add(-0.11);add(1.90);add(1.50); add(-1.27); add(-1.06); add(3.2); add(3.16);add(-0.19);add(0.17); }} ); + STRUCTURE.put("CTTGA",new ArrayList() {{add(5.4); add(-9.98); add(34.76); add(34.53); add(-3.44); add(5.51); add(-7.32); add(-0.03);add(-0.06); add(-0.1); add(-1.46); add(-0.24);add(2.16);add(-1.67); add(-1.23); add(-1.26); add(3.12); add(3.42);add(-0.01);add(0.46); }} ); + STRUCTURE.put("CTTGC",new ArrayList() {{add(5.45); add(-9.9); add(34.89); add(34.37); add(-3.39); add(4.47); add(-7.19); add(-0.03);add(-0.29); add(-0.09); add(-1.05); add(-0.24);add(2.25);add(-2.32); add(-1.21); add(-1.29); add(3.12); add(3.35);add(0.01);add(0.42); }} ); + STRUCTURE.put("CTTGT",new ArrayList() {{add(5.19); add(-10.72); add(35.05); add(35.43); add(-3.95); add(5.65); add(-7.49); add(-0.03);add(-0.56); add(-0.09); add(-1.08); add(-0.26);add(2.48);add(-2.00); add(-1.21); add(-1.28); add(3.11); add(3.47);add(-0.04);add(0.46); }} ); + STRUCTURE.put("CTGAA",new ArrayList() {{add(5.93); add(-5.95); add(34.21); add(35.08); add(5.37); add(0.57); add(-5.01); add(-0.04); add(0.12); add(-0.28); add(0.25); add(0.05);add(-1.15);add(1.77);add(-1.38);add(-1.42); add(3.35); add(3.32);add(0.28);add(-0.34); }} ); + STRUCTURE.put("CTGAC",new ArrayList() {{add(5.67); add(-6.43); add(34.37); add(35.2); add(4.57); add(-1.29); add(-5.23); add(-0.04);add(-1.24); add(-0.28); add(0.27); add(0.02);add(-0.65);add(0.47); add(-1.38); add(-1.4); add(3.34); add(3.21);add(0.22);add(-0.22); }} ); + STRUCTURE.put("CTGAT",new ArrayList() {{add(5.34); add(-6.55); add(34.24); add(35.8); add(4.36); add(-0.36); add(-5.47); add(-0.04);add(-2.15); add(-0.27); add(0.39); add(-0.01);add(-0.63);add(0.90);add(-1.44);add(-1.53); add(3.38); add(3.35);add(0.27);add(-0.25); }} ); + STRUCTURE.put("CTGCA",new ArrayList() {{add(5.79); add(-3.68); add(34.5); add(35.64); add(3.43); add(-0.7); add(-5.0); add(-0.04);add(-0.33); add(-0.26); add(0.26); add(0.12);add(-1.10);add(-0.16);add(-1.37);add(-1.53); add(3.28); add(3.37);add(0.26);add(-0.03); }} ); + STRUCTURE.put("CTGCC",new ArrayList() {{add(5.41); add(-3.2); add(33.75); add(36.22); add(3.38); add(-1.34); add(-5.08); add(-0.03);add(-0.44); add(-0.26); add(0.33); add(0.09);add(-1.01);add(0.17);add(-1.47);add(-1.60); add(3.31); add(3.39);add(0.29);add(0.01); }} ); + STRUCTURE.put("CTGCT",new ArrayList() {{add(5.16); add(-3.6); add(33.86); add(36.97); add(3.76); add(-2.72); add(-5.7); add(-0.03);add(-1.1); add(-0.25); add(0.36); add(0.08);add(-1.31);add(-0.62); add(-1.51); add(-1.68); add(3.39); add(3.45);add(0.36);add(0.03); }} ); + STRUCTURE.put("CTGTA",new ArrayList() {{add(5.41); add(-6.49); add(34.82); add(33.82); add(3.96); add(-1.95); add(-5.31); add(-0.03);add(-4.11); add(-0.28); add(0.46); add(0.09);add(-0.96);add(0.46); add(-1.39); add(-1.49); add(3.34); add(3.3);add(0.26);add(-0.26); }} ); + STRUCTURE.put("CTGTC",new ArrayList() {{add(5.26); add(-6.88); add(34.79); add(34.25); add(3.98); add(-2.46); add(-5.58); add(-0.03);add(-4.78); add(-0.27); add(0.52); add(0.04);add(-0.66);add(0.68); add(-1.44); add(-1.51); add(3.38); add(3.34);add(0.27);add(-0.29); }} ); + STRUCTURE.put("CTGTT",new ArrayList() {{add(4.95); add(-9.26); add(34.91); add(34.88); add(5.23); add(-2.4); add(-5.75); add(-0.02);add(-6.85); add(-0.27); add(0.73); add(-0.01);add(-0.49);add(0.37); add(-1.49); add(-1.54); add(3.46); add(3.4);add(0.27);add(-0.40); }} ); + STRUCTURE.put("CTGTG",new ArrayList() {{add(5.32); add(-8.12); add(35.2); add(33.74); add(4.99); add(-2.15); add(-5.48); add(-0.03);add(-6.1); add(-0.27); add(0.5); add(0.02);add(-0.71);add(0.75); add(-1.44); add(-1.46); add(3.44); add(3.33);add(0.27);add(-0.33); }} ); + STRUCTURE.put("CTGGA",new ArrayList() {{add(5.31); add(-2.98); add(33.98); add(33.74); add(2.8); add(-0.76); add(-5.28); add(-0.04); add(1.12); add(-0.27); add(0.24); add(0.1);add(-1.98);add(1.21);add(-1.53);add(-1.79); add(3.36); add(3.42);add(0.32);add(0.06); }} ); + STRUCTURE.put("CTGGC",new ArrayList() {{add(5.43); add(-3.34); add(34.28); add(33.53); add(2.79); add(-1.52); add(-5.19); add(-0.04); add(0.08); add(-0.27); add(0.2); add(0.09);add(-1.45);add(0.52);add(-1.47);add(-1.74); add(3.34); add(3.33);add(0.30);add(0.10); }} ); + STRUCTURE.put("CTGGT",new ArrayList() {{add(5.19); add(-4.44); add(34.21); add(34.39); add(3.13); add(-0.64); add(-5.3); add(-0.04);add(-0.67); add(-0.26); add(0.24); add(0.07);add(-1.51);add(0.75);add(-1.53);add(-1.76); add(3.38); add(3.42);add(0.30);add(0.05); }} ); + STRUCTURE.put("CGAAA",new ArrayList() {{add(4.98); add(-10.58); add(35.62); add(35.88); add(-0.38); add(-2.61); add(-8.32); add(-0.03); add(0.83); add(0.1); add(-1.21); add(-0.22);add(1.50);add(-1.14); add(-1.38); add(-1.09); add(3.32); add(3.18);add(-0.28);add(-0.20); }} ); + STRUCTURE.put("CGAAC",new ArrayList() {{add(5.1); add(-10.48); add(35.61); add(35.58); add(-0.26); add(-3.31); add(-7.64); add(-0.02); add(1.63); add(0.1); add(-1.08); add(-0.18);add(1.18);add(-1.83); add(-1.35); add(-1.13); add(3.3); add(3.1);add(-0.30);add(-0.08); }} ); + STRUCTURE.put("CGAAT",new ArrayList() {{add(4.88); add(-10.56); add(35.52); add(35.86); add(-0.24); add(-2.98); add(-7.92); add(-0.03);add(-0.84); add(0.1); add(-1.03); add(-0.25);add(1.78);add(-2.03); add(-1.45); add(-1.21); add(3.36); add(3.17);add(-0.26);add(-0.12); }} ); + STRUCTURE.put("CGAAG",new ArrayList() {{add(4.92); add(-9.8); add(35.23); add(35.11); add(-0.16); add(-3.7); add(-7.77); add(-0.03);add(-0.1); add(0.1); add(-1.02); add(-0.22);add(1.45);add(-1.98); add(-1.45); add(-1.27); add(3.33); add(3.13);add(-0.28);add(-0.01); }} ); + STRUCTURE.put("CGACA",new ArrayList() {{add(5.28); add(-8.25); add(35.73); add(34.23); add(-1.7); add(-2.39); add(-7.15); add(-0.03); add(3.88); add(0.11); add(-0.77); add(0.05);add(-0.25);add(-0.72); add(-1.31); add(-1.5); add(3.18); add(3.33);add(-0.20);add(0.28); }} ); + STRUCTURE.put("CGACC",new ArrayList() {{add(4.82); add(-8.09); add(35.73); add(34.74); add(-2.17); add(-3.5); add(-7.74); add(-0.02); add(4.43); add(0.11); add(-0.43); add(0.02);add(0.17);add(-0.55); add(-1.35); add(-1.57); add(3.2); add(3.38);add(-0.13);add(0.28); }} ); + STRUCTURE.put("CGACT",new ArrayList() {{add(4.59); add(-8.15); add(35.38); add(35.27); add(-2.31); add(-4.46); add(-7.96); add(-0.02); add(3.72); add(0.12); add(-0.12); add(-0.01);add(0.42);add(-1.82); add(-1.41); add(-1.72); add(3.23); add(3.48);add(-0.07);add(0.26); }} ); + STRUCTURE.put("CGATA",new ArrayList() {{add(5.32); add(-7.63); add(35.68); add(31.89); add(-0.47); add(-3.35); add(-7.12); add(-0.02);add(-2.58); add(0.1); add(-0.73); add(-0.06);add(0.02);add(-0.19); add(-1.47); add(-1.49); add(3.29); add(3.2);add(-0.22);add(0.04); }} ); + STRUCTURE.put("CGATC",new ArrayList() {{add(4.96); add(-7.79); add(35.54); add(32.29); add(-0.57); add(-4.15); add(-7.6); add(-0.02);add(-2.49); add(0.1); add(-0.61); add(-0.11);add(0.47);add(0.11); add(-1.5); add(-1.5); add(3.31); add(3.23);add(-0.19);add(0.02); }} ); + STRUCTURE.put("CGATT",new ArrayList() {{add(4.56); add(-9.51); add(36.19); add(32.89); add(-0.8); add(-4.9); add(-7.97); add(-0.02);add(-4.39); add(0.11); add(-0.49); add(-0.17);add(0.87);add(-0.58); add(-1.52); add(-1.54); add(3.38); add(3.29);add(-0.22);add(-0.13); }} ); + STRUCTURE.put("CGATG",new ArrayList() {{add(4.94); add(-8.32); add(35.83); add(32.14); add(-0.95); add(-4.47); add(-7.67); add(-0.02);add(-1.54); add(0.1); add(-0.64); add(-0.1);add(0.36);add(0.42); add(-1.48); add(-1.47); add(3.31); add(3.23);add(-0.23);add(0.01); }} ); + STRUCTURE.put("CGAGA",new ArrayList() {{add(5.17); add(-6.8); add(35.18); add(31.51); add(-1.21); add(-1.9); add(-7.13); add(-0.02); add(1.53); add(0.1); add(-0.68); add(-0.03);add(0.16);add(-2.04); add(-1.47); add(-1.72); add(3.24); add(3.32);add(-0.14);add(0.23); }} ); + STRUCTURE.put("CGAGC",new ArrayList() {{add(5.2); add(-6.78); add(35.31); add(31.41); add(-1.22); add(-2.22); add(-7.17); add(-0.03); add(1.11); add(0.1); add(-0.64); add(-0.04);add(0.17);add(-2.14); add(-1.47); add(-1.73); add(3.25); add(3.28);add(-0.15);add(0.23); }} ); + STRUCTURE.put("CGAGT",new ArrayList() {{add(4.93); add(-7.78); add(35.21); add(31.96); add(-1.04); add(-1.9); add(-7.3); add(-0.02); add(0.72); add(0.11); add(-0.47); add(-0.08);add(0.48);add(-2.21); add(-1.51); add(-1.77); add(3.28); add(3.37);add(-0.14);add(0.22); }} ); + STRUCTURE.put("CGCAA",new ArrayList() {{add(5.81); add(-4.14); add(35.42); add(34.85); add(-0.77); add(4.82); add(-5.2); add(-0.04); add(1.45); add(0.25); add(0.18); add(0.11);add(-0.32);add(2.21); add(-1.51); add(-1.21); add(3.36); add(3.35);add(0.02);add(-0.45); }} ); + STRUCTURE.put("CGCAC",new ArrayList() {{add(5.88); add(-4.13); add(35.54); add(34.69); add(-0.64); add(3.27); add(-4.96); add(-0.04);add(-0.12); add(0.25); add(0.16); add(0.15);add(-0.60);add(1.08); add(-1.48); add(-1.2); add(3.36); add(3.2);add(-0.04);add(-0.30); }} ); + STRUCTURE.put("CGCAT",new ArrayList() {{add(5.6); add(-4.03); add(35.58); add(35.0); add(-0.76); add(5.09); add(-4.96); add(-0.04);add(-0.12); add(0.27); add(0.25); add(0.1);add(-0.34);add(1.47); add(-1.54); add(-1.37); add(3.37); add(3.37);add(0.01);add(-0.35); }} ); + STRUCTURE.put("CGCAG",new ArrayList() {{add(5.67); add(-3.85); add(35.64); add(34.24); add(-0.89); add(3.64); add(-5.01); add(-0.04); add(0.59); add(0.26); add(0.24); add(0.1);add(-0.30);add(1.00); add(-1.52); add(-1.39); add(3.36); add(3.29);add(0.01);add(-0.27); }} ); + STRUCTURE.put("CGCCA",new ArrayList() {{add(5.06); add(-2.98); add(36.34); add(33.36); add(-1.9); add(-1.66); add(-5.16); add(-0.04);add(-0.47); add(0.28); add(0.32); add(0.06);add(-0.16);add(-0.56);add(-1.56);add(-1.75); add(3.4); add(3.34);add(0.02);add(-0.10); }} ); + STRUCTURE.put("CGCCC",new ArrayList() {{add(4.96); add(-2.89); add(36.18); add(33.85); add(-1.66); add(-1.63); add(-5.14); add(-0.04); add(0.09); add(0.28); add(0.32); add(0.05);add(-0.10);add(-0.41); add(-1.57); add(-1.76); add(3.39); add(3.36);add(0.02);add(-0.08); }} ); + STRUCTURE.put("CGCCT",new ArrayList() {{add(4.77); add(-2.82); add(36.31); add(34.34); add(-2.16); add(-2.1); add(-5.21); add(-0.04);add(-0.23); add(0.3); add(0.4); add(0.02);add(0.14);add(-1.30);add(-1.60);add(-1.85); add(3.4); add(3.44);add(0.05);add(-0.08); }} ); + STRUCTURE.put("CGCCG",new ArrayList() {{add(5.09); add(-3.17); add(36.24); add(33.59); add(-1.46); add(-1.33); add(-5.17); add(-0.04);add(-0.28); add(0.27); add(0.24); add(0.07);add(-0.16);add(-0.13); add(-1.55); add(-1.7); add(3.38); add(3.33);add(0.01);add(-0.09); }} ); + STRUCTURE.put("CGCTA",new ArrayList() {{add(5.22); add(-1.63); add(36.72); add(31.38); add(-1.71); add(-2.2); add(-5.26); add(-0.02);add(-4.15); add(0.25); add(0.22); add(0.18);add(-1.23);add(1.66); add(-1.62); add(-1.69); add(3.44); add(3.23);add(-0.01);add(-0.22); }} ); + STRUCTURE.put("CGCTC",new ArrayList() {{add(5.02); add(-1.32); add(36.68); add(31.47); add(-1.98); add(-1.89); add(-5.41); add(-0.02);add(-3.69); add(0.25); add(0.25); add(0.16);add(-1.10);add(2.26); add(-1.64); add(-1.72); add(3.44); add(3.27);add(0.01);add(-0.21); }} ); + STRUCTURE.put("CGCTT",new ArrayList() {{add(4.63); add(-1.91); add(37.15); add(32.27); add(-2.72); add(-2.38); add(-5.65); add(-0.03);add(-4.12); add(0.26); add(0.27); add(0.17);add(-1.05);add(2.11); add(-1.65); add(-1.76); add(3.46); add(3.38);add(0.01);add(-0.31); }} ); + STRUCTURE.put("CGCTG",new ArrayList() {{add(5.13); add(-1.72); add(36.67); add(31.2); add(-1.69); add(-1.93); add(-5.29); add(-0.03);add(-3.57); add(0.24); add(0.19); add(0.17);add(-1.13);add(2.46); add(-1.63); add(-1.67); add(3.43); add(3.26);add(-0.00);add(-0.23); }} ); + STRUCTURE.put("CGCGA",new ArrayList() {{add(5.42); add(-4.27); add(35.66); add(32.65); add(-1.33); add(4.5); add(-4.75); add(-0.03); add(1.22); add(0.25); add(0.4); add(0.03);add(0.24);add(0.21);add(-1.56);add(-1.55); add(3.39); add(3.38);add(0.02);add(-0.09); }} ); + STRUCTURE.put("CGCGC",new ArrayList() {{add(5.54); add(-4.22); add(35.7); add(32.44); add(-1.15); add(3.12); add(-4.81); add(-0.03); add(0.36); add(0.25); add(0.4); add(0.04);add(0.12);add(-0.11);add(-1.55);add(-1.57); add(3.39); add(3.31);add(-0.00);add(-0.01); }} ); + STRUCTURE.put("CGCGT",new ArrayList() {{add(5.2); add(-4.73); add(35.9); add(33.2); add(-1.39); add(4.51); add(-4.86); add(-0.03); add(1.59); add(0.27); add(0.46); add(0.0);add(0.41);add(0.33);add(-1.56);add(-1.65); add(3.4); add(3.47);add(0.03);add(-0.03); }} ); + STRUCTURE.put("CGTAA",new ArrayList() {{add(6.11); add(-7.71); add(33.58); add(34.26); add(-1.95); add(6.35); add(-6.77); add(-0.03);add(-0.6); add(-0.11); add(-0.99); add(0.1);add(0.01);add(1.40);add(-1.48);add(-1.25); add(3.29); add(3.29);add(-0.22);add(-0.12); }} ); + STRUCTURE.put("CGTAC",new ArrayList() {{add(5.93); add(-8.84); add(33.97); add(34.2); add(-2.11); add(4.68); add(-6.61); add(-0.03);add(-2.91); add(-0.12); add(-0.84); add(0.07);add(0.11);add(-0.11);add(-1.50);add(-1.30); add(3.32); add(3.18);add(-0.26);add(-0.00); }} ); + STRUCTURE.put("CGTAT",new ArrayList() {{add(5.53); add(-9.05); add(34.16); add(34.59); add(-2.22); add(5.89); add(-6.78); add(-0.02);add(-3.3); add(-0.11); add(-0.6); add(0.0);add(0.54);add(-0.07);add(-1.54);add(-1.38); add(3.34); add(3.32);add(-0.23);add(-0.00); }} ); + STRUCTURE.put("CGTAG",new ArrayList() {{add(5.77); add(-8.43); add(34.02); add(34.25); add(-2.16); add(4.93); add(-6.73); add(-0.03);add(-2.39); add(-0.11); add(-0.68); add(0.03);add(0.37);add(-0.09);add(-1.51);add(-1.37); add(3.32); add(3.24);add(-0.21);add(0.02); }} ); + STRUCTURE.put("CGTCA",new ArrayList() {{add(5.39); add(-8.47); add(34.29); add(35.16); add(-2.4); add(-1.16); add(-7.05); add(-0.02);add(-4.3); add(-0.11); add(-0.72); add(0.03);add(0.30);add(-0.42); add(-1.49); add(-1.38); add(3.33); add(3.19);add(-0.27);add(0.23); }} ); + STRUCTURE.put("CGTCC",new ArrayList() {{add(5.02); add(-8.11); add(34.01); add(36.13); add(-2.49); add(-1.8); add(-7.29); add(-0.02);add(-3.23); add(-0.1); add(-0.3); add(-0.01);add(0.54);add(-0.31); add(-1.51); add(-1.38); add(3.33); add(3.23);add(-0.23);add(0.22); }} ); + STRUCTURE.put("CGTCT",new ArrayList() {{add(4.83); add(-8.81); add(34.44); add(36.41); add(-2.95); add(-2.02); add(-7.44); add(-0.01);add(-5.23); add(-0.09); add(0.11); add(-0.03);add(0.79);add(-1.48);add(-1.54);add(-1.46); add(3.37); add(3.3);add(-0.22);add(0.21); }} ); + STRUCTURE.put("CGTCG",new ArrayList() {{add(5.19); add(-8.49); add(34.26); add(35.57); add(-2.51); add(-1.47); add(-7.18); add(-0.02);add(-4.23); add(-0.11); add(-0.67); add(0.03);add(0.36);add(0.04); add(-1.49); add(-1.33); add(3.34); add(3.19);add(-0.26);add(0.21); }} ); + STRUCTURE.put("CGTTA",new ArrayList() {{add(5.15); add(-11.31); add(34.89); add(35.27); add(-2.83); add(-2.63); add(-7.51); add(-0.02);add(-10.2); add(-0.15); add(-1.24); add(0.1);add(-0.36);add(1.52); add(-1.51); add(-1.09); add(3.38); add(3.05);add(-0.45);add(0.15); }} ); + STRUCTURE.put("CGTTC",new ArrayList() {{add(4.74); add(-11.06); add(34.9); add(35.71); add(-2.93); add(-2.93); add(-7.82); add(-0.02);add(-9.67); add(-0.15); add(-1.02); add(0.08);add(-0.04);add(1.93); add(-1.53); add(-1.09); add(3.4); add(3.08);add(-0.40);add(0.12); }} ); + STRUCTURE.put("CGTTT",new ArrayList() {{add(4.43); add(-13.15); add(35.48); add(36.57); add(-3.27); add(-2.94); add(-8.27); add(-0.01);add(-12.34); add(-0.15); add(-0.89); add(0.12);add(-0.42);add(1.75); add(-1.53); add(-1.07); add(3.43); add(3.15);add(-0.49);add(-0.02); }} ); + STRUCTURE.put("CGTTG",new ArrayList() {{add(4.98); add(-11.71); add(35.1); add(35.01); add(-2.83); add(-2.97); add(-7.6); add(-0.03);add(-10.17); add(-0.16); add(-1.48); add(0.09);add(-0.25);add(2.23);add(-1.53);add(-1.08); add(3.4); add(3.06);add(-0.45);add(0.09); }} ); + STRUCTURE.put("CGTGA",new ArrayList() {{add(5.71); add(-8.08); add(33.8); add(34.66); add(-2.49); add(4.27); add(-6.73); add(-0.03);add(-4.05); add(-0.11); add(-0.98); add(0.03);add(0.45);add(-0.72); add(-1.45); add(-1.17); add(3.31); add(3.25);add(-0.29);add(0.29); }} ); + STRUCTURE.put("CGTGC",new ArrayList() {{add(5.74); add(-8.4); add(33.78); add(34.75); add(-2.27); add(3.22); add(-6.68); add(-0.04);add(-4.21); add(-0.11); add(-0.85); add(0.02);add(0.50);add(-1.05); add(-1.45); add(-1.19); add(3.32); add(3.2);add(-0.29);add(0.32); }} ); + STRUCTURE.put("CGTGT",new ArrayList() {{add(5.47); add(-9.43); add(33.84); add(35.35); add(-2.25); add(4.66); add(-6.83); add(-0.03);add(-4.45); add(-0.1); add(-0.81); add(-0.01);add(0.67);add(-0.84); add(-1.45); add(-1.22); add(3.32); add(3.32);add(-0.31);add(0.34); }} ); + STRUCTURE.put("CGGAA",new ArrayList() {{add(5.09); add(-5.36); add(34.24); add(35.82); add(-1.46); add(-1.8); add(-5.73); add(-0.04); add(0.23); add(-0.27); add(0.19); add(0.0);add(0.61);add(1.25); add(-1.7); add(-1.4); add(3.42); add(3.35);add(0.08);add(-0.38); }} ); + STRUCTURE.put("CGGAC",new ArrayList() {{add(5.08); add(-6.07); add(33.8); add(36.17); add(-0.51); add(-1.73); add(-5.36); add(-0.05);add(-1.42); add(-0.29); add(0.25); add(-0.03);add(0.77);add(0.26);add(-1.70);add(-1.36); add(3.41); add(3.22);add(0.02);add(-0.22); }} ); + STRUCTURE.put("CGGAT",new ArrayList() {{add(4.47); add(-4.49); add(32.93); add(36.59); add(-2.34); add(-2.07); add(-5.43); add(-0.03);add(-0.21); add(-0.28); add(0.34); add(-0.03);add(0.75);add(1.25); add(-1.8); add(-1.56); add(3.44); add(3.44);add(0.19);add(-0.21); }} ); + STRUCTURE.put("CGGAG",new ArrayList() {{add(5.01); add(-5.07); add(33.51); add(35.79); add(-0.61); add(-1.83); add(-5.41); add(-0.04);add(-0.7); add(-0.28); add(0.24); add(-0.03);add(0.75);add(0.60); add(-1.75); add(-1.51); add(3.4); add(3.28);add(0.07);add(-0.11); }} ); + STRUCTURE.put("CGGCA",new ArrayList() {{add(5.17); add(-3.11); add(33.58); add(36.2); add(-1.26); add(-1.38); add(-5.05); add(-0.04); add(0.22); add(-0.27); add(0.27); add(0.08);add(0.05);add(-0.22);add(-1.70);add(-1.57); add(3.33); add(3.38);add(0.09);add(-0.01); }} ); + STRUCTURE.put("CGGCC",new ArrayList() {{add(4.96); add(-2.72); add(33.23); add(36.85); add(-1.3); add(-2.0); add(-5.37); add(-0.04); add(0.77); add(-0.27); add(0.32); add(0.06);add(0.21);add(0.11); add(-1.74); add(-1.6); add(3.33); add(3.41);add(0.11);add(0.02); }} ); + STRUCTURE.put("CGGCT",new ArrayList() {{add(4.83); add(-3.04); add(33.27); add(37.23); add(-1.44); add(-2.14); add(-5.53); add(-0.04);add(-0.77); add(-0.27); add(0.34); add(0.02);add(0.50);add(-0.95); add(-1.77); add(-1.66); add(3.38); add(3.46);add(0.12);add(-0.00); }} ); + STRUCTURE.put("CGGTA",new ArrayList() {{add(4.96); add(-5.99); add(34.27); add(34.43); add(-0.83); add(-2.35); add(-5.28); add(-0.03);add(-3.77); add(-0.28); add(0.37); add(0.04);add(0.24);add(0.52); add(-1.71); add(-1.52); add(3.4); add(3.33);add(0.06);add(-0.21); }} ); + STRUCTURE.put("CGGTC",new ArrayList() {{add(4.69); add(-5.99); add(34.17); add(34.65); add(-0.84); add(-2.77); add(-5.5); add(-0.03);add(-3.77); add(-0.28); add(0.44); add(0.0);add(0.59);add(0.97); add(-1.76); add(-1.55); add(3.43); add(3.37);add(0.07);add(-0.22); }} ); + STRUCTURE.put("CGGTT",new ArrayList() {{add(4.36); add(-7.97); add(34.48); add(35.23); add(-0.65); add(-3.13); add(-5.76); add(-0.03);add(-5.79); add(-0.27); add(0.54); add(-0.04);add(1.02);add(0.35); add(-1.79); add(-1.58); add(3.49); add(3.43);add(0.06);add(-0.39); }} ); + STRUCTURE.put("CGGTG",new ArrayList() {{add(4.92); add(-6.56); add(34.36); add(34.05); add(-0.28); add(-2.48); add(-5.25); add(-0.03);add(-4.2); add(-0.27); add(0.34); add(0.0);add(0.47);add(1.06); add(-1.72); add(-1.5); add(3.42); add(3.34);add(0.06);add(-0.24); }} ); + STRUCTURE.put("CGGGA",new ArrayList() {{add(4.95); add(-2.56); add(33.56); add(34.12); add(-1.93); add(-0.91); add(-5.44); add(-0.04); add(1.9); add(-0.28); add(0.18); add(0.09);add(-0.07);add(0.94); add(-1.73); add(-1.75); add(3.33); add(3.42);add(0.13);add(0.05); }} ); + STRUCTURE.put("CGGGC",new ArrayList() {{add(4.95); add(-2.73); add(33.44); add(33.78); add(-1.7); add(-1.71); add(-5.55); add(-0.04); add(0.59); add(-0.28); add(0.23); add(0.05);add(0.23);add(0.45);add(-1.78);add(-1.77); add(3.36); add(3.37);add(0.12);add(0.09); }} ); + STRUCTURE.put("CGGGT",new ArrayList() {{add(4.7); add(-3.53); add(33.51); add(34.56); add(-1.76); add(-0.94); add(-5.59); add(-0.04); add(0.44); add(-0.27); add(0.27); add(0.04);add(0.29);add(0.83); add(-1.79); add(-1.81); add(3.38); add(3.47);add(0.13);add(0.07); }} ); + STRUCTURE.put("TAAAT",new ArrayList() {{add(4.75); add(-13.87); add(35.79); add(36.55); add(-0.94); add(-2.36); add(-8.29); add(-0.03); add(5.49); add(0.16); add(-1.71); add(-0.16);add(-1.08);add(-1.70); add(-1.06); add(-1.22); add(3.18); add(3.27);add(-0.25);add(-0.00); }} ); + STRUCTURE.put("TAACT",new ArrayList() {{add(4.67); add(-10.74); add(34.85); add(35.6); add(-3.3); add(-3.98); add(-7.89); add(-0.03); add(7.51); add(0.16); add(-1.05); add(0.06);add(-1.19);add(-1.35); add(-1.21); add(-1.72); add(3.1); add(3.52);add(-0.04);add(0.39); }} ); + STRUCTURE.put("TAATT",new ArrayList() {{add(4.36); add(-12.2); add(35.92); add(33.31); add(-2.38); add(-5.21); add(-8.38); add(-0.03); add(0.87); add(0.16); add(-1.44); add(-0.08);add(-1.57);add(0.02); add(-1.22); add(-1.58); add(3.2); add(3.36);add(-0.18);add(0.01); }} ); + STRUCTURE.put("TAAGT",new ArrayList() {{add(4.48); add(-9.96); add(35.16); add(33.06); add(-3.58); add(-2.87); add(-7.98); add(-0.02); add(6.47); add(0.16); add(-0.98); add(0.04);add(-1.54);add(-1.94); add(-1.25); add(-1.81); add(3.12); add(3.51);add(-0.02);add(0.33); }} ); + STRUCTURE.put("TACAT",new ArrayList() {{add(5.27); add(-7.4); add(34.06); add(35.76); add(-2.14); add(5.57); add(-5.43); add(-0.04); add(5.57); add(0.28); add(0.44); add(0.04);add(-0.32);add(1.39); add(-1.5); add(-1.44); add(3.31); add(3.5);add(0.28);add(-0.35); }} ); + STRUCTURE.put("TACCT",new ArrayList() {{add(4.33); add(-5.43); add(34.69); add(35.24); add(-4.49); add(-2.81); add(-5.71); add(-0.04); add(3.92); add(0.3); add(0.56); add(-0.02);add(0.08);add(-1.70); add(-1.56); add(-1.89); add(3.36); add(3.56);add(0.28);add(-0.03); }} ); + STRUCTURE.put("TACTA",new ArrayList() {{add(5.33); add(-3.97); add(34.42); add(31.63); add(-2.12); add(-1.21); add(-5.28); add(-0.03);add(-0.49); add(0.25); add(0.25); add(0.18);add(-1.63);add(2.14); add(-1.6); add(-1.67); add(3.37); add(3.26);add(0.19);add(-0.21); }} ); + STRUCTURE.put("TACTT",new ArrayList() {{add(4.03); add(-4.26); add(35.21); add(33.24); add(-4.72); add(-3.52); add(-6.34); add(-0.02); add(0.26); add(0.26); add(0.27); add(0.12);add(-1.33);add(2.07); add(-1.69); add(-1.82); add(3.43); add(3.52);add(0.25);add(-0.30); }} ); + STRUCTURE.put("TACGT",new ArrayList() {{add(4.84); add(-7.92); add(34.3); add(34.34); add(-2.68); add(5.09); add(-5.15); add(-0.03); add(6.33); add(0.29); add(0.64); add(-0.05);add(0.19);add(0.25); add(-1.48); add(-1.69); add(3.31); add(3.61);add(0.27);add(0.04); }} ); + STRUCTURE.put("TATAT",new ArrayList() {{add(5.76); add(-8.95); add(32.12); add(34.46); add(-2.62); add(8.32); add(-6.79); add(-0.01); add(3.09); add(-0.08); add(-0.52); add(-0.09);add(0.10);add(0.17); add(-1.5); add(-1.5); add(3.2); add(3.48);add(-0.00);add(0.01); }} ); + STRUCTURE.put("TATCT",new ArrayList() {{add(4.72); add(-8.23); add(32.48); add(36.52); add(-4.23); add(-1.03); add(-7.46); add(-0.02); add(2.59); add(-0.07); add(-0.13); add(-0.16);add(0.67);add(-2.29); add(-1.52); add(-1.67); add(3.24); add(3.47);add(0.07);add(0.17); }} ); + STRUCTURE.put("TATTA",new ArrayList() {{add(5.11); add(-9.98); add(32.48); add(35.37); add(-3.92); add(-2.19); add(-7.61); add(-0.02);add(-3.57); add(-0.14); add(-1.45); add(0.02);add(-0.23);add(2.02); add(-1.53); add(-1.19); add(3.26); add(3.13);add(-0.18);add(0.16); }} ); + STRUCTURE.put("TATTT",new ArrayList() {{add(3.79); add(-12.63); add(33.85); add(37.22); add(-6.42); add(-3.91); add(-8.51); add(-0.01);add(-4.93); add(-0.15); add(-1.42); add(-0.01);add(-0.41);add(1.72); add(-1.52); add(-1.2); add(3.33); add(3.28);add(-0.16);add(0.03); }} ); + STRUCTURE.put("TATGT",new ArrayList() {{add(5.14); add(-8.52); add(32.21); add(35.48); add(-4.73); add(4.85); add(-7.31); add(-0.02); add(3.28); add(-0.07); add(-0.19); add(-0.17);add(0.83);add(-0.77);add(-1.49);add(-1.50); add(3.22); add(3.56);add(-0.01);add(0.35); }} ); + STRUCTURE.put("TAGAT",new ArrayList() {{add(4.74); add(-3.2); add(31.29); add(36.79); add(-2.21); add(-1.24); add(-5.6); add(-0.02); add(3.39); add(-0.26); add(0.27); add(0.11);add(-1.93);add(2.52); add(-1.73); add(-1.65); add(3.31); add(3.53);add(0.26);add(-0.20); }} ); + STRUCTURE.put("TAGCT",new ArrayList() {{add(4.88); add(-1.3); add(31.13); add(37.56); add(-2.32); add(-2.66); add(-5.53); add(-0.02); add(2.94); add(-0.25); add(0.32); add(0.14);add(-1.47);add(0.08); add(-1.77); add(-1.76); add(3.28); add(3.52);add(0.25);add(0.02); }} ); + STRUCTURE.put("TAGTT",new ArrayList() {{add(4.24); add(-6.07); add(32.1); add(35.56); add(-3.9); add(-4.24); add(-6.41); add(-0.02);add(-1.66); add(-0.22); add(0.24); add(0.08);add(-1.10);add(1.29); add(-1.75); add(-1.71); add(3.44); add(3.56);add(0.28);add(-0.41); }} ); + STRUCTURE.put("TAGGT",new ArrayList() {{add(4.68); add(-1.54); add(31.46); add(34.99); add(-2.96); add(-1.78); add(-5.64); add(-0.02); add(4.01); add(-0.25); add(0.34); add(0.15);add(-1.98);add(1.81);add(-1.80);add(-1.90); add(3.31); add(3.55);add(0.27);add(0.07); }} ); + STRUCTURE.put("TCAAA",new ArrayList() {{add(5.6); add(-10.28); add(34.64); add(35.3); add(5.24); add(-2.67); add(-7.57); add(-0.03); add(1.26); add(0.1); add(-1.59); add(-0.22);add(2.03);add(-1.45); add(-1.16); add(-1.04); add(3.39); add(3.14);add(-0.45);add(-0.18); }} ); + STRUCTURE.put("TCAAT",new ArrayList() {{add(5.46); add(-10.92); add(34.6); add(34.93); add(7.05); add(-2.1); add(-7.28); add(-0.03);add(-2.54); add(0.09); add(-1.04); add(-0.32);add(2.06);add(-2.33); add(-1.34); add(-1.2); add(3.5); add(3.16);add(-0.45);add(-0.10); }} ); + STRUCTURE.put("TCACA",new ArrayList() {{add(5.84); add(-7.82); add(34.48); add(33.59); add(3.97); add(-2.33); add(-6.63); add(-0.03); add(4.22); add(0.11); add(-0.92); add(0.04);add(0.55);add(-0.80);add(-1.18);add(-1.49); add(3.26); add(3.31);add(-0.30);add(0.31); }} ); + STRUCTURE.put("TCACT",new ArrayList() {{add(5.22); add(-7.1); add(33.87); add(34.23); add(3.56); add(-3.58); add(-7.2); add(-0.03); add(0.15); add(0.12); add(-0.38); add(-0.04);add(0.82);add(-1.91); add(-1.47); add(-1.67); add(3.36); add(3.42);add(-0.24);add(0.24); }} ); + STRUCTURE.put("TCATA",new ArrayList() {{add(5.84); add(-7.0); add(35.1); add(31.46); add(4.95); add(-3.24); add(-6.76); add(-0.02);add(-2.25); add(0.09); add(-0.78); add(-0.06);add(0.57);add(-0.61); add(-1.33); add(-1.45); add(3.37); add(3.19);add(-0.32);add(0.04); }} ); + STRUCTURE.put("TCATT",new ArrayList() {{add(4.46); add(-9.02); add(34.98); add(32.87); add(3.8); add(-6.08); add(-8.13); add(-0.01);add(-6.23); add(0.1); add(0.0); add(-0.21);add(1.24);add(-0.87); add(-1.59); add(-1.55); add(3.58); add(3.3);add(-0.29);add(-0.21); }} ); + STRUCTURE.put("TCAGT",new ArrayList() {{add(5.48); add(-7.1); add(34.41); add(31.46); add(4.75); add(-1.92); add(-6.81); add(-0.03);add(-0.23); add(0.1); add(-0.51); add(-0.09);add(0.55);add(-2.41);add(-1.44);add(-1.74); add(3.42); add(3.34);add(-0.21);add(0.22); }} ); + STRUCTURE.put("TCCAA",new ArrayList() {{add(5.42); add(-2.74); add(33.66); add(34.57); add(-1.03); add(2.7); add(-5.65); add(-0.04);add(-0.67); add(0.26); add(0.16); add(0.13);add(-1.20);add(2.55); add(-1.74); add(-1.29); add(3.41); add(3.34);add(-0.05);add(-0.50); }} ); + STRUCTURE.put("TCCAT",new ArrayList() {{add(5.34); add(-3.37); add(33.69); add(34.46); add(-0.26); add(4.34); add(-5.3); add(-0.04);add(-1.31); add(0.27); add(0.22); add(0.11);add(-1.17);add(1.91); add(-1.79); add(-1.48); add(3.42); add(3.37);add(-0.07);add(-0.37); }} ); + STRUCTURE.put("TCCCA",new ArrayList() {{add(4.93); add(-2.42); add(33.69); add(33.23); add(-0.93); add(-1.55); add(-5.54); add(-0.04);add(-1.24); add(0.29); add(0.31); add(0.05);add(-1.17);add(-0.36); add(-1.83); add(-1.83); add(3.44); add(3.35);add(-0.07);add(-0.10); }} ); + STRUCTURE.put("TCCCT",new ArrayList() {{add(4.68); add(-1.76); add(33.6); add(33.86); add(-1.61); add(-2.51); add(-5.38); add(-0.04);add(-1.39); add(0.3); add(0.37); add(0.02);add(-0.92);add(-1.05); add(-1.86); add(-1.92); add(3.47); add(3.43);add(-0.04);add(-0.13); }} ); + STRUCTURE.put("TCCTA",new ArrayList() {{add(4.98); add(-1.39); add(34.64); add(31.66); add(-0.97); add(-2.51); add(-5.67); add(-0.02);add(-4.88); add(0.26); add(0.17); add(0.19);add(-1.87);add(1.93); add(-1.81); add(-1.74); add(3.5); add(3.25);add(-0.06);add(-0.26); }} ); + STRUCTURE.put("TCCTT",new ArrayList() {{add(4.31); add(-1.33); add(34.9); add(32.55); add(-1.91); add(-3.38); add(-6.03); add(-0.02);add(-4.75); add(0.28); add(0.31); add(0.18);add(-2.12);add(2.36); add(-1.86); add(-1.82); add(3.55); add(3.41);add(-0.01);add(-0.35); }} ); + STRUCTURE.put("TCCGA",new ArrayList() {{add(5.36); add(-3.04); add(33.64); add(32.77); add(-0.81); add(3.14); add(-5.1); add(-0.04);add(-0.69); add(0.25); add(0.23); add(0.08);add(-0.74);add(0.85);add(-1.73);add(-1.53); add(3.4); add(3.33);add(-0.07);add(-0.10); }} ); + STRUCTURE.put("TCCGT",new ArrayList() {{add(5.06); add(-3.36); add(34.6); add(33.01); add(-2.1); add(2.56); add(-5.19); add(-0.04);add(-1.4); add(0.27); add(0.19); add(0.08);add(-0.82);add(0.99); add(-1.71); add(-1.63); add(3.47); add(3.4);add(-0.04);add(-0.02); }} ); + STRUCTURE.put("TCTAA",new ArrayList() {{add(6.0); add(-6.61); add(31.27); add(34.4); add(-1.11); add(6.26); add(-6.73); add(-0.03); add(0.93); add(-0.11); add(-1.21); add(0.03);add(1.48);add(1.35); add(-1.67); add(-1.32); add(3.26); add(3.34);add(-0.19);add(-0.11); }} ); + STRUCTURE.put("TCTAT",new ArrayList() {{add(5.69); add(-7.03); add(31.88); add(34.25); add(-1.51); add(6.34); add(-6.96); add(-0.03);add(-1.55); add(-0.09); add(-0.83); add(0.0);add(1.89);add(0.10); add(-1.74); add(-1.47); add(3.31); add(3.34);add(-0.18);add(-0.06); }} ); + STRUCTURE.put("TCTCA",new ArrayList() {{add(5.29); add(-6.62); add(31.77); add(35.17); add(-2.02); add(-1.29); add(-7.09); add(-0.03);add(-1.73); add(-0.1); add(-0.91); add(-0.01);add(1.93);add(-0.56); add(-1.68); add(-1.49); add(3.31); add(3.24);add(-0.22);add(0.17); }} ); + STRUCTURE.put("TCTCT",new ArrayList() {{add(5.0); add(-6.62); add(31.7); add(35.8); add(-1.87); add(-1.55); add(-7.34); add(-0.02);add(-2.57); add(-0.06); add(0.0); add(-0.08);add(2.46);add(-1.63); add(-1.76); add(-1.61); add(3.34); add(3.36);add(-0.15);add(0.14); }} ); + STRUCTURE.put("TCTTA",new ArrayList() {{add(4.93); add(-8.51); add(32.43); add(34.89); add(-2.51); add(-3.37); add(-7.75); add(-0.02);add(-6.61); add(-0.14); add(-1.05); add(0.06);add(1.96);add(1.81);add(-1.79);add(-1.28); add(3.43); add(3.1);add(-0.29);add(0.02); }} ); + STRUCTURE.put("TCTTT",new ArrayList() {{add(4.02); add(-10.71); add(33.18); add(36.69); add(-3.21); add(-4.76); add(-8.79); add(0.0);add(-9.14); add(-0.14); add(-0.96); add(0.1);add(1.69);add(2.01); add(-1.76); add(-1.21); add(3.53); add(3.19);add(-0.32);add(-0.11); }} ); + STRUCTURE.put("TCTGA",new ArrayList() {{add(5.47); add(-6.32); add(31.28); add(34.38); add(-1.76); add(4.43); add(-6.97); add(-0.03);add(-0.55); add(-0.1); add(-0.72); add(-0.05);add(2.19);add(-0.41); add(-1.68); add(-1.41); add(3.31); add(3.38);add(-0.22);add(0.27); }} ); + STRUCTURE.put("TCTGT",new ArrayList() {{add(5.33); add(-7.0); add(31.6); add(35.0); add(-1.93); add(3.72); add(-7.09); add(-0.03);add(-2.68); add(-0.08); add(-0.8); add(-0.04);add(2.41);add(-0.90); add(-1.68); add(-1.37); add(3.33); add(3.33);add(-0.23);add(0.27); }} ); + STRUCTURE.put("TCGAA",new ArrayList() {{add(5.75); add(-5.99); add(32.98); add(34.95); add(5.38); add(0.19); add(-5.31); add(-0.04);add(-1.46); add(-0.27); add(0.35); add(-0.03);add(-0.45);add(1.38); add(-1.58); add(-1.47); add(3.45); add(3.33);add(-0.01);add(-0.31); }} ); + STRUCTURE.put("TCGAT",new ArrayList() {{add(5.23); add(-7.08); add(32.77); add(35.76); add(5.51); add(-0.54); add(-5.43); add(-0.04);add(-3.62); add(-0.27); add(0.5); add(-0.09);add(-0.02);add(0.60);add(-1.64);add(-1.51); add(3.51); add(3.33);add(-0.00);add(-0.21); }} ); + STRUCTURE.put("TCGCA",new ArrayList() {{add(5.68); add(-3.81); add(33.31); add(35.53); add(4.16); add(-0.91); add(-4.84); add(-0.04);add(-0.74); add(-0.25); add(0.28); add(0.07);add(-0.32);add(-0.50); add(-1.46); add(-1.51); add(3.34); add(3.36);add(0.05);add(-0.01); }} ); + STRUCTURE.put("TCGCT",new ArrayList() {{add(5.19); add(-3.56); add(32.44); add(36.83); add(4.15); add(-2.29); add(-5.16); add(-0.03);add(-1.43); add(-0.24); add(0.4); add(0.02);add(0.05);add(-1.04); add(-1.59); add(-1.65); add(3.4); add(3.45);add(0.18);add(-0.00); }} ); + STRUCTURE.put("TCGTA",new ArrayList() {{add(5.61); add(-6.48); add(33.73); add(33.57); add(4.91); add(-1.92); add(-4.99); add(-0.03);add(-4.37); add(-0.26); add(0.53); add(0.04);add(-0.18);add(-0.06); add(-1.5); add(-1.47); add(3.41); add(3.28);add(0.05);add(-0.23); }} ); + STRUCTURE.put("TCGTT",new ArrayList() {{add(4.8); add(-9.62); add(33.66); add(34.71); add(5.41); add(-2.49); add(-5.64); add(-0.03);add(-8.01); add(-0.26); add(0.76); add(-0.07);add(0.11);add(-0.21); add(-1.66); add(-1.51); add(3.58); add(3.38);add(0.03);add(-0.44); }} ); + STRUCTURE.put("TCGGT",new ArrayList() {{add(5.02); add(-4.29); add(32.64); add(34.18); add(3.35); add(-0.94); add(-5.09); add(-0.04);add(-0.94); add(-0.25); add(0.33); add(0.04);add(-0.88);add(0.94);add(-1.64);add(-1.78); add(3.43); add(3.45);add(0.10);add(0.08); }} ); + STRUCTURE.put("TTAAT",new ArrayList() {{add(5.58); add(-11.32); add(34.44); add(35.37); add(8.64); add(-2.12); add(-7.47); add(-0.02);add(-3.61); add(0.1); add(-1.05); add(-0.23);add(0.03);add(-1.59); add(-1.36); add(-1.22); add(3.53); add(3.16);add(-0.00);add(-0.17); }} ); + STRUCTURE.put("TTACT",new ArrayList() {{add(5.37); add(-7.55); add(34.55); add(34.75); add(5.33); add(-3.91); add(-7.46); add(-0.02);add(-0.12); add(0.13); add(-0.75); add(0.06);add(-1.36);add(-1.35); add(-1.35); add(-1.66); add(3.36); add(3.41);add(0.16);add(0.23); }} ); + STRUCTURE.put("TTATA",new ArrayList() {{add(6.07); add(-7.14); add(34.57); add(31.78); add(7.31); add(-3.01); add(-6.76); add(-0.02);add(-4.35); add(0.09); add(-0.87); add(0.03);add(-1.78);add(0.06); add(-1.34); add(-1.49); add(3.42); add(3.18);add(0.12);add(-0.01); }} ); + STRUCTURE.put("TTATT",new ArrayList() {{add(5.53); add(-9.65); add(34.83); add(32.44); add(8.21); add(-3.91); add(-7.48); add(-0.01);add(-7.0); add(0.11); add(-0.84); add(-0.08);add(-1.07);add(-0.20); add(-1.39); add(-1.53); add(3.51); add(3.25);add(0.14);add(-0.18); }} ); + STRUCTURE.put("TTAGT",new ArrayList() {{add(5.73); add(-8.1); add(34.45); add(31.57); add(7.88); add(-0.98); add(-6.95); add(-0.03);add(-2.79); add(0.11); add(-0.99); add(-0.05);add(-1.30);add(-1.84); add(-1.44); add(-1.7); add(3.47); add(3.28);add(0.10);add(0.20); }} ); + STRUCTURE.put("TTCAA",new ArrayList() {{add(6.0); add(-5.98); add(34.8); add(34.59); add(0.18); add(5.46); add(-5.63); add(-0.04); add(0.29); add(0.27); add(0.21); add(0.06);add(-2.06);add(2.25); add(-1.46); add(-1.09); add(3.34); add(3.33);add(0.30);add(-0.43); }} ); + STRUCTURE.put("TTCAT",new ArrayList() {{add(5.5); add(-6.07); add(35.39); add(35.03); add(0.04); add(5.73); add(-5.57); add(-0.05); add(0.52); add(0.29); add(0.24); add(0.03);add(-1.98);add(1.46); add(-1.46); add(-1.4); add(3.35); add(3.44);add(0.30);add(-0.31); }} ); + STRUCTURE.put("TTCCT",new ArrayList() {{add(4.76); add(-4.88); add(36.26); add(34.39); add(-1.3); add(-1.44); add(-5.71); add(-0.05); add(0.45); add(0.31); add(0.31); add(-0.05);add(-1.67);add(-1.82); add(-1.45); add(-1.86); add(3.36); add(3.5);add(0.30);add(-0.06); }} ); + STRUCTURE.put("TTCTA",new ArrayList() {{add(5.33); add(-3.73); add(36.55); add(31.57); add(-0.49); add(-1.4); add(-5.52); add(-0.04);add(-4.23); add(0.26); add(0.0); add(0.14);add(-2.67);add(1.64); add(-1.41); add(-1.64); add(3.39); add(3.27);add(0.32);add(-0.20); }} ); + STRUCTURE.put("TTCTT",new ArrayList() {{add(4.8); add(-3.46); add(36.52); add(32.3); add(-0.63); add(-1.79); add(-6.03); add(-0.04);add(-3.89); add(0.27); add(0.06); add(0.12);add(-2.94);add(2.12); add(-1.51); add(-1.77); add(3.44); add(3.4);add(0.33);add(-0.26); }} ); + STRUCTURE.put("TTCGT",new ArrayList() {{add(5.21); add(-6.66); add(36.0); add(33.73); add(-0.84); add(5.06); add(-5.3); add(-0.04); add(2.2); add(0.29); add(0.4); add(-0.08);add(-1.45);add(0.27);add(-1.41);add(-1.62); add(3.36); add(3.54);add(0.29);add(0.05); }} ); + STRUCTURE.put("TTTAA",new ArrayList() {{add(5.73); add(-10.7); add(35.63); add(34.67); add(-3.0); add(5.72); add(-7.41); add(0.0);add(-0.32); add(-0.12); add(-1.68); add(-0.16);add(0.74);add(-0.06); add(-1.05); add(-1.09); add(3.13); add(3.37);add(0.23);add(0.04); }} ); + STRUCTURE.put("TTTAT",new ArrayList() {{add(5.66); add(-12.37); add(35.94); add(34.6); add(-0.95); add(8.13); add(-7.46); add(-0.02);add(-0.84); add(-0.08); add(-1.11); add(-0.25);add(1.16);add(-1.32); add(-1.05); add(-1.35); add(3.19); add(3.46);add(0.26);add(0.13); }} ); + STRUCTURE.put("TTTCT",new ArrayList() {{add(4.74); add(-10.55); add(36.02); add(36.43); add(-2.61); add(-0.69); add(-8.05); add(-0.04);add(-0.75); add(-0.07); add(-0.67); add(-0.28);add(1.58);add(-3.20); add(-1.08); add(-1.54); add(3.18); add(3.45);add(0.24);add(0.29); }} ); + STRUCTURE.put("TTTTA",new ArrayList() {{add(4.89); add(-13.29); add(36.72); add(35.6); add(-2.75); add(-2.46); add(-8.39); add(-0.02);add(-7.24); add(-0.15); add(-2.26); add(-0.11);add(1.02);add(0.69); add(-1.05); add(-1.05); add(3.22); add(3.13);add(0.10);add(0.26); }} ); + STRUCTURE.put("TTTTT",new ArrayList() {{add(3.38); add(-16.51); add(38.01); add(37.74); add(-5.09); add(-5.05); add(-10.1); add(0.03);add(-7.8); add(-0.18); add(-3.71); add(-0.22);add(1.22);add(0.72); add(-0.99); add(-0.97); add(3.25); add(3.25);add(0.08);add(0.20); }} ); + STRUCTURE.put("TTTGT",new ArrayList() {{add(5.21); add(-12.03); add(35.77); add(35.41); add(-2.56); add(6.09); add(-7.86); add(-0.03);add(-2.71); add(-0.09); add(-1.7); add(-0.25);add(1.61);add(-2.06); add(-1.03); add(-1.16); add(3.16); add(3.44);add(0.13);add(0.50); }} ); + STRUCTURE.put("TTGAT",new ArrayList() {{add(5.52); add(-7.12); add(34.6); add(35.38); add(6.62); add(0.04); add(-5.64); add(-0.04);add(-3.54); add(-0.27); add(0.29); add(-0.02);add(-2.01);add(1.19); add(-1.34); add(-1.57); add(3.5); add(3.35);add(0.46);add(-0.25); }} ); + STRUCTURE.put("TTGCT",new ArrayList() {{add(5.08); add(-3.36); add(34.41); add(36.94); add(3.78); add(-3.02); add(-5.93); add(-0.03);add(-1.94); add(-0.24); add(0.31); add(0.08);add(-2.30);add(-0.67); add(-1.42); add(-1.68); add(3.45); add(3.45);add(0.51);add(-0.01); }} ); + STRUCTURE.put("TTGTA",new ArrayList() {{add(5.89); add(-7.17); add(35.27); add(33.4); add(5.8); add(-1.49); add(-5.23); add(-0.04);add(-5.25); add(-0.27); add(0.28); add(0.09);add(-2.41);add(0.40); add(-1.14); add(-1.47); add(3.39); add(3.28);add(0.46);add(-0.29); }} ); + STRUCTURE.put("TTGTT",new ArrayList() {{add(4.97); add(-10.17); add(35.64); add(34.6); add(6.26); add(-2.29); add(-6.22); add(-0.04);add(-8.21); add(-0.26); add(0.4); add(0.0);add(-1.80);add(0.21); add(-1.25); add(-1.54); add(3.52); add(3.39);add(0.50);add(-0.47); }} ); + STRUCTURE.put("TTGGT",new ArrayList() {{add(5.08); add(-4.69); add(34.6); add(34.7); add(4.34); add(-0.94); add(-5.8); add(-0.04);add(-1.12); add(-0.25); add(0.19); add(0.11);add(-2.71);add(1.35); add(-1.39); add(-1.74); add(3.44); add(3.45);add(0.49);add(0.06); }} ); + STRUCTURE.put("TGAAA",new ArrayList() {{add(5.4); add(-10.81); add(34.89); add(35.9); add(0.49); add(-1.64); add(-7.56); add(-0.03); add(1.41); add(0.09); add(-1.24); add(-0.22);add(2.00);add(-1.23); add(-1.44); add(-1.03); add(3.33); add(3.16);add(-0.32);add(-0.26); }} ); + STRUCTURE.put("TGAAT",new ArrayList() {{add(5.22); add(-10.83); add(35.03); add(36.06); add(0.21); add(-2.45); add(-7.69); add(-0.03); add(0.16); add(0.11); add(-1.13); add(-0.24);add(2.20);add(-2.07); add(-1.48); add(-1.19); add(3.36); add(3.18);add(-0.29);add(-0.13); }} ); + STRUCTURE.put("TGACT",new ArrayList() {{add(4.89); add(-8.11); add(35.14); add(35.06); add(-1.77); add(-3.69); add(-7.61); add(-0.02); add(2.75); add(0.11); add(-0.23); add(-0.02);add(0.87);add(-1.88); add(-1.47); add(-1.68); add(3.25); add(3.46);add(-0.13);add(0.24); }} ); + STRUCTURE.put("TGATA",new ArrayList() {{add(5.38); add(-7.32); add(35.75); add(31.94); add(-1.13); add(-3.4); add(-7.24); add(-0.02);add(-2.37); add(0.09); add(-0.68); add(-0.05);add(0.35);add(-0.33); add(-1.5); add(-1.48); add(3.3); add(3.19);add(-0.27);add(0.03); }} ); + STRUCTURE.put("TGATT",new ArrayList() {{add(4.46); add(-9.91); add(36.14); add(33.01); add(-1.08); add(-4.75); add(-8.06); add(-0.02);add(-4.83); add(0.1); add(-0.39); add(-0.18);add(1.40);add(-0.76); add(-1.59); add(-1.54); add(3.42); add(3.3);add(-0.27);add(-0.19); }} ); + STRUCTURE.put("TGAGT",new ArrayList() {{add(4.89); add(-7.5); add(35.29); add(32.14); add(-1.75); add(-2.78); add(-7.4); add(-0.02); add(1.21); add(0.11); add(-0.38); add(-0.06);add(0.98);add(-2.14); add(-1.54); add(-1.78); add(3.28); add(3.39);add(-0.13);add(0.25); }} ); + STRUCTURE.put("TGCAA",new ArrayList() {{add(5.78); add(-3.8); add(35.49); add(34.61); add(-1.25); add(4.6); add(-5.27); add(-0.04); add(0.73); add(0.25); add(0.2); add(0.14);add(-0.13);add(2.51); add(-1.54); add(-1.23); add(3.36); add(3.34);add(-0.02);add(-0.42); }} ); + STRUCTURE.put("TGCAT",new ArrayList() {{add(5.55); add(-3.73); add(35.6); add(35.12); add(-1.2); add(4.66); add(-5.1); add(-0.04); add(0.51); add(0.27); add(0.24); add(0.11);add(0.16);add(1.70); add(-1.56); add(-1.39); add(3.37); add(3.39);add(0.03);add(-0.34); }} ); + STRUCTURE.put("TGCCA",new ArrayList() {{add(5.24); add(-2.98); add(36.44); add(33.34); add(-1.81); add(-1.33); add(-5.21); add(-0.03);add(-1.54); add(0.27); add(0.21); add(0.11);add(-0.01);add(-0.33); add(-1.58); add(-1.71); add(3.39); add(3.3);add(-0.03);add(-0.10); }} ); + STRUCTURE.put("TGCCT",new ArrayList() {{add(4.82); add(-2.38); add(36.26); add(34.03); add(-2.41); add(-2.06); add(-5.2); add(-0.04);add(-0.41); add(0.3); add(0.44); add(0.03);add(0.50);add(-1.19);add(-1.64);add(-1.87); add(3.4); add(3.43);add(0.03);add(-0.08); }} ); + STRUCTURE.put("TGCTA",new ArrayList() {{add(5.36); add(-1.6); add(36.48); add(31.39); add(-1.5); add(-2.09); add(-5.25); add(-0.02);add(-4.14); add(0.24); add(0.17); add(0.2);add(-0.83);add(1.73); add(-1.64); add(-1.67); add(3.43); add(3.22);add(-0.02);add(-0.22); }} ); + STRUCTURE.put("TGCTT",new ArrayList() {{add(4.61); add(-1.47); add(37.13); add(32.29); add(-3.31); add(-3.05); add(-5.99); add(-0.02);add(-4.04); add(0.26); add(0.32); add(0.18);add(-0.66);add(2.19); add(-1.69); add(-1.76); add(3.46); add(3.37);add(-0.00);add(-0.30); }} ); + STRUCTURE.put("TGCGT",new ArrayList() {{add(5.27); add(-4.25); add(35.83); add(33.71); add(-1.26); add(4.21); add(-4.74); add(-0.04); add(1.18); add(0.28); add(0.34); add(0.04);add(0.65);add(0.69); add(-1.5); add(-1.6); add(3.36); add(3.46);add(0.03);add(0.04); }} ); + STRUCTURE.put("TGTAA",new ArrayList() {{add(5.99); add(-7.55); add(33.74); add(34.6); add(-2.1); add(6.03); add(-6.87); add(-0.03);add(-0.58); add(-0.11); add(-1.07); add(0.12);add(0.40);add(1.70); add(-1.5); add(-1.29); add(3.29); add(3.32);add(-0.23);add(-0.08); }} ); + STRUCTURE.put("TGTAT",new ArrayList() {{add(5.82); add(-8.93); add(34.26); add(34.63); add(-2.07); add(5.89); add(-6.9); add(-0.03);add(-3.64); add(-0.11); add(-0.93); add(0.05);add(0.61);add(0.30); add(-1.53); add(-1.35); add(3.33); add(3.29);add(-0.27);add(0.03); }} ); + STRUCTURE.put("TGTCA",new ArrayList() {{add(5.43); add(-8.28); add(34.2); add(35.3); add(-2.49); add(-1.53); add(-7.12); add(-0.02);add(-4.09); add(-0.11); add(-0.71); add(0.05);add(0.63);add(-0.33);add(-1.52);add(-1.37); add(3.34); add(3.19);add(-0.30);add(0.23); }} ); + STRUCTURE.put("TGTCT",new ArrayList() {{add(4.99); add(-8.49); add(34.36); add(36.49); add(-2.8); add(-1.88); add(-7.28); add(-0.01);add(-5.34); add(-0.08); add(-0.11); add(0.01);add(0.94);add(-1.37); add(-1.55); add(-1.42); add(3.36); add(3.28);add(-0.26);add(0.18); }} ); + STRUCTURE.put("TGTTA",new ArrayList() {{add(5.17); add(-11.35); add(34.78); add(35.32); add(-2.47); add(-2.39); add(-7.45); add(-0.02);add(-9.43); add(-0.15); add(-1.43); add(0.09);add(0.13);add(1.57);add(-1.52);add(-1.09); add(3.39); add(3.06);add(-0.45);add(0.17); }} ); + STRUCTURE.put("TGTTT",new ArrayList() {{add(4.65); add(-13.05); add(35.22); add(36.59); add(-2.89); add(-2.98); add(-8.05); add(-0.01);add(-11.53); add(-0.15); add(-1.3); add(0.13);add(-0.01);add(1.93); add(-1.54); add(-1.06); add(3.42); add(3.14);add(-0.50);add(-0.00); }} ); + STRUCTURE.put("TGTGT",new ArrayList() {{add(5.5); add(-9.33); add(33.88); add(35.28); add(-2.65); add(2.96); add(-6.78); add(-0.03);add(-5.8); add(-0.1); add(-0.94); add(0.05);add(0.56);add(-0.31);add(-1.48);add(-1.19); add(3.33); add(3.33);add(-0.39);add(0.38); }} ); + STRUCTURE.put("TGGAA",new ArrayList() {{add(4.97); add(-5.2); add(33.8); add(36.04); add(-0.87); add(-0.69); add(-5.75); add(-0.04); add(0.12); add(-0.29); add(0.25); add(-0.01);add(0.96);add(2.11); add(-1.77); add(-1.48); add(3.4); add(3.39);add(0.06);add(-0.27); }} ); + STRUCTURE.put("TGGAT",new ArrayList() {{add(4.94); add(-5.7); add(33.69); add(36.24); add(-0.54); add(-0.96); add(-5.61); add(-0.04);add(-1.34); add(-0.28); add(0.29); add(-0.04);add(1.26);add(0.93); add(-1.78); add(-1.53); add(3.42); add(3.36);add(0.07);add(-0.19); }} ); + STRUCTURE.put("TGGCT",new ArrayList() {{add(4.53); add(-2.76); add(33.35); add(37.62); add(-2.44); add(-3.86); add(-6.02); add(-0.03); add(0.29); add(-0.27); add(0.43); add(0.05);add(0.86);add(-0.83);add(-1.80);add(-1.69); add(3.38); add(3.49);add(0.14);add(0.01); }} ); + STRUCTURE.put("TGGTA",new ArrayList() {{add(5.13); add(-5.96); add(34.3); add(34.38); add(-0.68); add(-2.45); add(-5.4); add(-0.04);add(-2.66); add(-0.27); add(0.27); add(0.07);add(0.57);add(0.65); add(-1.69); add(-1.51); add(3.37); add(3.32);add(0.08);add(-0.17); }} ); + STRUCTURE.put("TGGTT",new ArrayList() {{add(4.33); add(-8.86); add(34.89); add(35.26); add(-0.59); add(-3.3); add(-6.24); add(-0.04);add(-5.76); add(-0.26); add(0.46); add(-0.03);add(1.52);add(0.61); add(-1.76); add(-1.58); add(3.49); add(3.44);add(0.06);add(-0.31); }} ); + STRUCTURE.put("TGGGT",new ArrayList() {{add(4.66); add(-3.38); add(33.53); add(34.63); add(-2.0); add(-1.42); add(-5.67); add(-0.04); add(0.71); add(-0.28); add(0.34); add(0.04);add(0.65);add(0.87);add(-1.82);add(-1.81); add(3.39); add(3.48);add(0.13);add(0.06); }} ); + STRUCTURE.put("GAAAA",new ArrayList() {{add(4.35); add(-13.16); add(36.32); add(37.0); add(-3.67); add(-4.32); add(-9.65); add(-0.01); add(6.0); add(0.16); add(-2.28); add(-0.16);add(-1.13);add(-1.03); add(-1.02); add(-1.05); add(3.17); add(3.23);add(-0.30);add(-0.12); }} ); + STRUCTURE.put("GAAAT",new ArrayList() {{add(4.27); add(-12.09); add(35.77); add(36.7); add(-3.13); add(-4.4); add(-9.42); add(-0.02); add(5.08); add(0.15); add(-1.57); add(-0.13);add(-1.30);add(-1.65); add(-1.1); add(-1.23); add(3.17); add(3.24);add(-0.22);add(0.01); }} ); + STRUCTURE.put("GAACA",new ArrayList() {{add(4.85); add(-10.91); add(35.68); add(34.81); add(-3.14); add(-2.74); add(-7.98); add(-0.01); add(9.27); add(0.14); add(-0.99); add(0.08);add(-2.20);add(-0.37); add(-1.09); add(-1.55); add(3.09); add(3.39);add(-0.14);add(0.40); }} ); + STRUCTURE.put("GAACT",new ArrayList() {{add(4.25); add(-10.45); add(35.24); add(35.93); add(-3.79); add(-4.54); add(-8.35); add(-0.01); add(8.02); add(0.16); add(-0.64); add(0.04);add(-1.72);add(-1.50); add(-1.19); add(-1.74); add(3.12); add(3.54);add(-0.01);add(0.36); }} ); + STRUCTURE.put("GAATA",new ArrayList() {{add(4.51); add(-10.01); add(35.93); add(32.92); add(-3.1); add(-4.85); add(-8.08); add(-0.02); add(2.95); add(0.14); add(-1.21); add(-0.03);add(-2.21);add(0.22); add(-1.19); add(-1.54); add(3.17); add(3.28);add(-0.16);add(0.13); }} ); + STRUCTURE.put("GAATT",new ArrayList() {{add(3.75); add(-11.18); add(36.17); add(33.75); add(-3.59); add(-6.49); add(-10.92); add(-0.02); add(1.22); add(0.16); add(-0.96); add(-0.09);add(-1.92);add(-0.13); add(-1.27); add(-1.64); add(3.25); add(3.39);add(-0.12);add(-0.05); }} ); + STRUCTURE.put("GAAGA",new ArrayList() {{add(4.52); add(-8.18); add(35.03); add(32.42); add(-3.52); add(-2.28); add(-7.96); add(-0.02); add(6.57); add(0.13); add(-0.96); add(0.05);add(-2.10);add(-2.04); add(-1.26); add(-1.78); add(3.12); add(3.43);add(-0.03);add(0.26); }} ); + STRUCTURE.put("GAAGT",new ArrayList() {{add(4.31); add(-8.83); add(35.22); add(32.77); add(-4.2); add(-3.34); add(-8.32); add(-0.01); add(5.73); add(0.14); add(-0.53); add(0.02);add(-2.14);add(-1.97); add(-1.27); add(-1.84); add(3.14); add(3.5);add(-0.02);add(0.30); }} ); + STRUCTURE.put("GACAA",new ArrayList() {{add(5.57); add(-7.48); add(33.76); add(34.98); add(-1.95); add(6.28); add(-5.56); add(-0.04); add(5.54); add(0.27); add(0.32); add(0.05);add(-0.88);add(2.13); add(-1.5); add(-1.19); add(3.32); add(3.42);add(0.28);add(-0.51); }} ); + STRUCTURE.put("GACAT",new ArrayList() {{add(5.02); add(-7.1); add(34.24); add(35.42); add(-2.83); add(4.9); add(-5.65); add(-0.04); add(5.5); add(0.28); add(0.54); add(0.01);add(-0.69);add(1.26); add(-1.54); add(-1.5); add(3.35); add(3.53);add(0.28);add(-0.34); }} ); + STRUCTURE.put("GACCA",new ArrayList() {{add(4.84); add(-6.17); add(34.68); add(34.3); add(-2.73); add(-0.69); add(-5.62); add(-0.04); add(3.2); add(0.27); add(0.33); add(0.02);add(-0.98);add(-0.89); add(-1.54); add(-1.75); add(3.37); add(3.42);add(0.22);add(-0.08); }} ); + STRUCTURE.put("GACCT",new ArrayList() {{add(4.18); add(-5.67); add(34.84); add(35.04); add(-3.96); add(-2.46); add(-6.0); add(-0.04); add(4.5); add(0.3); add(0.61); add(-0.07);add(-0.40);add(-2.00); add(-1.59); add(-1.94); add(3.4); add(3.58);add(0.30);add(-0.04); }} ); + STRUCTURE.put("GACTA",new ArrayList() {{add(5.08); add(-3.9); add(34.57); add(31.53); add(-2.07); add(-1.0); add(-5.5); add(-0.02);add(-0.18); add(0.25); add(0.32); add(0.13);add(-2.16);add(2.03); add(-1.64); add(-1.72); add(3.41); add(3.3);add(0.21);add(-0.22); }} ); + STRUCTURE.put("GACTC",new ArrayList() {{add(4.53); add(-3.11); add(34.87); add(31.83); add(-3.57); add(-2.44); add(-5.82); add(-0.02);add(-0.05); add(0.26); add(0.4); add(0.1);add(-2.04);add(2.27);add(-1.71);add(-1.80); add(3.46); add(3.38);add(0.22);add(-0.22); }} ); + STRUCTURE.put("GACTT",new ArrayList() {{add(3.74); add(-4.07); add(35.44); add(33.16); add(-5.04); add(-4.01); add(-6.55); add(-0.02); add(0.32); add(0.25); add(0.41); add(0.08);add(-1.74);add(1.85); add(-1.73); add(-1.85); add(3.5); add(3.55);add(0.26);add(-0.34); }} ); + STRUCTURE.put("GACGA",new ArrayList() {{add(5.16); add(-7.11); add(34.18); add(33.65); add(-2.39); add(4.81); add(-5.3); add(-0.03); add(5.46); add(0.26); add(0.58); add(-0.02);add(-0.34);add(-0.13); add(-1.49); add(-1.59); add(3.33); add(3.48);add(0.26);add(-0.07); }} ); + STRUCTURE.put("GACGT",new ArrayList() {{add(4.7); add(-7.92); add(34.58); add(34.3); add(-3.06); add(5.05); add(-5.56); add(-0.03); add(5.94); add(0.28); add(0.72); add(-0.07);add(-0.28);add(-0.02); add(-1.51); add(-1.69); add(3.36); add(3.6);add(0.27);add(-0.03); }} ); + STRUCTURE.put("GATAA",new ArrayList() {{add(5.89); add(-7.66); add(31.94); add(34.59); add(-3.54); add(7.32); add(-7.18); add(-0.02); add(4.39); add(-0.11); add(-0.82); add(-0.02);add(-0.38);add(1.42); add(-1.49); add(-1.35); add(3.2); add(3.43);add(0.03);add(-0.13); }} ); + STRUCTURE.put("GATAT",new ArrayList() {{add(5.4); add(-8.3); add(32.32); add(35.01); add(-3.98); add(6.33); add(-7.44); add(-0.02); add(3.09); add(-0.09); add(-0.48); add(-0.1);add(-0.20);add(-0.08); add(-1.52); add(-1.51); add(3.22); add(3.46);add(0.02);add(-0.01); }} ); + STRUCTURE.put("GATCA",new ArrayList() {{add(4.77); add(-7.81); add(32.48); add(35.6); add(-4.67); add(-1.37); add(-7.84); add(-0.02); add(1.92); add(-0.1); add(-0.46); add(-0.11);add(-0.18);add(-1.04); add(-1.51); add(-1.56); add(3.24); add(3.34);add(-0.03);add(0.21); }} ); + STRUCTURE.put("GATCT",new ArrayList() {{add(4.36); add(-8.23); add(32.82); add(36.68); add(-5.53); add(-1.69); add(-8.19); add(-0.02); add(1.95); add(-0.08); add(0.19); add(-0.21);add(0.26);add(-2.56);add(-1.54);add(-1.68); add(3.27); add(3.49);add(0.03);add(0.17); }} ); + STRUCTURE.put("GATTA",new ArrayList() {{add(4.81); add(-10.25); add(32.72); add(35.28); add(-4.51); add(-2.32); add(-7.95); add(-0.02);add(-2.76); add(-0.15); add(-1.36); add(-0.03);add(-0.66);add(1.66); add(-1.53); add(-1.23); add(3.28); add(3.15);add(-0.15);add(0.15); }} ); + STRUCTURE.put("GATTC",new ArrayList() {{add(4.36); add(-9.46); add(32.93); add(35.53); add(-5.55); add(-3.18); add(-8.53); add(-0.02);add(-3.24); add(-0.15); add(-1.04); add(-0.05);add(-0.68);add(2.04); add(-1.57); add(-1.24); add(3.3); add(3.18);add(-0.16);add(0.11); }} ); + STRUCTURE.put("GATTT",new ArrayList() {{add(4.12); add(-12.27); add(33.42); add(36.55); add(-5.36); add(-2.43); add(-8.76); add(-0.02);add(-5.31); add(-0.16); add(-1.32); add(-0.03);add(-0.90);add(1.69); add(-1.55); add(-1.22); add(3.33); add(3.27);add(-0.23);add(-0.00); }} ); + STRUCTURE.put("GATGA",new ArrayList() {{add(5.08); add(-7.37); add(32.03); add(34.64); add(-4.68); add(4.02); add(-7.57); add(-0.02); add(3.91); add(-0.09); add(-0.35); add(-0.15);add(0.23);add(-1.08); add(-1.49); add(-1.52); add(3.22); add(3.47);add(0.02);add(0.32); }} ); + STRUCTURE.put("GATGT",new ArrayList() {{add(4.82); add(-8.65); add(32.37); add(35.37); add(-4.91); add(5.15); add(-7.6); add(-0.02); add(2.73); add(-0.09); add(-0.29); add(-0.19);add(0.36);add(-1.01); add(-1.49); add(-1.51); add(3.24); add(3.53);add(-0.01);add(0.34); }} ); + STRUCTURE.put("GAGAA",new ArrayList() {{add(4.67); add(-2.4); add(31.51); add(36.61); add(-2.79); add(-1.63); add(-6.16); add(-0.03); add(3.66); add(-0.26); add(0.16); add(0.12);add(-2.03);add(3.25); add(-1.75); add(-1.58); add(3.32); add(3.49);add(0.23);add(-0.28); }} ); + STRUCTURE.put("GAGAT",new ArrayList() {{add(4.74); add(-2.78); add(31.47); add(36.47); add(-2.16); add(-1.46); add(-5.95); add(-0.03); add(1.98); add(-0.26); add(0.26); add(0.08);add(-2.06);add(2.23); add(-1.76); add(-1.65); add(3.34); add(3.45);add(0.17);add(-0.19); }} ); + STRUCTURE.put("GAGCA",new ArrayList() {{add(5.1); add(-0.94); add(31.46); add(36.61); add(-2.44); add(-2.29); add(-5.61); add(-0.01); add(3.75); add(-0.25); add(0.24); add(0.19);add(-2.28);add(0.67); add(-1.71); add(-1.66); add(3.25); add(3.44);add(0.21);add(-0.01); }} ); + STRUCTURE.put("GAGCT",new ArrayList() {{add(4.63); add(-0.83); add(31.33); add(37.66); add(-2.86); add(-3.25); add(-5.79); add(-0.02); add(2.49); add(-0.25); add(0.35); add(0.12);add(-1.97);add(-0.03);add(-1.79);add(-1.77); add(3.33); add(3.53);add(0.24);add(-0.01); }} ); + STRUCTURE.put("GAGTA",new ArrayList() {{add(4.69); add(-3.05); add(31.76); add(34.56); add(-2.76); add(-3.67); add(-5.63); add(-0.02); add(0.27); add(-0.26); add(0.32); add(0.14);add(-2.39);add(1.34); add(-1.76); add(-1.69); add(3.34); add(3.42);add(0.21);add(-0.23); }} ); + STRUCTURE.put("GAGTT",new ArrayList() {{add(3.95); add(-5.23); add(32.41); add(36.03); add(-3.01); add(-4.38); add(-6.33); add(-0.03);add(-1.89); add(-0.24); add(0.41); add(0.07);add(-1.90);add(1.40); add(-1.8); add(-1.73); add(3.46); add(3.54);add(0.19);add(-0.38); }} ); + STRUCTURE.put("GAGGA",new ArrayList() {{add(4.8); add(-0.44); add(31.53); add(34.17); add(-2.86); add(-1.37); add(-5.52); add(-0.02); add(4.34); add(-0.27); add(0.28); add(0.16);add(-2.46);add(1.85);add(-1.79);add(-1.88); add(3.29); add(3.5);add(0.24);add(0.05); }} ); + STRUCTURE.put("GAGGT",new ArrayList() {{add(4.37); add(-0.88); add(31.49); add(34.93); add(-3.46); add(-2.35); add(-6.05); add(-0.02); add(3.23); add(-0.26); add(0.38); add(0.13);add(-2.32);add(1.86);add(-1.83);add(-1.92); add(3.35); add(3.56);add(0.24);add(0.05); }} ); + STRUCTURE.put("GCAAA",new ArrayList() {{add(5.41); add(-10.88); add(34.35); add(35.29); add(3.96); add(-3.68); add(-7.8); add(-0.03); add(1.9); add(0.1); add(-1.71); add(-0.24);add(2.02);add(-1.36);add(-1.24);add(-1.08); add(3.37); add(3.13);add(-0.54);add(-0.07); }} ); + STRUCTURE.put("GCAAC",new ArrayList() {{add(5.7); add(-10.75); add(34.8); add(35.02); add(4.66); add(-2.98); add(-6.99); add(-0.03); add(2.23); add(0.1); add(-1.35); add(-0.2);add(2.18);add(-2.16); add(-1.13); add(-1.1); add(3.3); add(3.09);add(-0.47);add(-0.05); }} ); + STRUCTURE.put("GCAAT",new ArrayList() {{add(5.15); add(-10.6); add(34.49); add(35.34); add(3.9); add(-2.92); add(-7.61); add(-0.03);add(-2.51); add(0.1); add(-0.93); add(-0.3);add(2.36);add(-2.36); add(-1.41); add(-1.19); add(3.44); add(3.17);add(-0.49);add(-0.13); }} ); + STRUCTURE.put("GCACA",new ArrayList() {{add(5.94); add(-8.3); add(35.01); add(33.55); add(3.31); add(-1.85); add(-6.5); add(-0.04); add(4.01); add(0.1); add(-0.96); add(0.05);add(1.01);add(-0.84); add(-1.16); add(-1.45); add(3.18); add(3.32);add(-0.32);add(0.31); }} ); + STRUCTURE.put("GCACC",new ArrayList() {{add(5.56); add(-7.89); add(34.26); add(34.16); add(2.97); add(-2.69); add(-6.87); add(-0.03); add(3.78); add(0.11); add(-0.73); add(0.0);add(1.06);add(-0.81);add(-1.27);add(-1.52); add(3.21); add(3.35);add(-0.31);add(0.28); }} ); + STRUCTURE.put("GCACT",new ArrayList() {{add(5.3); add(-7.68); add(33.99); add(34.58); add(2.74); add(-3.54); add(-7.05); add(-0.03); add(2.51); add(0.12); add(-0.4); add(-0.03);add(1.33);add(-1.99); add(-1.36); add(-1.66); add(3.25); add(3.44);add(-0.22);add(0.26); }} ); + STRUCTURE.put("GCATA",new ArrayList() {{add(5.76); add(-8.11); add(34.78); add(31.62); add(5.2); add(-2.97); add(-6.64); add(-0.02);add(-2.44); add(0.09); add(-0.68); add(-0.12);add(1.34);add(-0.56); add(-1.39); add(-1.46); add(3.37); add(3.2);add(-0.35);add(0.04); }} ); + STRUCTURE.put("GCATC",new ArrayList() {{add(5.38); add(-7.6); add(34.59); add(31.96); add(3.67); add(-4.24); add(-7.24); add(-0.02);add(-2.26); add(0.09); add(-0.48); add(-0.13);add(1.41);add(-0.22); add(-1.44); add(-1.48); add(3.36); add(3.23);add(-0.33);add(0.02); }} ); + STRUCTURE.put("GCATT",new ArrayList() {{add(4.89); add(-9.59); add(35.25); add(32.67); add(3.59); add(-5.22); add(-7.51); add(-0.02);add(-3.91); add(0.1); add(-0.33); add(-0.19);add(1.74);add(-0.78); add(-1.44); add(-1.52); add(3.43); add(3.3);add(-0.33);add(-0.12); }} ); + STRUCTURE.put("GCAGA",new ArrayList() {{add(5.75); add(-6.69); add(33.98); add(31.17); add(4.1); add(-1.2); add(-6.55); add(-0.03); add(1.03); add(0.09); add(-0.65); add(-0.07);add(0.83);add(-2.43); add(-1.43); add(-1.67); add(3.33); add(3.3);add(-0.32);add(0.21); }} ); + STRUCTURE.put("GCAGT",new ArrayList() {{add(5.4); add(-7.79); add(33.95); add(31.49); add(3.67); add(-1.42); add(-6.89); add(-0.03);add(-1.05); add(0.11); add(-0.54); add(-0.13);add(1.28);add(-2.68); add(-1.49); add(-1.69); add(3.36); add(3.34);add(-0.32);add(0.21); }} ); + STRUCTURE.put("GCCAA",new ArrayList() {{add(5.56); add(-3.85); add(33.0); add(34.72); add(-1.23); add(4.45); add(-5.24); add(-0.05); add(1.13); add(0.26); add(0.1); add(0.09);add(-0.44);add(2.56); add(-1.75); add(-1.33); add(3.3); add(3.4);add(-0.07);add(-0.47); }} ); + STRUCTURE.put("GCCAC",new ArrayList() {{add(5.46); add(-4.03); add(33.11); add(34.2); add(-1.52); add(3.09); add(-5.23); add(-0.04); add(0.18); add(0.26); add(0.05); add(0.12);add(-0.44);add(1.32); add(-1.7); add(-1.33); add(3.3); add(3.25);add(-0.15);add(-0.29); }} ); + STRUCTURE.put("GCCAT",new ArrayList() {{add(5.23); add(-3.12); add(33.39); add(34.93); add(-2.18); add(3.68); add(-5.43); add(-0.04);add(-0.53); add(0.27); add(0.22); add(0.09);add(-0.75);add(1.69); add(-1.78); add(-1.47); add(3.36); add(3.4);add(-0.12);add(-0.38); }} ); + STRUCTURE.put("GCCCA",new ArrayList() {{add(4.96); add(-2.77); add(33.75); add(33.45); add(-1.99); add(-2.07); add(-5.57); add(-0.04);add(-0.94); add(0.28); add(0.25); add(0.05);add(-0.56);add(-0.59);add(-1.79);add(-1.78); add(3.38); add(3.37);add(-0.11);add(-0.13); }} ); + STRUCTURE.put("GCCCC",new ArrayList() {{add(4.82); add(-2.13); add(33.68); add(33.56); add(-1.96); add(-2.02); add(-5.39); add(-0.05); add(0.07); add(0.29); add(0.3); add(0.01);add(-0.34);add(-0.34);add(-1.80);add(-1.86); add(3.36); add(3.39);add(-0.06);add(-0.08); }} ); + STRUCTURE.put("GCCCT",new ArrayList() {{add(4.73); add(-1.88); add(33.54); add(34.0); add(-2.16); add(-2.27); add(-5.05); add(-0.05);add(-1.06); add(0.3); add(0.37); add(0.01);add(-0.34);add(-1.13); add(-1.84); add(-1.9); add(3.4); add(3.45);add(-0.06);add(-0.12); }} ); + STRUCTURE.put("GCCTA",new ArrayList() {{add(4.97); add(-1.23); add(34.04); add(31.51); add(-1.96); add(-2.47); add(-5.65); add(-0.03);add(-4.0); add(0.25); add(0.19); add(0.16);add(-1.34);add(1.84); add(-1.86); add(-1.76); add(3.44); add(3.27);add(-0.11);add(-0.24); }} ); + STRUCTURE.put("GCCTC",new ArrayList() {{add(4.85); add(-0.7); add(33.92); add(31.38); add(-2.18); add(-2.42); add(-5.62); add(-0.02);add(-3.1); add(0.26); add(0.26); add(0.13);add(-1.30);add(2.32); add(-1.88); add(-1.8); add(3.43); add(3.3);add(-0.08);add(-0.22); }} ); + STRUCTURE.put("GCCTT",new ArrayList() {{add(4.51); add(-1.5); add(34.57); add(32.34); add(-2.62); add(-2.75); add(-5.64); add(-0.03);add(-3.5); add(0.28); add(0.28); add(0.14);add(-1.36);add(2.37);add(-1.86);add(-1.83); add(3.46); add(3.44);add(-0.07);add(-0.33); }} ); + STRUCTURE.put("GCCGA",new ArrayList() {{add(5.43); add(-3.4); add(32.95); add(32.47); add(-0.99); add(3.91); add(-5.23); add(-0.04); add(0.37); add(0.25); add(0.28); add(0.04);add(-0.33);add(0.78); add(-1.77); add(-1.61); add(3.33); add(3.38);add(-0.12);add(-0.06); }} ); + STRUCTURE.put("GCCGC",new ArrayList() {{add(5.37); add(-3.73); add(33.44); add(32.46); add(-1.31); add(2.78); add(-5.1); add(-0.04);add(-0.16); add(0.26); add(0.28); add(0.05);add(-0.22);add(0.55); add(-1.72); add(-1.61); add(3.34); add(3.33);add(-0.10);add(0.02); }} ); + STRUCTURE.put("GCCGT",new ArrayList() {{add(5.08); add(-3.97); add(33.79); add(33.55); add(-1.58); add(3.91); add(-5.1); add(-0.05); add(0.54); add(0.28); add(0.3); add(0.02);add(-0.27);add(0.97);add(-1.71);add(-1.65); add(3.35); add(3.48);add(-0.09);add(-0.03); }} ); + STRUCTURE.put("GCTAA",new ArrayList() {{add(5.82); add(-6.12); add(31.43); add(34.68); add(-2.69); add(5.63); add(-6.93); add(-0.03); add(0.87); add(-0.11); add(-1.05); add(0.05);add(1.38);add(1.45); add(-1.7); add(-1.36); add(3.23); add(3.35);add(-0.23);add(-0.13); }} ); + STRUCTURE.put("GCTAC",new ArrayList() {{add(5.88); add(-6.96); add(31.25); add(34.48); add(-2.28); add(4.45); add(-6.83); add(-0.03);add(-0.14); add(-0.11); add(-0.94); add(0.04);add(1.53);add(0.11); add(-1.71); add(-1.36); add(3.25); add(3.23);add(-0.26);add(-0.03); }} ); + STRUCTURE.put("GCTAT",new ArrayList() {{add(5.37); add(-6.84); add(31.21); add(34.96); add(-2.59); add(4.96); add(-7.0); add(-0.02);add(-0.65); add(-0.09); add(-0.45); add(-0.02);add(1.68);add(0.72);add(-1.80);add(-1.52); add(3.3); add(3.43);add(-0.22);add(-0.04); }} ); + STRUCTURE.put("GCTCA",new ArrayList() {{add(5.4); add(-6.75); add(31.45); add(34.81); add(-2.11); add(-0.9); add(-7.07); add(-0.03);add(-0.72); add(-0.1); add(-0.72); add(-0.04);add(2.09);add(-0.68); add(-1.73); add(-1.54); add(3.27); add(3.26);add(-0.23);add(0.18); }} ); + STRUCTURE.put("GCTCC",new ArrayList() {{add(5.05); add(-6.07); add(31.38); add(35.75); add(-2.75); add(-1.59); add(-7.34); add(-0.02);add(-0.19); add(-0.08); add(-0.25); add(-0.07);add(2.24);add(-0.58);add(-1.73);add(-1.54); add(3.26); add(3.3);add(-0.20);add(0.17); }} ); + STRUCTURE.put("GCTCT",new ArrayList() {{add(5.04); add(-6.5); add(31.62); add(35.84); add(-2.48); add(-1.41); add(-7.25); add(-0.02);add(-1.99); add(-0.06); add(-0.1); add(-0.08);add(2.51);add(-1.62); add(-1.76); add(-1.61); add(3.31); add(3.36);add(-0.19);add(0.15); }} ); + STRUCTURE.put("GCTTA",new ArrayList() {{add(5.01); add(-8.92); add(32.17); add(34.85); add(-2.56); add(-2.87); add(-7.49); add(-0.03);add(-6.15); add(-0.14); add(-1.23); add(0.05);add(1.99);add(1.80); add(-1.77); add(-1.26); add(3.38); add(3.11);add(-0.34);add(0.07); }} ); + STRUCTURE.put("GCTTC",new ArrayList() {{add(4.82); add(-8.01); add(32.06); add(34.96); add(-2.79); add(-3.36); add(-7.86); add(-0.02);add(-4.95); add(-0.13); add(-0.94); add(0.02);add(2.17);add(2.20); add(-1.77); add(-1.26); add(3.35); add(3.13);add(-0.29);add(0.07); }} ); + STRUCTURE.put("GCTTT",new ArrayList() {{add(4.03); add(-10.58); add(32.81); add(36.56); add(-3.95); add(-5.07); add(-8.76); add(0.0);add(-8.27); add(-0.13); add(-0.74); add(0.08);add(1.93);add(1.93); add(-1.79); add(-1.24); add(3.47); add(3.25);add(-0.34);add(-0.15); }} ); + STRUCTURE.put("GCTGA",new ArrayList() {{add(5.74); add(-6.36); add(31.14); add(34.29); add(-2.0); add(4.93); add(-6.7); add(-0.04);add(-0.03); add(-0.09); add(-0.89); add(-0.06);add(2.37);add(-0.77); add(-1.67); add(-1.38); add(3.24); add(3.35);add(-0.23);add(0.26); }} ); + STRUCTURE.put("GCTGC",new ArrayList() {{add(5.67); add(-6.76); add(31.29); add(34.49); add(-2.09); add(3.55); add(-6.71); add(-0.03);add(-1.06); add(-0.09); add(-0.7); add(-0.05);add(2.43);add(-1.10); add(-1.67); add(-1.37); add(3.27); add(3.28);add(-0.24);add(0.27); }} ); + STRUCTURE.put("GCTGT",new ArrayList() {{add(5.31); add(-7.34); add(31.35); add(35.03); add(-2.1); add(5.07); add(-6.99); add(-0.03);add(-0.46); add(-0.08); add(-0.51); add(-0.1);add(2.51);add(-0.64); add(-1.68); add(-1.46); add(3.28); add(3.44);add(-0.23);add(0.29); }} ); + STRUCTURE.put("GCGAA",new ArrayList() {{add(5.53); add(-6.08); add(32.71); add(35.53); add(3.79); add(-0.23); add(-5.38); add(-0.04);add(-0.44); add(-0.26); add(0.3); add(-0.01);add(0.12);add(1.49); add(-1.53); add(-1.39); add(3.34); add(3.33);add(-0.09);add(-0.28); }} ); + STRUCTURE.put("GCGAC",new ArrayList() {{add(5.56); add(-6.9); add(32.7); add(35.46); add(4.64); add(-1.39); add(-5.06); add(-0.04);add(-1.25); add(-0.27); add(0.34); add(-0.03);add(0.13);add(0.10); add(-1.52); add(-1.36); add(3.36); add(3.2);add(-0.13);add(-0.18); }} ); + STRUCTURE.put("GCGAT",new ArrayList() {{add(5.28); add(-6.96); add(32.49); add(35.82); add(4.15); add(-0.66); add(-5.24); add(-0.03);add(-2.84); add(-0.26); add(0.44); add(-0.08);add(0.52);add(0.45); add(-1.62); add(-1.49); add(3.42); add(3.32);add(-0.05);add(-0.21); }} ); + STRUCTURE.put("GCGCA",new ArrayList() {{add(5.71); add(-3.94); add(32.79); add(35.52); add(3.54); add(-0.67); add(-4.75); add(-0.03); add(0.07); add(-0.25); add(0.3); add(0.08);add(-0.19);add(-0.42); add(-1.51); add(-1.51); add(3.29); add(3.36);add(-0.04);add(-0.01); }} ); + STRUCTURE.put("GCGCC",new ArrayList() {{add(5.41); add(-3.39); add(32.32); add(36.24); add(2.85); add(-1.71); add(-5.12); add(-0.03); add(0.35); add(-0.25); add(0.39); add(0.06);add(-0.21);add(-0.09); add(-1.58); add(-1.57); add(3.31); add(3.39);add(-0.00);add(0.02); }} ); + STRUCTURE.put("GCGCT",new ArrayList() {{add(5.18); add(-3.87); add(32.08); add(36.76); add(2.89); add(-1.92); add(-5.21); add(-0.03);add(-1.32); add(-0.25); add(0.44); add(0.02);add(-0.01);add(-1.09); add(-1.66); add(-1.64); add(3.37); add(3.44);add(0.02);add(0.01); }} ); + STRUCTURE.put("GCGTA",new ArrayList() {{add(5.32); add(-7.22); add(33.14); add(33.93); add(4.31); add(-2.07); add(-5.03); add(-0.03);add(-4.59); add(-0.27); add(0.56); add(0.0);add(0.16);add(0.19);add(-1.62);add(-1.49); add(3.43); add(3.3);add(-0.04);add(-0.23); }} ); + STRUCTURE.put("GCGTC",new ArrayList() {{add(5.09); add(-7.38); add(33.02); add(34.21); add(4.23); add(-2.45); add(-5.25); add(-0.02);add(-5.02); add(-0.26); add(0.64); add(-0.03);add(0.26);add(0.47); add(-1.66); add(-1.5); add(3.46); add(3.34);add(-0.03);add(-0.25); }} ); + STRUCTURE.put("GCGTT",new ArrayList() {{add(4.64); add(-9.91); add(33.41); add(35.06); add(4.64); add(-2.93); add(-5.56); add(-0.02);add(-7.71); add(-0.26); add(0.88); add(-0.09);add(0.58);add(-0.21); add(-1.71); add(-1.53); add(3.56); add(3.4);add(-0.03);add(-0.44); }} ); + STRUCTURE.put("GCGGA",new ArrayList() {{add(5.27); add(-3.15); add(32.42); add(33.51); add(2.4); add(-0.89); add(-5.2); add(-0.04); add(1.29); add(-0.25); add(0.27); add(0.08);add(-0.68);add(0.72); add(-1.6); add(-1.74); add(3.3); add(3.41);add(0.01);add(0.09); }} ); + STRUCTURE.put("GCGGT",new ArrayList() {{add(5.08); add(-4.55); add(32.31); add(34.31); add(2.79); add(-0.62); add(-5.23); add(-0.04);add(-0.53); add(-0.25); add(0.35); add(0.03);add(-0.54);add(0.54); add(-1.66); add(-1.75); add(3.38); add(3.43);add(0.01);add(0.06); }} ); + STRUCTURE.put("GTAAA",new ArrayList() {{add(5.91); add(-11.89); add(34.25); add(35.53); add(6.47); add(-0.99); add(-7.24); add(-0.02); add(0.88); add(0.09); add(-1.2); add(-0.18);add(1.47);add(-0.93); add(-1.24); add(-1.06); add(3.3); add(3.17);add(-0.12);add(-0.23); }} ); + STRUCTURE.put("GTAAT",new ArrayList() {{add(5.44); add(-11.34); add(34.68); add(35.53); add(5.03); add(-2.51); add(-7.55); add(-0.02);add(-2.23); add(0.11); add(-1.02); add(-0.2);add(1.55);add(-1.79); add(-1.34); add(-1.21); add(3.34); add(3.16);add(-0.12);add(-0.15); }} ); + STRUCTURE.put("GTACA",new ArrayList() {{add(6.2); add(-8.0); add(34.52); add(33.68); add(4.26); add(-1.75); add(-6.58); add(-0.04); add(1.23); add(0.11); add(-1.12); add(0.12);add(-0.24);add(-0.36); add(-1.26); add(-1.47); add(3.16); add(3.29);add(-0.02);add(0.26); }} ); + STRUCTURE.put("GTACT",new ArrayList() {{add(5.54); add(-8.16); add(33.82); add(34.74); add(4.94); add(-2.73); add(-6.89); add(-0.03); add(0.49); add(0.12); add(-0.96); add(0.05);add(0.11);add(-1.52); add(-1.39); add(-1.63); add(3.23); add(3.4);add(0.04);add(0.23); }} ); + STRUCTURE.put("GTATA",new ArrayList() {{add(6.01); add(-7.88); add(34.63); add(31.78); add(5.6); add(-2.8); add(-6.72); add(-0.02);add(-3.57); add(0.09); add(-0.7); add(0.0);add(-0.23);add(0.07);add(-1.36);add(-1.48); add(3.3); add(3.19);add(-0.01);add(-0.00); }} ); + STRUCTURE.put("GTATC",new ArrayList() {{add(5.65); add(-8.06); add(34.46); add(32.1); add(5.72); add(-3.62); add(-7.1); add(-0.02);add(-3.37); add(0.1); add(-0.77); add(-0.03);add(-0.01);add(0.40); add(-1.4); add(-1.49); add(3.31); add(3.21);add(-0.00);add(0.01); }} ); + STRUCTURE.put("GTATT",new ArrayList() {{add(5.3); add(-10.45); add(34.79); add(32.78); add(6.24); add(-4.27); add(-7.43); add(-0.01);add(-5.26); add(0.1); add(-0.67); add(-0.1);add(0.45);add(-0.19); add(-1.41); add(-1.53); add(3.38); add(3.28);add(-0.01);add(-0.16); }} ); + STRUCTURE.put("GTAGA",new ArrayList() {{add(5.76); add(-6.38); add(34.42); add(30.99); add(4.12); add(-2.44); add(-6.72); add(-0.03); add(0.25); add(0.12); add(-1.22); add(0.05);add(0.01);add(-1.59); add(-1.33); add(-1.66); add(3.21); add(3.27);add(0.05);add(0.29); }} ); + STRUCTURE.put("GTAGT",new ArrayList() {{add(5.62); add(-8.16); add(34.24); add(31.68); add(4.89); add(-1.63); add(-6.99); add(-0.03);add(-1.64); add(0.12); add(-0.92); add(-0.03);add(0.23);add(-1.84); add(-1.42); add(-1.7); add(3.28); add(3.31);add(-0.02);add(0.23); }} ); + STRUCTURE.put("GTCAA",new ArrayList() {{add(5.91); add(-7.07); add(34.78); add(34.61); add(-0.77); add(6.83); add(-5.27); add(-0.04); add(2.55); add(0.28); add(0.19); add(0.02);add(-0.62);add(2.01); add(-1.43); add(-1.2); add(3.2); add(3.43);add(0.22);add(-0.41); }} ); + STRUCTURE.put("GTCAC",new ArrayList() {{add(6.01); add(-6.82); add(35.33); add(34.6); add(-1.42); add(4.03); add(-5.13); add(-0.04); add(0.8); add(0.28); add(0.26); add(0.05);add(-0.31);add(0.75);add(-1.34);add(-1.17); add(3.18); add(3.26);add(0.21);add(-0.24); }} ); + STRUCTURE.put("GTCAT",new ArrayList() {{add(5.45); add(-6.37); add(35.47); add(35.1); add(-2.06); add(5.16); add(-5.56); add(-0.04); add(0.82); add(0.29); add(0.26); add(0.02);add(-0.62);add(0.86); add(-1.41); add(-1.37); add(3.22); add(3.42);add(0.16);add(-0.30); }} ); + STRUCTURE.put("GTCCA",new ArrayList() {{add(5.19); add(-5.78); add(36.11); add(33.79); add(-2.08); add(-0.37); add(-5.41); add(-0.04);add(-0.02); add(0.28); add(0.23); add(0.0);add(-0.64);add(-1.09);add(-1.41);add(-1.68); add(3.25); add(3.38);add(0.14);add(-0.06); }} ); + STRUCTURE.put("GTCCT",new ArrayList() {{add(4.81); add(-5.39); add(36.03); add(34.49); add(-2.19); add(-0.96); add(-5.48); add(-0.05); add(0.59); add(0.31); add(0.37); add(-0.05);add(-0.27);add(-1.76); add(-1.42); add(-1.83); add(3.24); add(3.49);add(0.19);add(-0.03); }} ); + STRUCTURE.put("GTCTA",new ArrayList() {{add(5.32); add(-3.62); add(36.16); add(31.64); add(-1.45); add(-1.45); add(-5.33); add(-0.03);add(-3.6); add(0.26); add(0.11); add(0.13);add(-1.91);add(1.65);add(-1.50);add(-1.67); add(3.33); add(3.27);add(0.15);add(-0.17); }} ); + STRUCTURE.put("GTCTC",new ArrayList() {{add(5.04); add(-3.46); add(36.17); add(31.76); add(-1.85); add(-1.45); add(-5.7); add(-0.03);add(-2.75); add(0.27); add(0.16); add(0.1);add(-1.74);add(2.15); add(-1.5); add(-1.69); add(3.32); add(3.32);add(0.16);add(-0.16); }} ); + STRUCTURE.put("GTCTT",new ArrayList() {{add(4.65); add(-3.82); add(36.4); add(32.56); add(-2.37); add(-2.15); add(-5.94); add(-0.03);add(-3.39); add(0.28); add(0.17); add(0.12);add(-1.75);add(1.97);add(-1.51);add(-1.75); add(3.34); add(3.43);add(0.17);add(-0.27); }} ); + STRUCTURE.put("GTCGA",new ArrayList() {{add(5.64); add(-6.68); add(35.51); add(33.06); add(-1.63); add(5.38); add(-5.03); add(-0.04); add(1.89); add(0.27); add(0.34); add(-0.04);add(-0.04);add(0.01);add(-1.36);add(-1.51); add(3.2); add(3.43);add(0.20);add(0.06); }} ); + STRUCTURE.put("GTCGT",new ArrayList() {{add(5.34); add(-6.61); add(35.7); add(33.73); add(-2.42); add(5.01); add(-5.43); add(-0.04); add(0.47); add(0.28); add(0.32); add(-0.03);add(-0.23);add(-0.13); add(-1.36); add(-1.51); add(3.21); add(3.42);add(0.10);add(0.06); }} ); + STRUCTURE.put("GTTAA",new ArrayList() {{add(5.85); add(-10.44); add(35.05); add(34.36); add(-2.86); add(7.53); add(-7.16); add(-0.02); add(0.18); add(-0.1); add(-1.18); add(-0.14);add(1.35);add(0.24); add(-1.14); add(-1.22); add(3.07); add(3.42);add(0.13);add(0.02); }} ); + STRUCTURE.put("GTTAC",new ArrayList() {{add(5.86); add(-10.83); add(35.06); add(34.23); add(-2.71); add(5.89); add(-7.05); add(-0.02);add(-0.49); add(-0.1); add(-1.14); add(-0.14);add(1.43);add(-1.01); add(-1.14); add(-1.28); add(3.08); add(3.29);add(0.11);add(0.14); }} ); + STRUCTURE.put("GTTAT",new ArrayList() {{add(5.62); add(-10.51); add(35.5); add(34.54); add(-3.5); add(6.14); add(-7.36); add(-0.03);add(-2.01); add(-0.1); add(-1.34); add(-0.15);add(1.51);add(-1.34); add(-1.13); add(-1.31); add(3.09); add(3.37);add(0.07);add(0.10); }} ); + STRUCTURE.put("GTTCA",new ArrayList() {{add(5.35); add(-10.38); add(35.57); add(35.12); add(-2.98); add(0.09); add(-7.41); add(-0.03);add(-1.8); add(-0.1); add(-1.18); add(-0.18);add(1.83);add(-1.70); add(-1.11); add(-1.41); add(3.08); add(3.31);add(0.10);add(0.33); }} ); + STRUCTURE.put("GTTCT",new ArrayList() {{add(4.85); add(-10.59); add(35.7); add(36.45); add(-3.03); add(-0.56); add(-7.86); add(-0.03);add(-1.88); add(-0.07); add(-0.65); add(-0.24);add(2.29);add(-2.71); add(-1.09); add(-1.48); add(3.1); add(3.42);add(0.14);add(0.34); }} ); + STRUCTURE.put("GTTTA",new ArrayList() {{add(5.1); add(-13.54); add(36.4); add(35.72); add(-2.84); add(-1.29); add(-7.85); add(-0.03);add(-8.3); add(-0.15); add(-1.99); add(-0.09);add(1.74);add(1.09); add(-1.07); add(-0.99); add(3.15); add(3.14);add(-0.04);add(0.30); }} ); + STRUCTURE.put("GTTTC",new ArrayList() {{add(4.74); add(-12.76); add(36.17); add(36.01); add(-3.35); add(-2.18); add(-8.38); add(-0.03);add(-6.57); add(-0.14); add(-1.63); add(-0.11);add(1.77);add(1.47); add(-1.11); add(-1.02); add(3.15); add(3.15);add(-0.00);add(0.29); }} ); + STRUCTURE.put("GTTTT",new ArrayList() {{add(4.05); add(-14.47); add(36.95); add(37.13); add(-4.8); add(-3.62); add(-8.97); add(-0.01);add(-9.07); add(-0.15); add(-1.9); add(-0.06);add(1.62);add(1.19);add(-1.11);add(-1.01); add(3.19); add(3.21);add(-0.13);add(0.11); }} ); + STRUCTURE.put("GTTGA",new ArrayList() {{add(5.65); add(-10.22); add(34.93); add(34.69); add(-3.34); add(5.39); add(-7.09); add(-0.03);add(-2.31); add(-0.1); add(-1.54); add(-0.18);add(2.06);add(-1.78); add(-1.12); add(-1.1); add(3.08); add(3.35);add(0.04);add(0.43); }} ); + STRUCTURE.put("GTTGT",new ArrayList() {{add(5.58); add(-11.7); add(35.25); add(35.22); add(-3.26); add(6.2); add(-6.99); add(-0.03);add(-2.61); add(-0.09); add(-1.41); add(-0.23);add(2.03);add(-2.26);add(-1.14);add(-1.16); add(3.12); add(3.4);add(-0.02);add(0.47); }} ); + STRUCTURE.put("GTGAA",new ArrayList() {{add(5.94); add(-6.21); add(34.78); add(34.8); add(4.07); add(0.69); add(-5.32); add(-0.04); add(0.19); add(-0.26); add(0.16); add(0.07);add(-0.88);add(1.90); add(-1.17); add(-1.44); add(3.23); add(3.34);add(0.30);add(-0.30); }} ); + STRUCTURE.put("GTGAT",new ArrayList() {{add(5.35); add(-6.53); add(34.03); add(35.64); add(3.72); add(-0.51); add(-5.68); add(-0.04);add(-1.81); add(-0.27); add(0.3); add(0.02);add(-0.77);add(1.24); add(-1.39); add(-1.55); add(3.33); add(3.36);add(0.26);add(-0.21); }} ); + STRUCTURE.put("GTGCA",new ArrayList() {{add(5.94); add(-3.74); add(34.64); add(35.46); add(2.85); add(-0.76); add(-4.97); add(-0.04); add(0.39); add(-0.25); add(0.18); add(0.17);add(-1.21);add(0.26); add(-1.2); add(-1.5); add(3.19); add(3.36);add(0.28);add(0.05); }} ); + STRUCTURE.put("GTGCT",new ArrayList() {{add(5.43); add(-3.79); add(34.03); add(36.67); add(2.81); add(-1.72); add(-5.27); add(-0.04);add(-1.44); add(-0.25); add(0.28); add(0.09);add(-1.10);add(-0.57);add(-1.39);add(-1.63); add(3.3); add(3.43);add(0.32);add(0.04); }} ); + STRUCTURE.put("GTGTA",new ArrayList() {{add(5.74); add(-6.58); add(34.99); add(33.6); add(3.4); add(-2.01); add(-5.08); add(-0.04);add(-3.97); add(-0.26); add(0.36); add(0.13);add(-1.16);add(0.52); add(-1.21); add(-1.45); add(3.26); add(3.29);add(0.27);add(-0.22); }} ); + STRUCTURE.put("GTGTC",new ArrayList() {{add(5.49); add(-7.25); add(34.92); add(34.03); add(4.23); add(-2.01); add(-5.39); add(-0.03);add(-4.45); add(-0.26); add(0.41); add(0.08);add(-0.94);add(0.99); add(-1.27); add(-1.48); add(3.32); add(3.33);add(0.32);add(-0.22); }} ); + STRUCTURE.put("GTGTT",new ArrayList() {{add(5.05); add(-9.4); add(35.07); add(34.68); add(4.19); add(-2.42); add(-5.66); add(-0.03);add(-6.45); add(-0.26); add(0.54); add(0.03);add(-0.39);add(0.59); add(-1.32); add(-1.52); add(3.39); add(3.39);add(0.34);add(-0.38); }} ); + STRUCTURE.put("GTGGA",new ArrayList() {{add(5.58); add(-3.48); add(34.34); add(33.75); add(2.75); add(-0.49); add(-5.25); add(-0.04); add(1.24); add(-0.26); add(0.16); add(0.14);add(-1.66);add(1.22);add(-1.36);add(-1.73); add(3.25); add(3.4);add(0.31);add(0.09); }} ); + STRUCTURE.put("GTGGT",new ArrayList() {{add(5.38); add(-5.0); add(34.18); add(34.37); add(3.35); add(-0.49); add(-5.43); add(-0.05);add(-0.68); add(-0.25); add(0.16); add(0.1);add(-1.43);add(0.80);add(-1.38);add(-1.71); add(3.29); add(3.4);add(0.30);add(0.09); }} ); + STRUCTURE.put("GGAAA",new ArrayList() {{add(4.63); add(-10.09); add(36.46); add(35.97); add(-1.41); add(-3.36); add(-8.22); add(-0.03); add(0.13); add(0.08); add(-0.69); add(-0.26);add(1.83);add(-1.27); add(-1.44); add(-1.07); add(3.39); add(3.17);add(-0.33);add(-0.26); }} ); + STRUCTURE.put("GGAAC",new ArrayList() {{add(4.84); add(-9.91); add(36.02); add(35.48); add(-1.77); add(-3.78); add(-7.81); add(-0.03); add(0.99); add(0.08); add(-0.73); add(-0.21);add(1.29);add(-1.94);add(-1.41);add(-1.13); add(3.36); add(3.09);add(-0.37);add(-0.10); }} ); + STRUCTURE.put("GGAAT",new ArrayList() {{add(4.69); add(-9.61); add(35.99); add(35.6); add(-0.88); add(-3.73); add(-8.21); add(-0.03);add(-1.64); add(0.09); add(-0.69); add(-0.27);add(2.02);add(-2.03); add(-1.51); add(-1.23); add(3.4); add(3.16);add(-0.28);add(-0.12); }} ); + STRUCTURE.put("GGACA",new ArrayList() {{add(5.02); add(-7.71); add(36.22); add(34.09); add(-2.2); add(-2.88); add(-7.24); add(-0.01); add(3.61); add(0.09); add(-0.14); add(0.02);add(0.11);add(-0.82);add(-1.37);add(-1.54); add(3.22); add(3.34);add(-0.22);add(0.25); }} ); + STRUCTURE.put("GGACT",new ArrayList() {{add(4.51); add(-7.34); add(35.78); add(34.97); add(-2.46); add(-4.26); add(-7.68); add(-0.01); add(2.6); add(0.1); add(0.29); add(-0.05);add(0.84);add(-2.09);add(-1.49);add(-1.73); add(3.28); add(3.48);add(-0.09);add(0.20); }} ); + STRUCTURE.put("GGATA",new ArrayList() {{add(4.98); add(-7.47); add(36.04); add(32.31); add(-1.31); add(-4.17); add(-7.48); add(-0.01);add(-2.48); add(0.08); add(-0.29); add(-0.11);add(0.62);add(-0.42);add(-1.55);add(-1.52); add(3.36); add(3.22);add(-0.21);add(-0.01); }} ); + STRUCTURE.put("GGATC",new ArrayList() {{add(4.63); add(-7.56); add(36.29); add(32.41); add(-1.67); add(-4.63); add(-7.65); add(-0.02);add(-3.13); add(0.08); add(-0.1); add(-0.16);add(0.97);add(-0.23);add(-1.59);add(-1.52); add(3.41); add(3.24);add(-0.22);add(-0.05); }} ); + STRUCTURE.put("GGATT",new ArrayList() {{add(4.19); add(-9.67); add(36.57); add(33.31); add(-0.9); add(-5.81); add(-8.4); add(-0.02);add(-4.52); add(0.09); add(-0.06); add(-0.22);add(1.48);add(-0.86);add(-1.61);add(-1.57); add(3.46); add(3.33);add(-0.21);add(-0.19); }} ); + STRUCTURE.put("GGAGA",new ArrayList() {{add(4.92); add(-6.1); add(35.79); add(31.48); add(-2.03); add(-2.23); add(-7.26); add(-0.02); add(1.08); add(0.08); add(-0.04); add(-0.07);add(0.39);add(-2.03);add(-1.54);add(-1.76); add(3.3); add(3.33);add(-0.16);add(0.17); }} ); + STRUCTURE.put("GGAGT",new ArrayList() {{add(4.73); add(-6.75); add(35.76); add(31.81); add(-2.04); add(-2.84); add(-7.61); add(-0.02); add(0.03); add(0.09); add(-0.09); add(-0.09);add(0.79);add(-2.23); add(-1.56); add(-1.78); add(3.31); add(3.37);add(-0.13);add(0.20); }} ); + STRUCTURE.put("GGCAA",new ArrayList() {{add(5.3); add(-3.14); add(36.34); add(34.5); add(-2.26); add(3.97); add(-5.51); add(-0.03); add(1.06); add(0.25); add(0.24); add(0.1);add(-0.26);add(2.30); add(-1.6); add(-1.36); add(3.39); add(3.4);add(-0.01);add(-0.47); }} ); + STRUCTURE.put("GGCAC",new ArrayList() {{add(5.66); add(-3.41); add(36.31); add(34.22); add(-1.35); add(3.05); add(-5.18); add(-0.04);add(-0.67); add(0.25); add(0.21); add(0.14);add(-0.54);add(0.97); add(-1.54); add(-1.29); add(3.38); add(3.21);add(-0.07);add(-0.34); }} ); + STRUCTURE.put("GGCAT",new ArrayList() {{add(5.33); add(-3.12); add(36.28); add(34.66); add(-1.93); add(4.26); add(-5.23); add(-0.04);add(-0.1); add(0.26); add(0.33); add(0.09);add(-0.28);add(1.67); add(-1.61); add(-1.46); add(3.39); add(3.4);add(-0.01);add(-0.36); }} ); + STRUCTURE.put("GGCCA",new ArrayList() {{add(4.93); add(-2.54); add(37.04); add(33.23); add(-2.42); add(-1.76); add(-5.35); add(-0.03);add(-1.1); add(0.27); add(0.35); add(0.06);add(-0.24);add(-0.59);add(-1.62);add(-1.76); add(3.42); add(3.33);add(-0.04);add(-0.11); }} ); + STRUCTURE.put("GGCCC",new ArrayList() {{add(4.77); add(-1.93); add(36.61); add(33.57); add(-2.4); add(-2.36); add(-5.45); add(-0.04);add(-0.05); add(0.29); add(0.41); add(0.02);add(0.11);add(-0.48);add(-1.63);add(-1.82); add(3.41); add(3.39);add(0.01);add(-0.08); }} ); + STRUCTURE.put("GGCCT",new ArrayList() {{add(4.72); add(-2.2); add(36.64); add(33.71); add(-2.34); add(-1.89); add(-5.29); add(-0.04);add(-0.4); add(0.3); add(0.46); add(0.0);add(0.28);add(-1.38);add(-1.67);add(-1.90); add(3.43); add(3.44);add(0.04);add(-0.09); }} ); + STRUCTURE.put("GGCTA",new ArrayList() {{add(5.0); add(-1.22); add(37.31); add(31.35); add(-2.39); add(-2.77); add(-5.49); add(-0.02);add(-4.28); add(0.24); add(0.28); add(0.17);add(-1.10);add(1.44);add(-1.66);add(-1.71); add(3.47); add(3.25);add(-0.03);add(-0.27); }} ); + STRUCTURE.put("GGCTC",new ArrayList() {{add(4.67); add(-0.53); add(37.09); add(31.39); add(-3.07); add(-2.76); add(-5.58); add(-0.01);add(-3.79); add(0.25); add(0.39); add(0.14);add(-1.13);add(2.07);add(-1.73);add(-1.76); add(3.48); add(3.3);add(-0.03);add(-0.24); }} ); + STRUCTURE.put("GGCTT",new ArrayList() {{add(4.17); add(-1.55); add(37.74); add(32.49); add(-4.34); add(-3.7); add(-6.1); add(-0.02);add(-3.28); add(0.26); add(0.43); add(0.14);add(-0.91);add(1.75); add(-1.71); add(-1.81); add(3.51); add(3.46);add(-0.00);add(-0.35); }} ); + STRUCTURE.put("GGCGA",new ArrayList() {{add(5.4); add(-2.99); add(36.2); add(32.6); add(-1.65); add(3.27); add(-5.06); add(-0.03); add(0.17); add(0.25); add(0.42); add(0.05);add(-0.05);add(0.38);add(-1.60);add(-1.56); add(3.39); add(3.35);add(-0.05);add(-0.09); }} ); + STRUCTURE.put("GGCGT",new ArrayList() {{add(5.08); add(-3.63); add(36.67); add(33.32); add(-2.09); add(3.67); add(-5.1); add(-0.04); add(0.29); add(0.27); add(0.41); add(0.03);add(0.11);add(0.48);add(-1.57);add(-1.62); add(3.39); add(3.44);add(-0.03);add(-0.05); }} ); + STRUCTURE.put("GGTAA",new ArrayList() {{add(5.43); add(-7.21); add(34.56); add(34.64); add(-3.71); add(5.01); add(-7.44); add(-0.02);add(-1.52); add(-0.12); add(-0.86); add(0.08);add(0.19);add(1.54); add(-1.56); add(-1.34); add(3.34); add(3.33);add(-0.24);add(-0.12); }} ); + STRUCTURE.put("GGTAC",new ArrayList() {{add(5.84); add(-8.12); add(34.34); add(34.23); add(-2.37); add(4.32); add(-6.84); add(-0.03);add(-2.68); add(-0.12); add(-0.86); add(0.07);add(0.35);add(-0.04);add(-1.54);add(-1.32); add(3.35); add(3.18);add(-0.27);add(-0.01); }} ); + STRUCTURE.put("GGTAT",new ArrayList() {{add(5.46); add(-8.36); add(34.69); add(34.56); add(-2.59); add(5.39); add(-7.03); add(-0.03);add(-3.27); add(-0.11); add(-0.57); add(0.0);add(0.69);add(-0.05);add(-1.59);add(-1.40); add(3.37); add(3.31);add(-0.24);add(-0.02); }} ); + STRUCTURE.put("GGTCA",new ArrayList() {{add(4.94); add(-7.96); add(34.83); add(35.47); add(-3.46); add(-2.01); add(-7.65); add(-0.02);add(-4.35); add(-0.11); add(-0.39); add(0.01);add(0.64);add(-0.61); add(-1.57); add(-1.41); add(3.39); add(3.22);add(-0.27);add(0.16); }} ); + STRUCTURE.put("GGTCC",new ArrayList() {{add(4.8); add(-7.55); add(34.71); add(35.8); add(-3.32); add(-2.12); add(-7.46); add(-0.02);add(-3.58); add(-0.1); add(-0.05); add(-0.03);add(0.96);add(-0.45);add(-1.59);add(-1.44); add(3.39); add(3.25);add(-0.22);add(0.17); }} ); + STRUCTURE.put("GGTCT",new ArrayList() {{add(4.73); add(-8.04); add(34.74); add(36.1); add(-3.14); add(-1.9); add(-7.44); add(-0.02);add(-4.49); add(-0.09); add(0.21); add(-0.08);add(1.23);add(-1.91);add(-1.63);add(-1.51); add(3.41); add(3.33);add(-0.21);add(0.15); }} ); + STRUCTURE.put("GGTTA",new ArrayList() {{add(4.87); add(-10.83); add(35.3); add(35.08); add(-3.26); add(-3.03); add(-7.76); add(-0.02);add(-9.38); add(-0.16); add(-1.12); add(0.07);add(0.17);add(1.43);add(-1.59);add(-1.15); add(3.44); add(3.08);add(-0.42);add(0.09); }} ); + STRUCTURE.put("GGTTC",new ArrayList() {{add(4.46); add(-10.08); add(35.19); add(35.45); add(-3.59); add(-3.83); add(-8.2); add(-0.02);add(-8.53); add(-0.15); add(-0.91); add(0.06);add(0.53);add(1.83); add(-1.6); add(-1.16); add(3.44); add(3.11);add(-0.33);add(0.08); }} ); + STRUCTURE.put("GGTTT",new ArrayList() {{add(4.06); add(-12.41); add(36.2); add(36.34); add(-4.65); add(-3.75); add(-9.12); add(0.0);add(-12.05); add(-0.16); add(-0.58); add(0.09);add(-0.09);add(1.53);add(-1.63);add(-1.13); add(3.51); add(3.17);add(-0.48);add(-0.10); }} ); + STRUCTURE.put("GGTGA",new ArrayList() {{add(5.4); add(-7.04); add(34.04); add(34.15); add(-3.21); add(3.82); add(-6.98); add(-0.03);add(-2.6); add(-0.11); add(-0.59); add(-0.02);add(0.85);add(-0.74);add(-1.56);add(-1.34); add(3.35); add(3.31);add(-0.27);add(0.25); }} ); + STRUCTURE.put("GGTGT",new ArrayList() {{add(5.31); add(-8.57); add(34.36); add(34.83); add(-2.95); add(3.95); add(-7.06); add(-0.03);add(-4.94); add(-0.11); add(-0.67); add(-0.02);add(0.85);add(-1.03);add(-1.54);add(-1.27); add(3.37); add(3.3);add(-0.32);add(0.29); }} ); + STRUCTURE.put("GGGAA",new ArrayList() {{add(4.73); add(-4.39); add(33.66); add(36.01); add(-1.61); add(-0.97); add(-5.5); add(-0.05);add(-1.2); add(-0.31); add(0.37); add(-0.06);add(0.74);add(1.98);add(-1.87);add(-1.51); add(3.46); add(3.39);add(-0.00);add(-0.29); }} ); + STRUCTURE.put("GGGAC",new ArrayList() {{add(4.9); add(-5.28); add(33.99); add(35.97); add(-0.93); add(-2.34); add(-5.5); add(-0.05);add(-1.5); add(-0.31); add(0.34); add(-0.05);add(0.90);add(0.32);add(-1.79);add(-1.41); add(3.44); add(3.22);add(-0.01);add(-0.17); }} ); + STRUCTURE.put("GGGAT",new ArrayList() {{add(4.81); add(-4.91); add(33.66); add(36.09); add(-1.06); add(-1.49); add(-5.67); add(-0.05);add(-2.45); add(-0.3); add(0.37); add(-0.09);add(1.16);add(0.69);add(-1.86);add(-1.55); add(3.47); add(3.34);add(0.04);add(-0.20); }} ); + STRUCTURE.put("GGGCA",new ArrayList() {{add(5.02); add(-2.52); add(33.82); add(36.27); add(-1.78); add(-1.81); add(-5.16); add(-0.04);add(-0.12); add(-0.29); add(0.37); add(0.05);add(0.24);add(-0.36);add(-1.79);add(-1.59); add(3.36); add(3.38);add(0.06);add(-0.03); }} ); + STRUCTURE.put("GGGCT",new ArrayList() {{add(4.61); add(-2.48); add(33.51); add(37.3); add(-1.98); add(-2.95); add(-5.43); add(-0.04);add(-0.64); add(-0.28); add(0.43); add(0.01);add(0.67);add(-1.03); add(-1.82); add(-1.68); add(3.4); add(3.47);add(0.12);add(-0.02); }} ); + STRUCTURE.put("GGGTA",new ArrayList() {{add(4.71); add(-5.01); add(34.33); add(34.53); add(-1.79); add(-3.44); add(-5.5); add(-0.03);add(-3.8); add(-0.29); add(0.52); add(0.01);add(0.50);add(0.23);add(-1.83);add(-1.56); add(3.45); add(3.34);add(0.03);add(-0.23); }} ); + STRUCTURE.put("GGGTC",new ArrayList() {{add(4.45); add(-5.33); add(34.36); add(34.81); add(-1.78); add(-3.44); add(-5.79); add(-0.03);add(-4.27); add(-0.29); add(0.55); add(-0.03);add(0.85);add(0.63); add(-1.86); add(-1.58); add(3.48); add(3.38);add(0.04);add(-0.27); }} ); + STRUCTURE.put("GGGTT",new ArrayList() {{add(4.03); add(-7.68); add(34.89); add(35.8); add(-1.38); add(-4.18); add(-6.0); add(-0.03);add(-6.18); add(-0.28); add(0.82); add(-0.08);add(1.46);add(0.09);add(-1.89);add(-1.61); add(3.57); add(3.47);add(0.05);add(-0.44); }} ); + STRUCTURE.put("GGGGA",new ArrayList() {{add(4.76); add(-1.44); add(33.55); add(33.65); add(-2.33); add(-1.23); add(-5.29); add(-0.04); add(0.66); add(-0.31); add(0.39); add(0.01);add(0.02);add(1.08);add(-1.90);add(-1.85); add(3.4); add(3.45);add(0.06);add(0.02); }} ); + STRUCTURE.put("GGGGT",new ArrayList() {{add(4.58); add(-2.37); add(33.44); add(34.28); add(-2.4); add(-1.8); add(-5.66); add(-0.04);add(-0.38); add(-0.29); add(0.41); add(-0.01);add(0.44);add(0.62);add(-1.89);add(-1.84); add(3.42); add(3.45);add(0.09);add(0.03); }} ); + return STRUCTURE; } -} +} \ No newline at end of file diff --git a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDOutput.java b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDOutput.java index 47c7cbbd..ebda9811 100644 --- a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDOutput.java +++ b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDOutput.java @@ -4,10 +4,10 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.PrintStream; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import javax.swing.JFrame; import javax.swing.JLayeredPane; @@ -15,11 +15,13 @@ import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.SpringLayout; +import javax.swing.SwingUtilities; import scriptmanager.objects.Exceptions.OptionException; import scriptmanager.objects.Exceptions.ScriptManagerException; import scriptmanager.objects.CustomOutputStream; import scriptmanager.objects.LogItem; +import scriptmanager.util.DNAShapeReference; import scriptmanager.util.ExtensionFileFilter; import scriptmanager.cli.Sequence_Analysis.DNAShapefromBEDCLI; @@ -39,7 +41,7 @@ public class DNAShapefromBEDOutput extends JFrame { private File GENOME = null; private ArrayList BED = null; private File OUT_DIR = null; - private boolean[] OUTPUT_TYPE = null; + private ArrayList OUTPUT_TYPE = null; private boolean OUTPUT_COMPOSITE; private short OUTPUT_MATRIX; private boolean OUTPUT_GZIP; @@ -64,7 +66,7 @@ public class DNAShapefromBEDOutput extends JFrame { * @param outputMatrix format/whether to output matrix * @param gzOutput whether to output compressed file */ - public DNAShapefromBEDOutput(File gen, ArrayList b, File out_dir, boolean[] type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput) { + public DNAShapefromBEDOutput(File gen, ArrayList b, File out_dir, ArrayList type, boolean str, boolean outputComposite, short outputMatrix, boolean gzOutput) { setTitle("DNA Shape Prediction Composite"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(150, 150, 800, 600); @@ -91,7 +93,6 @@ public DNAShapefromBEDOutput(File gen, ArrayList b, File out_dir, boolean[ BED = b; OUT_DIR = out_dir; OUTPUT_TYPE = type; - STRAND = str; OUTPUT_COMPOSITE = outputComposite; OUTPUT_MATRIX = outputMatrix; OUTPUT_GZIP = gzOutput; @@ -108,37 +109,20 @@ public DNAShapefromBEDOutput(File gen, ArrayList b, File out_dir, boolean[ * @throws IOException Invalid file or parameters * @throws InterruptedException Thrown when more than one script is run at the same time */ - public void run() throws OptionException, FileNotFoundException, IOException, InterruptedException { + public void run() throws OptionException, FileNotFoundException, IOException, InterruptedException, ScriptManagerException { LogItem old_li = null; // Move through each BED File for (int x = 0; x < BED.size(); x++) { File XBED = BED.get(x); // Initialize TextAreas and PrintStream wrappers - JTextArea STATS_MGW = null; - JTextArea STATS_PropT = null; - JTextArea STATS_HelT = null; - JTextArea STATS_Roll = null; - PrintStream[] PS = { null, null, null, null }; - if (OUTPUT_TYPE[0]) { - STATS_MGW = new JTextArea(); - STATS_MGW.setEditable(false); - PS[0] = new PrintStream(new CustomOutputStream(STATS_MGW)); - } - if (OUTPUT_TYPE[1]) { - STATS_PropT = new JTextArea(); - STATS_PropT.setEditable(false); - PS[1] = new PrintStream(new CustomOutputStream(STATS_PropT)); - } - if (OUTPUT_TYPE[2]) { - STATS_HelT = new JTextArea(); - STATS_HelT.setEditable(false); - PS[2] = new PrintStream(new CustomOutputStream(STATS_HelT)); - } - if (OUTPUT_TYPE[3]) { - STATS_Roll = new JTextArea(); - STATS_Roll.setEditable(false); - PS[3] = new PrintStream(new CustomOutputStream(STATS_Roll)); - } + HashMap TextAreas = new HashMap<>(); + HashMap PS = new HashMap<>(); + for (Integer shape: OUTPUT_TYPE){ + TextAreas.put(shape, new JTextArea()); + TextAreas.get(shape).setEditable(false); + PS.put(shape, new CustomOutputStream(TextAreas.get(shape))); + } + // Construct output filename String NAME = ExtensionFileFilter.stripExtension(XBED); File OUT_BASENAME = new File(NAME); @@ -149,41 +133,22 @@ public void run() throws OptionException, FileNotFoundException, IOException, In String command = DNAShapefromBEDCLI.getCLIcommand(GENOME, XBED, OUT_BASENAME, OUTPUT_TYPE, STRAND, OUTPUT_COMPOSITE, OUTPUT_MATRIX, OUTPUT_GZIP); LogItem new_li = new LogItem(command); firePropertyChange("log", old_li, new_li); - // Execute script DNAShapefromBED script_obj = new DNAShapefromBED(GENOME, XBED, OUT_BASENAME, OUTPUT_TYPE, STRAND, OUTPUT_COMPOSITE, OUTPUT_MATRIX, OUTPUT_GZIP, PS); + // Execute script script_obj.run(); - // Update log item + // Update log item new_li.setStopTime(new Timestamp(new Date().getTime())); new_li.setStatus(0); old_li = new_li; // Convert average and statistics to output tabs panes - if (OUTPUT_TYPE[0]) { - tabbedPane_Scatterplot.add("MGW", script_obj.getChartM()); - STATS_MGW.setCaretPosition(0); - JScrollPane MGWpane = new JScrollPane(STATS_MGW, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("MGW", MGWpane); - } - if (OUTPUT_TYPE[1]) { - tabbedPane_Scatterplot.add("Propeller Twist", script_obj.getChartP()); - STATS_PropT.setCaretPosition(0); - JScrollPane PropTpane = new JScrollPane(STATS_PropT, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("PropT", PropTpane); - } - if (OUTPUT_TYPE[2]) { - tabbedPane_Scatterplot.add("Helical Twist", script_obj.getChartH()); - STATS_HelT.setCaretPosition(0); - JScrollPane HelTpane = new JScrollPane(STATS_HelT, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("HelT", HelTpane); - } - if (OUTPUT_TYPE[3]) { - tabbedPane_Scatterplot.add("Roll", script_obj.getChartR()); - STATS_Roll.setCaretPosition(0); - JScrollPane Rollpane = new JScrollPane(STATS_Roll, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("Roll", Rollpane); + for (Integer shape: OUTPUT_TYPE){ + JScrollPane scrollPane = new JScrollPane(TextAreas.get(shape), JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + // Prevent RuntimeException caused by multithreading + SwingUtilities.invokeLater(() -> { + tabbedPane_Scatterplot.add(DNAShapeReference.HEADERS[shape], script_obj.getCharts(shape)); + tabbedPane_Statistics.add(DNAShapeReference.HEADERS[shape], scrollPane); + }); } // Update progress firePropertyChange("progress", x, x + 1); diff --git a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDWindow.java b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDWindow.java index c370c9f0..767e0a7a 100644 --- a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDWindow.java +++ b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromBEDWindow.java @@ -38,6 +38,7 @@ import scriptmanager.objects.Exceptions.OptionException; import scriptmanager.objects.Exceptions.ScriptManagerException; import scriptmanager.objects.ToolDescriptions; +import scriptmanager.util.DNAShapeReference; import scriptmanager.util.FileSelection; import scriptmanager.scripts.Sequence_Analysis.DNAShapefromBED; @@ -74,10 +75,21 @@ public class DNAShapefromBEDWindow extends JFrame implements ActionListener, Pro private JProgressBar progressBar; private JToggleButton tglAll; - private JCheckBox chckbxMinorGrooveWidth; - private JCheckBox chckbxRoll; - private JCheckBox chckbxHelicalTwist; - private JCheckBox chckbxPropellerTwist; + private JCheckBox chckbxMinorGrooveWidth; + private JCheckBox chckbxRoll; + private JCheckBox chckbxHelicalTwist; + private JCheckBox chckbxPropellerTwist; + private JCheckBox chckbxEP; + private JCheckBox chckbxStretch; + private JCheckBox chckbxBuckle; + private JCheckBox chckbxShear; + private JCheckBox chckbxOpening; + private JCheckBox chckbxStagger; + private JCheckBox chckbxTilt; + private JCheckBox chckbxSlide; + private JCheckBox chckbxRise; + private JCheckBox chckbxShift; + private ArrayList chckbxArray; private JToggleButton tglTab; private JToggleButton tglCdt; @@ -109,11 +121,21 @@ public Void doInBackground() { JOptionPane.showMessageDialog(null, "No Structural Predictions Selected!!!"); } else { setProgress(0); - boolean[] OUTPUT_TYPE = new boolean[4]; - OUTPUT_TYPE[0] = chckbxMinorGrooveWidth.isSelected(); - OUTPUT_TYPE[1] = chckbxPropellerTwist.isSelected(); - OUTPUT_TYPE[2] = chckbxHelicalTwist.isSelected(); - OUTPUT_TYPE[3] = chckbxRoll.isSelected(); + ArrayList OUTPUT_TYPES = new ArrayList(); + if (chckbxMinorGrooveWidth.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.MGW); } + if (chckbxPropellerTwist.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.PROPT); } + if (chckbxHelicalTwist.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.HELT); } + if (chckbxRoll.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.ROLL); } + if (chckbxEP.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.EP); } + if (chckbxStretch.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.STRETCH); } + if (chckbxBuckle.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.BUCKLE); } + if (chckbxShear.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.SHEAR); } + if (chckbxOpening.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.OPENING); } + if (chckbxStagger.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.STAGGER); } + if (chckbxTilt.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.TILT); } + if (chckbxSlide.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.SLIDE); } + if (chckbxRise.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.RISE); } + if (chckbxShift.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.SHIFT); } short outputMatrix = 0; if (chckbxOutputMatrixData.isSelected()) { @@ -125,7 +147,7 @@ public Void doInBackground() { } // Execute script DNAShapefromBEDOutput output_obj = new DNAShapefromBEDOutput(GENOME, BEDFiles, - OUT_DIR, OUTPUT_TYPE, chckbxStrand.isSelected(), chckbxOutputCompositeData.isSelected(), outputMatrix, chckbxOutputGzip.isSelected()); + OUT_DIR, OUTPUT_TYPES, chckbxStrand.isSelected(), chckbxOutputCompositeData.isSelected(), outputMatrix, chckbxOutputGzip.isSelected()); output_obj.addPropertyChangeListener("progress", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent propertyChangeEvent) { int temp = (Integer) propertyChangeEvent.getNewValue(); @@ -169,7 +191,7 @@ public DNAShapefromBEDWindow() { setTitle("DNA Shape Predictions from BED"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - setBounds(125, 125, 475, 500); + setBounds(125, 125, 475, 680); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); @@ -217,7 +239,7 @@ public void actionPerformed(ActionEvent arg0) { contentPane.add(btnRemoveBed); btnCalculate = new JButton("Calculate"); - sl_contentPane.putConstraint(SpringLayout.SOUTH, scrollPane, -200, SpringLayout.NORTH, btnCalculate); + sl_contentPane.putConstraint(SpringLayout.SOUTH, scrollPane, -315, SpringLayout.NORTH, btnCalculate); sl_contentPane.putConstraint(SpringLayout.SOUTH, btnCalculate, -5, SpringLayout.SOUTH, contentPane); sl_contentPane.putConstraint(SpringLayout.WEST, btnCalculate, 165, SpringLayout.WEST, contentPane); sl_contentPane.putConstraint(SpringLayout.EAST, btnCalculate, -165, SpringLayout.EAST, contentPane); @@ -261,7 +283,7 @@ public void actionPerformed(ActionEvent e) { // Shape Parameters JPanel pnlShapeOptions = new JPanel(); - sl_contentPane.putConstraint(SpringLayout.NORTH, pnlShapeOptions, -230, SpringLayout.SOUTH, contentPane); + sl_contentPane.putConstraint(SpringLayout.NORTH, pnlShapeOptions, -340, SpringLayout.SOUTH, contentPane); sl_contentPane.putConstraint(SpringLayout.WEST, pnlShapeOptions, 0, SpringLayout.WEST, contentPane); sl_contentPane.putConstraint(SpringLayout.EAST, pnlShapeOptions, 0, SpringLayout.EAST, contentPane); sl_contentPane.putConstraint(SpringLayout.SOUTH, pnlShapeOptions, -160, SpringLayout.SOUTH, contentPane); @@ -273,92 +295,125 @@ public void actionPerformed(ActionEvent e) { ttlShapeOptions.setTitleFont(new Font("Lucida Grande", Font.ITALIC, 13)); pnlShapeOptions.setBorder(ttlShapeOptions); + chckbxArray = new ArrayList(); tglAll = new JToggleButton("Select All"); sl_ShapeOptions.putConstraint(SpringLayout.NORTH, tglAll, 0, SpringLayout.NORTH, pnlShapeOptions); sl_ShapeOptions.putConstraint(SpringLayout.WEST, tglAll, 10, SpringLayout.WEST, pnlShapeOptions); sl_ShapeOptions.putConstraint(SpringLayout.EAST, tglAll, 130, SpringLayout.WEST, pnlShapeOptions); tglAll.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - chckbxMinorGrooveWidth.setSelected(tglAll.isSelected()); - chckbxRoll.setSelected(tglAll.isSelected()); - chckbxHelicalTwist.setSelected(tglAll.isSelected()); - chckbxPropellerTwist.setSelected(tglAll.isSelected()); + for (JCheckBox chckbx: chckbxArray){ + chckbx.setEnabled(false); + } + boolean isSelected = tglAll.isSelected(); + for (JCheckBox chckbx: chckbxArray){ + chckbx.setSelected(isSelected); + } + for (JCheckBox chckbx: chckbxArray){ + chckbx.setEnabled(true); + } tglAll.setText(tglAll.isSelected() ? "Deselect All" : "Select All"); } }); pnlShapeOptions.add(tglAll); chckbxMinorGrooveWidth = new JCheckBox("Minor Groove Width"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxMinorGrooveWidth, 0, SpringLayout.NORTH, tglAll); sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxMinorGrooveWidth, 30, SpringLayout.EAST, tglAll); - chckbxMinorGrooveWidth.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxMinorGrooveWidth.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxRoll.isSelected() && chckbxHelicalTwist.isSelected() && chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + chckbxMinorGrooveWidth.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxMinorGrooveWidth); + chckbxArray.add(chckbxMinorGrooveWidth); chckbxRoll = new JCheckBox("Roll"); - sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxRoll, 0, SpringLayout.SOUTH, chckbxMinorGrooveWidth); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxRoll, 10, SpringLayout.SOUTH, chckbxMinorGrooveWidth); sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxRoll, 0, SpringLayout.WEST, chckbxMinorGrooveWidth); - chckbxRoll.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxRoll.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxMinorGrooveWidth.isSelected() && chckbxHelicalTwist.isSelected() && chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + chckbxRoll.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxRoll); + chckbxArray.add(chckbxRoll); chckbxHelicalTwist = new JCheckBox("Helical Twist"); - sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxHelicalTwist, 0, SpringLayout.NORTH, chckbxMinorGrooveWidth); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxHelicalTwist, 0, SpringLayout.NORTH, chckbxRoll); sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxHelicalTwist, 10, SpringLayout.EAST, chckbxMinorGrooveWidth); - chckbxHelicalTwist.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxHelicalTwist.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxMinorGrooveWidth.isSelected() && chckbxRoll.isSelected() && chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + chckbxHelicalTwist.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxHelicalTwist); + chckbxArray.add(chckbxHelicalTwist); chckbxPropellerTwist = new JCheckBox("Propeller Twist"); - sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxPropellerTwist, 0, SpringLayout.NORTH, chckbxRoll); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxPropellerTwist, 0, SpringLayout.NORTH, chckbxMinorGrooveWidth); sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxPropellerTwist, 0, SpringLayout.WEST, chckbxHelicalTwist); - chckbxPropellerTwist.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxMinorGrooveWidth.isSelected() && chckbxRoll.isSelected() && chckbxHelicalTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + chckbxPropellerTwist.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxPropellerTwist); - + chckbxArray.add(chckbxPropellerTwist); + + chckbxEP = new JCheckBox("EP"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxEP, 10, SpringLayout.SOUTH, chckbxMinorGrooveWidth); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxEP, 0, SpringLayout.WEST, tglAll); + chckbxEP.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxEP); + chckbxArray.add(chckbxEP); + + chckbxStretch = new JCheckBox("Stretch"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxStretch, 10, SpringLayout.SOUTH, chckbxEP); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxStretch, 0, SpringLayout.WEST, tglAll); + chckbxStretch.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxStretch); + chckbxArray.add(chckbxStretch); + + chckbxBuckle = new JCheckBox("Buckle"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxBuckle, 0, SpringLayout.NORTH, chckbxStretch); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxBuckle, 00, SpringLayout.WEST, chckbxMinorGrooveWidth); + chckbxBuckle.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxBuckle); + chckbxArray.add(chckbxBuckle); + + chckbxShear = new JCheckBox("Shear"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxShear, 0, SpringLayout.NORTH, chckbxBuckle); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxShear, 00, SpringLayout.WEST, chckbxHelicalTwist); + chckbxShear.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxShear); + chckbxArray.add(chckbxShear); + + chckbxOpening = new JCheckBox("Opening"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxOpening, 10, SpringLayout.SOUTH, chckbxStretch); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxOpening, 0, SpringLayout.WEST, tglAll); + chckbxOpening.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxOpening); + chckbxArray.add(chckbxOpening); + + chckbxStagger = new JCheckBox("Stagger"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxStagger, 0, SpringLayout.NORTH, chckbxOpening); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxStagger, 0, SpringLayout.WEST, chckbxMinorGrooveWidth); + chckbxStagger.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxStagger); + chckbxArray.add(chckbxStagger); + + chckbxTilt = new JCheckBox("Tilt"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxTilt, 0, SpringLayout.NORTH, chckbxStagger); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxTilt, 0, SpringLayout.WEST, chckbxHelicalTwist); + chckbxTilt.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxTilt); + chckbxArray.add(chckbxTilt); + + chckbxSlide = new JCheckBox("Slide"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxSlide, 10, SpringLayout.SOUTH, chckbxOpening); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxSlide, 0, SpringLayout.WEST, tglAll); + chckbxSlide.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxSlide); + chckbxArray.add(chckbxSlide); + + chckbxRise = new JCheckBox("Rise"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxRise, 0, SpringLayout.NORTH, chckbxSlide); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxRise, 0, SpringLayout.WEST, chckbxMinorGrooveWidth); + chckbxRise.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxRise); + chckbxArray.add(chckbxRise); + + chckbxShift = new JCheckBox("Shift"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxShift, 0, SpringLayout.NORTH, chckbxRise); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxShift, 0, SpringLayout.WEST, chckbxHelicalTwist); + chckbxShift.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxShift); + chckbxArray.add(chckbxShift); // Output Parameters JPanel pnlOutputOptions = new JPanel(); @@ -486,6 +541,22 @@ public void propertyChange(PropertyChangeEvent evt) { } } + public void updateToggleAll(){ + boolean allSelected = true; + for (JCheckBox chckbx: chckbxArray){ + if (!chckbx.isSelected()){ + allSelected = false; + } + } + if (allSelected) { + tglAll.setSelected(true); + tglAll.setText("Deselect All"); + } else { + tglAll.setSelected(false); + tglAll.setText("Select All"); + } + } + /** * Makes the content pane non-interactive If the window should be interactive data * @param con Content pane to make non-interactive diff --git a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAOutput.java b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAOutput.java index 21ae151f..f8a10e5d 100644 --- a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAOutput.java +++ b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAOutput.java @@ -4,10 +4,10 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.PrintStream; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import javax.swing.JFrame; import javax.swing.JLayeredPane; @@ -15,11 +15,13 @@ import javax.swing.JTabbedPane; import javax.swing.JTextArea; import javax.swing.SpringLayout; +import javax.swing.SwingUtilities; import scriptmanager.objects.CustomOutputStream; import scriptmanager.objects.LogItem; import scriptmanager.objects.Exceptions.OptionException; import scriptmanager.objects.Exceptions.ScriptManagerException; +import scriptmanager.util.DNAShapeReference; import scriptmanager.util.ExtensionFileFilter; import scriptmanager.cli.Sequence_Analysis.DNAShapefromFASTACLI; @@ -38,7 +40,7 @@ public class DNAShapefromFASTAOutput extends JFrame { private ArrayList FASTA = null; private File OUT_DIR = null; - private boolean[] OUTPUT_TYPE = null; + private ArrayList OUTPUT_TYPE = null; private boolean OUTPUT_COMPOSITE; private short OUTPUT_MATRIX; private boolean OUTPUT_GZIP; @@ -59,7 +61,7 @@ public class DNAShapefromFASTAOutput extends JFrame { * @param outputMatrix format/whether to output matrix * @param gzOutput whether to output compressed file */ - public DNAShapefromFASTAOutput(ArrayList fa, File out_dir, boolean[] type, boolean outputComposite, short outputMatrix, boolean gzOutput) { + public DNAShapefromFASTAOutput(ArrayList fa, File out_dir, ArrayList type, boolean outputComposite, short outputMatrix, boolean gzOutput) { setTitle("DNA Shape Prediction Composite"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(150, 150, 800, 600); @@ -91,7 +93,7 @@ public DNAShapefromFASTAOutput(ArrayList fa, File out_dir, boolean[] type, } /** - * Call script on each BED file to calculate shape scores and append the values + * Call script on each FASTA file to calculate shape scores and append the values * for each shape type under the "DNA Shape Statistics" tab and append each * chart generated under the "DNA Shape Plot" tab. * @@ -102,85 +104,51 @@ public DNAShapefromFASTAOutput(ArrayList fa, File out_dir, boolean[] type, * @throws InterruptedException Thrown when more than one script is run at the same time */ public void run() throws ScriptManagerException, OptionException, FileNotFoundException, IOException, InterruptedException { - LogItem old_li = null; - // Move through each BED File - for (int x = 0; x < FASTA.size(); x++) { - File XFASTA = FASTA.get(x); - // Initialize TextAreas and PrintStream wrappers - JTextArea STATS_MGW = null; - JTextArea STATS_PropT = null; - JTextArea STATS_HelT = null; - JTextArea STATS_Roll = null; - PrintStream[] PS = { null, null, null, null }; - if (OUTPUT_TYPE[0]) { - STATS_MGW = new JTextArea(); - STATS_MGW.setEditable(false); - PS[0] = new PrintStream(new CustomOutputStream(STATS_MGW)); - } - if (OUTPUT_TYPE[1]) { - STATS_PropT = new JTextArea(); - STATS_PropT.setEditable(false); - PS[1] = new PrintStream(new CustomOutputStream(STATS_PropT)); - } - if (OUTPUT_TYPE[2]) { - STATS_HelT = new JTextArea(); - STATS_HelT.setEditable(false); - PS[2] = new PrintStream(new CustomOutputStream(STATS_HelT)); - } - if (OUTPUT_TYPE[3]) { - STATS_Roll = new JTextArea(); - STATS_Roll.setEditable(false); - PS[3] = new PrintStream(new CustomOutputStream(STATS_Roll)); - } - // Construct output filename - String NAME = ExtensionFileFilter.stripExtension(XFASTA); - File OUT_BASENAME = new File(NAME); - if (OUT_DIR != null) { - OUT_BASENAME = new File(OUT_DIR.getCanonicalPath() + File.separator + NAME); - } - // Initialize LogItem - String command = DNAShapefromFASTACLI.getCLIcommand(XFASTA, OUT_BASENAME, OUTPUT_TYPE, OUTPUT_COMPOSITE, OUTPUT_MATRIX, OUTPUT_GZIP); - LogItem new_li = new LogItem(command); - firePropertyChange("log", old_li, new_li); - // Execute script - DNAShapefromFASTA script_obj = new DNAShapefromFASTA(XFASTA, OUT_BASENAME, OUTPUT_TYPE, OUTPUT_COMPOSITE, OUTPUT_MATRIX, OUTPUT_GZIP, PS); - script_obj.run(); - // Update log item - new_li.setStopTime(new Timestamp(new Date().getTime())); - new_li.setStatus(0); - old_li = new_li; - // Convert average and statistics to output tabs panes - if (OUTPUT_TYPE[0]) { - tabbedPane_Scatterplot.add("MGW", script_obj.getChartM()); - STATS_MGW.setCaretPosition(0); - JScrollPane MGWpane = new JScrollPane(STATS_MGW, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("MGW", MGWpane); - } - if (OUTPUT_TYPE[1]) { - tabbedPane_Scatterplot.add("Propeller Twist", script_obj.getChartP()); - STATS_PropT.setCaretPosition(0); - JScrollPane PropTpane = new JScrollPane(STATS_PropT, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("PropT", PropTpane); - } - if (OUTPUT_TYPE[2]) { - tabbedPane_Scatterplot.add("Helical Twist", script_obj.getChartH()); - STATS_HelT.setCaretPosition(0); - JScrollPane HelTpane = new JScrollPane(STATS_HelT, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("HelT", HelTpane); - } - if (OUTPUT_TYPE[3]) { - tabbedPane_Scatterplot.add("Roll", script_obj.getChartR()); - STATS_Roll.setCaretPosition(0); - JScrollPane Rollpane = new JScrollPane(STATS_Roll, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + LogItem old_li = null; + // Move through each FASTA File + for (int x = 0; x < FASTA.size(); x++) { + File XFASTA = FASTA.get(x); + // Initialize TextAreas and PrintStream wrappers + HashMap TextAreas = new HashMap<>(); + HashMap PS = new HashMap<>(); + + for (Integer shape: OUTPUT_TYPE){ + TextAreas.put(shape, new JTextArea()); + TextAreas.get(shape).setEditable(false); + PS.put(shape, new CustomOutputStream(TextAreas.get(shape))); + } + + // Construct output filename + String NAME = ExtensionFileFilter.stripExtension(XFASTA); + File OUT_BASENAME = new File(NAME); + if (OUT_DIR != null) { + OUT_BASENAME = new File(OUT_DIR.getCanonicalPath() + File.separator + NAME); + } + // Initialize LogItem + String command = DNAShapefromFASTACLI.getCLIcommand(XFASTA, OUT_BASENAME, OUTPUT_TYPE, OUTPUT_COMPOSITE, OUTPUT_MATRIX, OUTPUT_GZIP); + LogItem new_li = new LogItem(command); + firePropertyChange("log", old_li, new_li); + // Execute script + DNAShapefromFASTA script_obj = new DNAShapefromFASTA(XFASTA, OUT_BASENAME, OUTPUT_TYPE, OUTPUT_COMPOSITE, OUTPUT_MATRIX, OUTPUT_GZIP, PS); + script_obj.run(); + // Update log item + new_li.setStopTime(new Timestamp(new Date().getTime())); + new_li.setStatus(0); + old_li = new_li; + // Convert average and statistics to output tabs panes + for (Integer shape: OUTPUT_TYPE){ + JScrollPane scrollPane = new JScrollPane(TextAreas.get(shape), JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - tabbedPane_Statistics.add("Roll", Rollpane); - } - // Update progress - firePropertyChange("progress", x, x + 1); - } + // Prevent RuntimeException caused by multithreading + SwingUtilities.invokeLater(() -> { + tabbedPane_Scatterplot.add(DNAShapeReference.HEADERS[shape], script_obj.getCharts(shape)); + tabbedPane_Statistics.add(DNAShapeReference.HEADERS[shape], scrollPane); + }); + } + // Update progress + firePropertyChange("progress", x, x + 1); + } firePropertyChange("log", old_li, null); + } + } -} diff --git a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAWindow.java b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAWindow.java index 625e46ca..f55d755c 100644 --- a/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAWindow.java +++ b/src/main/java/scriptmanager/window_interface/Sequence_Analysis/DNAShapefromFASTAWindow.java @@ -37,12 +37,12 @@ import scriptmanager.objects.Exceptions.OptionException; import scriptmanager.objects.Exceptions.ScriptManagerException; +import scriptmanager.scripts.Sequence_Analysis.DNAShapefromBED; import scriptmanager.objects.ToolDescriptions; +import scriptmanager.util.DNAShapeReference; import scriptmanager.util.ExtensionFileFilter; import scriptmanager.util.FileSelection; -import scriptmanager.scripts.Sequence_Analysis.DNAShapefromBED; - /** * GUI for collecting inputs to be processed by * {@link scriptmanager.scripts.Sequence_Analysis.DNAShapefromFASTA} @@ -72,10 +72,21 @@ public class DNAShapefromFASTAWindow extends JFrame implements ActionListener, P private JProgressBar progressBar; private JToggleButton tglAll; - private JCheckBox chckbxMinorGrooveWidth; - private JCheckBox chckbxRoll; - private JCheckBox chckbxHelicalTwist; - private JCheckBox chckbxPropellerTwist; + private JCheckBox chckbxMinorGrooveWidth; + private JCheckBox chckbxRoll; + private JCheckBox chckbxHelicalTwist; + private JCheckBox chckbxPropellerTwist; + private JCheckBox chckbxEP; + private JCheckBox chckbxStretch; + private JCheckBox chckbxBuckle; + private JCheckBox chckbxShear; + private JCheckBox chckbxOpening; + private JCheckBox chckbxStagger; + private JCheckBox chckbxTilt; + private JCheckBox chckbxSlide; + private JCheckBox chckbxRise; + private JCheckBox chckbxShift; + private ArrayList chckbxArray; private JToggleButton tglTab; private JToggleButton tglCdt; @@ -105,11 +116,21 @@ public Void doInBackground() { JOptionPane.showMessageDialog(null, "No Structural Predictions Selected!!!"); } else { setProgress(0); - boolean[] OUTPUT_TYPE = new boolean[4]; - OUTPUT_TYPE[0] = chckbxMinorGrooveWidth.isSelected(); - OUTPUT_TYPE[1] = chckbxPropellerTwist.isSelected(); - OUTPUT_TYPE[2] = chckbxHelicalTwist.isSelected(); - OUTPUT_TYPE[3] = chckbxRoll.isSelected(); + ArrayList OUTPUT_TYPES = new ArrayList(); + if (chckbxMinorGrooveWidth.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.MGW); } + if (chckbxPropellerTwist.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.PROPT); } + if (chckbxHelicalTwist.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.HELT); } + if (chckbxRoll.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.ROLL); } + if (chckbxEP.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.EP); } + if (chckbxStretch.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.STRETCH); } + if (chckbxBuckle.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.BUCKLE); } + if (chckbxShear.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.SHEAR); } + if (chckbxOpening.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.OPENING); } + if (chckbxStagger.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.STAGGER); } + if (chckbxTilt.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.TILT); } + if (chckbxSlide.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.SLIDE); } + if (chckbxRise.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.RISE); } + if (chckbxShift.isSelected()) { OUTPUT_TYPES.add(DNAShapeReference.SHIFT); } short outputMatrix = 0; if (chckbxOutputMatrixData.isSelected()) { @@ -121,7 +142,7 @@ public Void doInBackground() { } // Execute script DNAShapefromFASTAOutput output_obj = new DNAShapefromFASTAOutput(FASTAFiles, - OUT_DIR, OUTPUT_TYPE, chckbxOutputCompositeData.isSelected(), outputMatrix, chckbxOutputGzip.isSelected()); + OUT_DIR, OUTPUT_TYPES, chckbxOutputCompositeData.isSelected(), outputMatrix, chckbxOutputGzip.isSelected()); output_obj.addPropertyChangeListener("progress", new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent propertyChangeEvent) { int temp = (Integer) propertyChangeEvent.getNewValue(); @@ -169,7 +190,7 @@ public DNAShapefromFASTAWindow() { setTitle("DNA Shape Predictions from FASTA"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - setBounds(125, 125, 475, 500); + setBounds(125, 125, 640, 600); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); @@ -178,6 +199,7 @@ public DNAShapefromFASTAWindow() { JScrollPane scrollPane = new JScrollPane(); sl_contentPane.putConstraint(SpringLayout.NORTH, scrollPane, 48, SpringLayout.NORTH, contentPane); + sl_contentPane.putConstraint(SpringLayout.SOUTH, scrollPane, 200, SpringLayout.NORTH, contentPane); sl_contentPane.putConstraint(SpringLayout.WEST, scrollPane, 10, SpringLayout.WEST, contentPane); sl_contentPane.putConstraint(SpringLayout.EAST, scrollPane, -10, SpringLayout.EAST, contentPane); contentPane.add(scrollPane); @@ -217,7 +239,7 @@ public void actionPerformed(ActionEvent arg0) { contentPane.add(btnRemoveFasta); btnCalculate = new JButton("Calculate"); - sl_contentPane.putConstraint(SpringLayout.SOUTH, scrollPane, -200, SpringLayout.NORTH, btnCalculate); + sl_contentPane.putConstraint(SpringLayout.SOUTH, scrollPane, -250, SpringLayout.NORTH, btnCalculate); sl_contentPane.putConstraint(SpringLayout.SOUTH, btnCalculate, -5, SpringLayout.SOUTH, contentPane); sl_contentPane.putConstraint(SpringLayout.WEST, btnCalculate, 165, SpringLayout.WEST, contentPane); sl_contentPane.putConstraint(SpringLayout.EAST, btnCalculate, -165, SpringLayout.EAST, contentPane); @@ -234,7 +256,7 @@ public void actionPerformed(ActionEvent arg0) { // Shape Parameters JPanel pnlShapeOptions = new JPanel(); - sl_contentPane.putConstraint(SpringLayout.NORTH, pnlShapeOptions, -230, SpringLayout.SOUTH, contentPane); + sl_contentPane.putConstraint(SpringLayout.NORTH, pnlShapeOptions, -275, SpringLayout.SOUTH, contentPane); sl_contentPane.putConstraint(SpringLayout.WEST, pnlShapeOptions, 0, SpringLayout.WEST, contentPane); sl_contentPane.putConstraint(SpringLayout.EAST, pnlShapeOptions, 0, SpringLayout.EAST, contentPane); sl_contentPane.putConstraint(SpringLayout.SOUTH, pnlShapeOptions, -160, SpringLayout.SOUTH, contentPane); @@ -246,92 +268,125 @@ public void actionPerformed(ActionEvent arg0) { ttlShapeOptions.setTitleFont(new Font("Lucida Grande", Font.ITALIC, 13)); pnlShapeOptions.setBorder(ttlShapeOptions); + chckbxArray = new ArrayList(); tglAll = new JToggleButton("Select All"); sl_ShapeOptions.putConstraint(SpringLayout.NORTH, tglAll, 0, SpringLayout.NORTH, pnlShapeOptions); sl_ShapeOptions.putConstraint(SpringLayout.WEST, tglAll, 10, SpringLayout.WEST, pnlShapeOptions); sl_ShapeOptions.putConstraint(SpringLayout.EAST, tglAll, 130, SpringLayout.WEST, pnlShapeOptions); tglAll.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - chckbxMinorGrooveWidth.setSelected(tglAll.isSelected()); - chckbxRoll.setSelected(tglAll.isSelected()); - chckbxHelicalTwist.setSelected(tglAll.isSelected()); - chckbxPropellerTwist.setSelected(tglAll.isSelected()); + for (JCheckBox chckbx: chckbxArray){ + chckbx.setEnabled(false); + } + boolean isSelected = tglAll.isSelected(); + for (JCheckBox chckbx: chckbxArray){ + chckbx.setSelected(isSelected); + } + for (JCheckBox chckbx: chckbxArray){ + chckbx.setEnabled(true); + } tglAll.setText(tglAll.isSelected() ? "Deselect All" : "Select All"); } }); pnlShapeOptions.add(tglAll); chckbxMinorGrooveWidth = new JCheckBox("Minor Groove Width"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxMinorGrooveWidth, 0, SpringLayout.NORTH, tglAll); sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxMinorGrooveWidth, 30, SpringLayout.EAST, tglAll); - chckbxMinorGrooveWidth.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxMinorGrooveWidth.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxRoll.isSelected() && chckbxHelicalTwist.isSelected() && chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + chckbxMinorGrooveWidth.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxMinorGrooveWidth); + chckbxArray.add(chckbxMinorGrooveWidth); + + chckbxPropellerTwist = new JCheckBox("Propeller Twist"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxPropellerTwist, 0, SpringLayout.NORTH, chckbxMinorGrooveWidth); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxPropellerTwist, 10, SpringLayout.EAST, chckbxMinorGrooveWidth); + chckbxPropellerTwist.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxPropellerTwist); + chckbxArray.add(chckbxPropellerTwist); + + chckbxEP = new JCheckBox("EP"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxEP, 0, SpringLayout.NORTH, chckbxPropellerTwist); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxEP, 20, SpringLayout.EAST, chckbxPropellerTwist); + chckbxEP.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxEP); + chckbxArray.add(chckbxEP); chckbxRoll = new JCheckBox("Roll"); - sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxRoll, 0, SpringLayout.SOUTH, chckbxMinorGrooveWidth); - sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxRoll, 0, SpringLayout.WEST, chckbxMinorGrooveWidth); - chckbxRoll.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxRoll.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxMinorGrooveWidth.isSelected() && chckbxHelicalTwist.isSelected() && chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxRoll, 0, SpringLayout.NORTH, chckbxEP); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxRoll, 40, SpringLayout.EAST, chckbxEP); + chckbxRoll.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxRoll); + chckbxArray.add(chckbxRoll); chckbxHelicalTwist = new JCheckBox("Helical Twist"); - sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxHelicalTwist, 0, SpringLayout.NORTH, chckbxMinorGrooveWidth); - sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxHelicalTwist, 10, SpringLayout.EAST, chckbxMinorGrooveWidth); - chckbxHelicalTwist.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxHelicalTwist.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxMinorGrooveWidth.isSelected() && chckbxRoll.isSelected() && chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxHelicalTwist, 10, SpringLayout.SOUTH, tglAll); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxHelicalTwist, 0, SpringLayout.WEST, tglAll); + chckbxHelicalTwist.addItemListener(e -> updateToggleAll()); pnlShapeOptions.add(chckbxHelicalTwist); - - chckbxPropellerTwist = new JCheckBox("Propeller Twist"); - sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxPropellerTwist, 0, SpringLayout.NORTH, chckbxRoll); - sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxPropellerTwist, 0, SpringLayout.WEST, chckbxHelicalTwist); - chckbxPropellerTwist.addItemListener(new ItemListener() { - public void itemStateChanged(ItemEvent e) { - if (!chckbxPropellerTwist.isSelected()) { - tglAll.setSelected(false); - tglAll.setText("Select All"); - } else { - if (chckbxMinorGrooveWidth.isSelected() && chckbxRoll.isSelected() && chckbxHelicalTwist.isSelected()) { - tglAll.setSelected(true); - tglAll.setText("Deselect All"); - } - } - } - }); - pnlShapeOptions.add(chckbxPropellerTwist); - + chckbxArray.add(chckbxHelicalTwist); + + chckbxStretch = new JCheckBox("Stretch"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxStretch, 0, SpringLayout.NORTH, chckbxHelicalTwist); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxStretch, 0, SpringLayout.WEST, chckbxMinorGrooveWidth); + chckbxStretch.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxStretch); + chckbxArray.add(chckbxStretch); + + chckbxBuckle = new JCheckBox("Buckle"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxBuckle, 0, SpringLayout.NORTH, chckbxStretch); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxBuckle, 0, SpringLayout.WEST, chckbxPropellerTwist); + chckbxBuckle.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxBuckle); + chckbxArray.add(chckbxBuckle); + + chckbxShear = new JCheckBox("Shear"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxShear, 0, SpringLayout.NORTH, chckbxBuckle); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxShear, 0, SpringLayout.WEST, chckbxEP); + chckbxShear.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxShear); + chckbxArray.add(chckbxShear); + + chckbxOpening = new JCheckBox("Opening"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxOpening, 0, SpringLayout.NORTH, chckbxBuckle); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxOpening, 0, SpringLayout.WEST, chckbxRoll); + chckbxOpening.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxOpening); + chckbxArray.add(chckbxOpening); + + chckbxStagger = new JCheckBox("Stagger"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxStagger, 10, SpringLayout.SOUTH, chckbxHelicalTwist); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxStagger, 0, SpringLayout.WEST, tglAll); + chckbxStagger.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxStagger); + chckbxArray.add(chckbxStagger); + + chckbxTilt = new JCheckBox("Tilt"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxTilt, 0, SpringLayout.NORTH, chckbxStagger); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxTilt, 0, SpringLayout.WEST, chckbxMinorGrooveWidth); + chckbxTilt.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxTilt); + chckbxArray.add(chckbxTilt); + + chckbxSlide = new JCheckBox("Slide"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxSlide, 0, SpringLayout.NORTH, chckbxTilt); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxSlide, 0, SpringLayout.WEST, chckbxPropellerTwist); + chckbxSlide.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxSlide); + chckbxArray.add(chckbxSlide); + + chckbxRise = new JCheckBox("Rise"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxRise, 0, SpringLayout.NORTH, chckbxSlide); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxRise, 0, SpringLayout.WEST, chckbxEP); + chckbxRise.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxRise); + chckbxArray.add(chckbxRise); + + chckbxShift = new JCheckBox("Shift"); + sl_ShapeOptions.putConstraint(SpringLayout.NORTH, chckbxShift, 0, SpringLayout.NORTH, chckbxRise); + sl_ShapeOptions.putConstraint(SpringLayout.WEST, chckbxShift, 0, SpringLayout.WEST, chckbxRoll); + chckbxShift.addItemListener(e -> updateToggleAll()); + pnlShapeOptions.add(chckbxShift); + chckbxArray.add(chckbxShift); // Output Parameters JPanel pnlOutputOptions = new JPanel(); @@ -458,6 +513,22 @@ public void propertyChange(PropertyChangeEvent evt) { } } + public void updateToggleAll(){ + boolean allSelected = true; + for (JCheckBox chckbx: chckbxArray){ + if (!chckbx.isSelected()){ + allSelected = false; + } + } + if (allSelected) { + tglAll.setSelected(true); + tglAll.setText("Deselect All"); + } else { + tglAll.setSelected(false); + tglAll.setText("Select All"); + } + } + /** * Makes the content pane non-interactive If the window should be interactive data * @param con Content pane to make non-interactive