/** * GeDBIT.util.MiscellaneousTool 2007.07.23 * * Copyright Information: * * Change Log: * 2007.07.23: Created, by Rui Mao */ package GeDBIT.util; import java.io.*; /** * * @author Rui Mao * */ public class MiscellaneousTool { /** * @param args */ public static void main(String[] args) { // System.out.println(", , , ".split(",").length); // return; try { // multiQueryResultFFTScale(); // multiQueryResultNumPivot(); // condor(); // incCondor(); // fftscaleQueryCondor(); incQueryCondor(); // fftscaleBuildCondor(); } catch (Exception e) { e.printStackTrace(); } } @SuppressWarnings("unused") public static void cleanSingleQueryResult() throws Exception { String name1 = "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\fftscale\\dim14\\uniform-dim14-100k-3-3-100-pca-clustering-scale"; String name2 = "\\uniform-dim4-100k-"; String name3 = "-3-100-pca-clustering-scale20-q"; String name4 = ".query"; String name5 = ".build"; BufferedWriter bWriter = new BufferedWriter( new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\dim14-build-1stround.txt")); BufferedWriter qWriter = new BufferedWriter( new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\dim14-query-1stround.txt")); BufferedWriter cbWriter = new BufferedWriter( new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\dim14-build-2ndround.condor")); BufferedWriter cqWriter = new BufferedWriter( new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\dim14-query-2ndround.condor")); for (int i = 0; i <= 99; i++) // fftscale = 1,..., 100 { BufferedReader reader = new BufferedReader(new FileReader(name1 + Integer.toString(i) + name4)); String line = null; for (int j = 0; j < 4; j++) { line = reader.readLine(); if (line == null) // task i is not completed { cbWriter.write(buildCondor(i + 1)); // output build condor // command cqWriter.write(queryCondor(i + 1)); // output query condor // command break; } } if (line == null) continue; String[] qResult = new String[8]; boolean completed = true; for (int j = 0; j < 8; j++) { qResult[j] = reader.readLine(); if (qResult[j] == null || !qResult[j].startsWith("100000,")) { completed = false; cbWriter.write(buildCondor(i + 1)); // output build condor // command cqWriter.write(queryCondor(i + 1)); // output query condor // command break; } } if (!completed) continue; // completed, output build result BufferedReader bReader = new BufferedReader(new FileReader(name1 + Integer.toString(i) + name5)); bWriter.write(bReader.readLine() + "\n"); bReader.close(); // output query result for (int j = 0; j < 8; j++) qWriter.write((i + 1) + ", " + qResult[j] + "\n"); reader.close(); } bWriter.close(); qWriter.close(); cbWriter.close(); cqWriter.close(); } private static String buildCondor(int offset) { StringBuffer sb = new StringBuffer(); sb.append("Arguments = -Xmx1500m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.BuildVPIndex -n uniformvector-20dim-100k.txt "); sb.append("-psm pcaonfft -v 3 -dpm clusteringkmeans -f 3 -m 100 -t vector -g OFF -dim 14 -b 1 -r 4 -i 100000 -a 1000000 -s 100000000 "); sb.append("-fftscale " + offset + " -o ../result/db/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + "\n"); sb.append("Error = ../result/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + ".err\n" + "Output = ../result/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + ".build\n" + "Log = ../result/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + ".log\n" + "nice_user = False\n" + "notification = always\n" + "notify_user = rmao@cs.utexas.edu\n" + "requirements = Memory >= 2000 && InMastodon && OpSys == \"LINUX\"\n" + "Rank = Memory >= 4000\n" + "Queue\n\n"); return sb.toString(); } private static String queryCondor(int offset) { return "Arguments = -Xmx1800m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.QueryVPIndex " + "-d ../result/db/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + "-100000 -q uniformvector-20dim-100k.txt -f 0 -l 999 -i 0.4 -a 0.75 -s 0.05 -t vector -p 0 -v 0 -g 0 -dim 14 -forprint " + offset + "\n" + "Error = ../result/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + "q1k.err\n" + "Output = ../result/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + "q1k.query\n" + "Log = ../result/uni14/uniform-dim14-100k-3-3-100-pca-clustering-scale" + offset + "q1k.log\n" + "nice_user = False\n" + "notification = always\n" + "notify_user = rmao@cs.utexas.edu\n" + "requirements = Memory >= 2000 && OpSys == \"LINUX\"\n" + "Rank = Memory >= 4000\n" + "Queue\n\n"; } @SuppressWarnings("unused") public static void multiQueryResultNumPivot() throws Exception { // int [] placeHolder = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, // 12, 13, 14, 15, 16, 17, 18, 19, 20}; // final double[] stepR = new double[]{0.00002, 0.001, 0.005, 0.01, // 0.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, // 0.02, 0.015, 0.015, 0.01, 0.01}; // final double[] minR = new double[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0, 0, 0, 0, 0, 0, 0, 0, 0}; // final double[] maxR = new double[] {0.0002, 0.02, 0.1, 0.2, 0.2, // 0.32, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.3, 0.3, // 0.25, 0.25}; int dim = 20; final int numR = 26; final double step = 0.01; final double minR = 0; String name1 = "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\numpivot\\dim" + dim + "\\uniform-dim" + dim + "-100k-"; String name2 = "-100-pca-clustering-scale30q"; String name3 = ".query"; String name4 = ".query"; String[] name5 = new String[] { "1-256", "2-16", "3-6", "4-4", "5-3", "6-2", "7-2", "8-2" }; BufferedWriter writer = new BufferedWriter( new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\numpivot\\uniform-dim" + dim + "-100k-100-pca-clusering-scale30-q5k-query.csv")); // int size; final int numFile = 8; final int numField = 15; final int firstField = 4; final int numQuerySet = 25; final int size = 100000; double[][] v = new double[numR][numField]; String[] segment; for (int i = 1; i <= numFile; i++) { // if ( i==7)// || i==53 || i==95) // continue; // // if ( ! ( new File(name1 + Integer.toString(i) + name2 + "1" + // name3) ).exists()) // continue; for (int j = 0; j < numR; j++) for (int k = 0; k < numField; k++) v[j][k] = 0; for (int j = 0; j < numQuerySet; j++) { BufferedReader reader = new BufferedReader(new FileReader(name1 + name5[i - 1] + name2 + j + name3)); String line = reader.readLine(); line = reader.readLine(); // skip the header line = reader.readLine(); line = reader.readLine(); // line = reader.readLine(); for (int k = 0; k < numR; k++) { line = reader.readLine(); // System.out.println("i=" + i + ", j=" + j + ", k=" + k + // "" + line); segment = line.split(","); // System.out.println(line + segment.length); for (int t = firstField; t < firstField + numField; t++) v[k][t - firstField] += Double.parseDouble(segment[t]); } // while (line != null) // { // segment = line.split(","); // writer.write(Integer.toString(i) + ", " + line + "\n"); // line = reader.readLine(); // } reader.close(); } for (int j = 0; j < numR; j++) for (int k = 0; k < numField; k++) v[j][k] /= numQuerySet; for (int j = 0; j < numR; j++) { writer.write(dim + ", " + i + ", " + size + ", " + (minR + step * j)); for (int k = 0; k < numField; k++) writer.write(", " + v[j][k]); writer.write("\n"); } } writer.close(); } public static void condor() throws Exception { System.out.println("universe = vanilla"); System.out.println("Executable = /lusr/java5/bin/java"); System.out.println("+Group = \"GRAD\""); System.out.println("+Project = \"COMPUTATIONAL_BIOLOGY\""); System.out .println("+ProjectDescription = \"build vantage point index tree with different fft scale\""); System.out.println(""); int dim = 20; int querySet = 25; int queryStep = 200; @SuppressWarnings("unused") int[] placeHolder = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }; final double[] stepR = new double[] { 0.00002, 0.001, 0.005, 0.01, 0.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.015, 0.015, 0.01, 0.01 }; final double[] minR = new double[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; final double[] maxR = new double[] { 0.0002, 0.02, 0.1, 0.2, 0.2, 0.32, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.3, 0.3, 0.25, 0.25 }; String[] pivotString = new String[] { "1-256", "2-16", "3-6", "4-4", "5-3", "6-2", "7-2", "8-2" }; for (int d = 1; d <= dim; d++) { System.out .println("###############################################################################################################"); System.out.println("# dim " + d); System.out .println("###############################################################################################################"); for (int p = 0; p < pivotString.length; p++) { System.out.println("### pivot " + (p + 1)); for (int q = 0; q < querySet; q++) { System.out .print("Arguments = -Xmx1800m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.QueryVPIndex -d ../result/db/numpivot/dim" + d); System.out .print("/uniform-dim" + d + "-100k-" + pivotString[p] + "-100-pca-clustering-scale30-100000 -q uniformvector-20dim-100k.txt -f "); System.out.print((q * queryStep) + " -l " + (q * queryStep + queryStep - 1) + " -i " + minR[d - 1] + " -a " + maxR[d - 1] + " -s " + stepR[d - 1]); System.out.println(" -t vector -p 0 -v 0 -g 0 -dim " + d + " -forprint " + d + " -forprint2 " + (p + 1)); System.out.println("Error = ../result/numpivot/dim" + d + "/uniform-dim" + d + "-100k-" + pivotString[p] + "-100-pca-clustering-scale30q" + q + ".err"); System.out.println("Output = ../result/numpivot/dim" + d + "/uniform-dim" + d + "-100k-" + pivotString[p] + "-100-pca-clustering-scale30q" + q + ".query"); System.out.println("Log = ../result/numpivot/dim" + d + "/uniform-dim" + d + "-100k-" + pivotString[p] + "-100-pca-clustering-scale30q" + q + ".log"); System.out.println("nice_user = False"); System.out.println("notification = always"); System.out.println("notify_user = rmao@cs.utexas.edu"); System.out .println("requirements = Memory >= 2000 && OpSys == \"LINUX\""); System.out.println("Rank = Memory >= 4000"); System.out.println("Queue"); System.out.println(""); System.out.println(""); } System.out.println(); } System.out.println(); System.out.println(); System.out.println(); } } public static void incCondor() throws Exception { System.out.println("universe = vanilla"); System.out.println("Executable = /lusr/java5/bin/java"); System.out.println("+Group = \"GRAD\""); System.out.println("+Project = \"COMPUTATIONAL_BIOLOGY\""); System.out .println("+ProjectDescription = \"build vantage point index tree with different fft scale\""); System.out.println(""); String dataSet = "uv14"; String input = "uniformvector-20dim-100k.txt"; int v = 4; String type = "vector"; int seta = 9000; String aString = "9k"; int setn = 10; int dim = 14; // int dim = 20; // int querySet = 25; // int queryStep =200; // int [] placeHolder = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, // 12, 13, 14, 15, 16, 17, 18, 19, 20}; // final double[] stepR = new double[]{0.00002, 0.001, 0.005, 0.01, // 0.01, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, 0.02, // 0.02, 0.015, 0.015, 0.01, 0.01}; // final double[] minR = new double[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0, 0, 0, 0, 0, 0, 0, 0, 0}; // final double[] maxR = new double[] {0.0002, 0.02, 0.1, 0.2, 0.2, // 0.32, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.3, 0.3, // 0.25, 0.25}; // String [] pivotString = new String [] {"1-256", "2-16", "3-6", "4-4", // "5-3", "6-2", "7-2", "8-2"}; System.out .print("Arguments = -Xmx1800m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.BuildVPIndex -n " + input); System.out.print(" -psm incremental -v " + v + " -dpm clusteringkmeans -f 3 -m 100 -t " + type + " -g OFF -dim " + dim); System.out .print(" -b 1 -r 4 -i 100000 -a 1000000 -s 100000000 -o ../result/db/inc/" + dataSet + "-" + v + "-3-100-inc-clustering-a"); System.out.println(aString + "-n" + setn + " -seta " + seta + " -setn " + setn + " -forprint " + aString + " -forprint " + setn); System.out.println("Error = ../result/inc/" + dataSet + "-" + v + "-3-100-inc-clustering-a" + aString + "-n" + setn + "-100k.err"); System.out.println("Output = ../result/inc/" + dataSet + "-" + v + "-3-100-inc-clustering-a" + aString + "-n" + setn + "-100k.build"); System.out.println("Log = ../result/inc/" + dataSet + "-" + v + "-3-100-inc-clustering-a" + aString + "-n" + setn + "-100k.log"); System.out.println("nice_user = False"); System.out.println("notification = always"); System.out.println("notify_user = rmao@cs.utexas.edu"); System.out .println("requirements = Memory >= 2000 && OpSys == \"LINUX\""); System.out .println("Memory >= 2000 && InMastodon && OpSys == \"LINUX\""); System.out.println("Queue"); System.out.println(""); System.out.println(""); } public static void fftscaleBuildCondor() throws Exception { System.out.println("universe = vanilla"); System.out.println("Executable = /lusr/java5/bin/java"); System.out.println("+Group = \"GRAD\""); System.out.println("+Project = \"COMPUTATIONAL_BIOLOGY\""); System.out .println("+ProjectDescription = \"build vantage point index tree with different fft scale\""); System.out.println(""); // int [] scale = new int []{94, 59, 58, 53, 52, 50}; // String input = "normal-dim10-100k.txt"; // String dir = "normal8"; // String name = "normal8"; int[] scale = new int[] { 43 }; String input = "exponential-dim10-100k.txt"; String name = "exp8"; String dir = "exp8"; // int [] scale = new int []{96}; // String input = "uniformvector-20dim-100k.txt"; // String name = "uniform-dim8"; // String dir = "dim8"; for (int s = 0; s < scale.length; s++) { System.out .println("Arguments = -Xmx1800m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.BuildVPIndex -n " + input + " -psm pcaonfft -v 4 -dpm clusteringkmeans -f 3 -m 100 -t vector -g OFF -dim 8 -b 1 -r 4 -i 100000 -a 1000000 -s 100000000" + " -fftscale " + scale[s] + " -o ../result/db/fftscale/" + dir + "/" + name + "-100k-4-3-100-pca-clustering-scale" + scale[s] + " -forprint " + scale[s]); System.out.println("Error = ../result/fftscale/" + dir + "/" + name + "-100k-4-3-100-pca-clustering-scale" + scale[s] + ".err"); System.out.println("Output = ../result/fftscale/" + dir + "/" + name + "-100k-4-3-100-pca-clustering-scale" + scale[s] + ".build"); System.out.println("Log = ../result/fftscale/" + dir + "/" + name + "-100k-4-3-100-pca-clustering-scale" + scale[s] + ".log"); System.out.println("nice_user = False"); System.out.println("notification = always"); System.out.println("notify_user = rmao@cs.utexas.edu"); System.out .println("requirements = Memory >= 2000 && OpSys == \"LINUX\""); System.out .println("Memory >= 2000 && InMastodon && OpSys == \"LINUX\""); System.out.println("Queue"); System.out.println(""); System.out.println(""); } } public static void fftscaleQueryCondor() throws Exception { System.out.println("universe = vanilla"); System.out.println("Executable = /lusr/java5/bin/java"); System.out.println("+Group = \"GRAD\""); System.out.println("+Project = \"COMPUTATIONAL_BIOLOGY\""); System.out .println("+ProjectDescription = \"build vantage point index tree with different fft scale\""); System.out.println(""); int dim = 8; int querySet = 10; int queryStep = 500; int fftscale = 100; final double stepR = 0.02; final double minR = 0.5; final double maxR = 0.7; for (int q = 0; q < querySet; q++) { for (int scale = 1; scale <= fftscale; scale++) { if ((scale != 40) && (scale != 53)) continue; System.out .print("Arguments = -Xmx1800m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.QueryVPIndex -d ../result/db/fftscale/dim" + dim); System.out.print("/uniform-dim" + dim + "-100k-4-3-100-pca-clustering-scale" + scale + "-100000 -q uniformvector-20dim-100k.txt -f "); System.out.print((q * queryStep) + " -l " + (q * queryStep + queryStep - 1) + " -i " + minR + " -a " + maxR + " -s " + stepR); System.out.println(" -t vector -p 0 -v 0 -g 0 -dim " + dim + " -forprint " + dim + " -forprint " + scale); System.out.println("Error = ../result/fftscale/dim" + dim + "/uniform-dim" + dim + "-100k-4-3-100-pca-clustering-scale" + scale + "q" + q + ".err"); System.out.println("Output = ../result/fftscale/dim" + dim + "/uniform-dim" + dim + "-100k-4-3-100-pca-clustering-scale" + scale + "q" + q + ".query"); System.out.println("Log = ../result/fftscale/dim" + dim + "/uniform-dim" + dim + "-100k-4-3-100-pca-clustering-scale" + scale + "q" + q + ".log"); System.out.println("nice_user = False"); System.out.println("notification = always"); System.out.println("notify_user = rmao@cs.utexas.edu"); System.out .println("requirements = Memory >= 2000 && OpSys == \"LINUX\""); System.out.println("Rank = Memory >= 4000"); System.out.println("Queue"); System.out.println(""); System.out.println(""); } System.out.println(); } } public static void incQueryCondor() throws Exception { System.out.println("universe = vanilla"); System.out.println("Executable = /lusr/java5/bin/java"); System.out.println("+Group = \"GRAD\""); System.out.println("+Project = \"COMPUTATIONAL_BIOLOGY\""); System.out .println("+ProjectDescription = \"build vantage point index tree with different fft scale\""); System.out.println(""); // String name = "uv8"; // String radius = " -i 0.28 -a 0.3 -s 0.005 "; // String dim = "-dim 8"; // String type = "vector"; // String query = "uniformvector-20dim-100k.txt"; // String dbPrefix = "uv8-4-3-100-inc-clustering-a9k-n10-db"; // int v=4; // // String name = "uv4"; // String radius = " -i 0.065 -a 0.07 -s 0.001 "; // String dim = "-dim 4"; // String type = "vector"; // String query = "uniformvector-20dim-100k.txt"; // String dbPrefix = "uv4-4-3-100-inc-clustering-a9k-n10-db"; // int v=4; // // String name = "uv14"; // String radius = " -i 0.6 -a 0.625 -s 0.005 "; // String dim = "-dim 14"; // String type = "vector"; // String query = "uniformvector-20dim-100k.txt"; // String dbPrefix = "uv14-4-3-100-inc-clustering-a9k-n10-db"; // int v=4; // // String name = "alltp"; // String radius = " -i 0 -a 4 -s 1 "; // String dim = "-frag 6"; // String type = "protein"; // String query = "alltp.fasta"; // String dbPrefix = "alltp-4-3-100-inc-clustering-a9k-n10-db"; // int v=4; // // String name = "arab1"; // String radius = " -i 0 -a 5 -s 1 "; // String dim = "-frag 18"; // String type = "dna"; // String query = "arab1.con"; // String dbPrefix = "arab1-4-3-100-inc-clustering-a9k-n10-db"; // int v=4; // // String name = "image"; // String radius = " -i 0 -a 0.09 -s 0.03 "; // String dim = ""; // String type = "image"; // String query = "."; // String dbPrefix = "image-4-3-100-inc-clustering-a5k-n25-db"; // int v=4; // // String name = "mass"; // String radius = " -i 1.05 -a 1.3 -s 0.05 "; // String dim = ""; // String type = "msms"; // String query = "zero_mimz.data"; // String dbPrefix = "mass-2-3-100-inc-clustering-a20k-n10-db"; // int v=2; // String name = "exp8"; // String radius = " -i 0.5 -a 0.7 -s 0.02 "; // String dim = "-dim 8"; // String type = "vector"; // String query = "exponential-dim10-100k.txt"; // String dbPrefix = "exp8-4-3-100-inc-clustering-a20k-n10-db"; // int v = 4; // String name = "normal8"; // String radius = " -i 1 -a 1.5 -s 0.05 "; // String dim = "-dim 8"; // String type = "vector"; // String query = "normal-dim10-100k.txt"; // String dbPrefix = "normal8-4-3-100-inc-clustering-a9k-n10-db"; // int v = 4; // String name = "texas"; // String radius = " -i 0.015 -a 0.05 -s 0.005 "; // String dim = "-dim 2"; // String type = "vector"; // String query = "texas-distinct-randomized.txt"; // String dbPrefix = "texas-3-3-100-inc-clustering-a30k-n10-db"; // int v = 3; String name = "hawii"; String radius = " -i 0.006 -a 0.01 -s 0.001 "; String dim = "-dim 2"; String type = "vector"; String query = "hawii-distinct-randomized.txt"; String dbPrefix = "hawii-2-3-100-inc-clustering-a5k-n15-db"; int v = 2; int querySet = 18; int queryStep = 516; int db = 10; // 0-100000.000 // normal8-4-3-100-inc-clustering-a9k-n10-db0-100000.000 // texas-3-3-100-inc-clustering-a30k-n10-db0-100000.000 for (int q = 0; q < querySet; q++) { for (int d = 0; d < db; d++) { System.out .println("Arguments = -Xmx1800m -cp .:../jdb2/lib/colt.jar:../jdb2/src GeDBIT.app.QueryVPIndex -d ../result/db/inc/" + dbPrefix + d + "-100000" + " -q " + query + " -f " + (q * queryStep) + " -l " + (q * queryStep + queryStep - 1) + radius + " -t " + type + " -p 0 -v 0 -g 0 " + dim + " -forprint db" + d); System.out.println("Error = ../result/inc/" + name + "-" + v + "-3-100-inc-clustering-db" + d + "q" + q + ".err"); System.out.println("Output = ../result/inc/" + name + "-" + v + "-3-100-inc-clustering-db" + d + "q" + q + ".query"); System.out.println("Log = ../result/inc/" + name + "-" + v + "-3-100-inc-clustering-db" + d + "q" + q + ".log"); System.out.println("nice_user = False"); System.out.println("notification = always"); System.out.println("notify_user = rmao@cs.utexas.edu"); System.out .println("requirements = Memory >= 2000 && OpSys == \"LINUX\""); System.out.println("Rank = Memory >= 4000"); System.out.println("Queue"); System.out.println(""); System.out.println(""); } System.out.println(); } } @SuppressWarnings("unused") public static void multiQueryResultFFTScale() throws Exception { String name1 = "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\fftscale\\normal8\\normal8-100k-4-3-100-pca-clustering-scale"; String name2 = "q"; String name3 = ".query"; String name4 = ".query"; BufferedWriter writer = new BufferedWriter( new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\fftscale\\normal8-100k-4-3-100-pca-clustering-q5k-scale.csv")); // int size; final int numFile = 100; final int numR = 11; final int numField = 15; final int numQuerySet = 10; final int firstField = 4; final int size = 100000; final double step = 0.05; final double minR = 1; double[][] v = new double[numR][numField]; String[] segment; for (int i = 1; i <= numFile; i++) { // if ( i==0 || i==94 || i==85 || i==29) // continue; // if ( ! ( new File(name1 + Integer.toString(i) + name2 + "1" + // name3) ).exists()) // continue; for (int j = 0; j < numR; j++) for (int k = 0; k < numField; k++) v[j][k] = 0; for (int j = 0; j < numQuerySet; j++) { BufferedReader reader = new BufferedReader(new FileReader(name1 + i + name2 + j + name3)); String line = reader.readLine(); line = reader.readLine(); // skip the header line = reader.readLine(); line = reader.readLine(); // line = reader.readLine(); for (int k = 0; k < numR; k++) { line = reader.readLine(); // System.out.println("i=" + i + ", j=" + j + ", k=" + k + // "" + line); segment = line.split(","); // System.out.println(line + segment.length); for (int t = firstField; t < firstField + numField; t++) v[k][t - firstField] += Double.parseDouble(segment[t]); } // while (line != null) // { // segment = line.split(","); // writer.write(Integer.toString(i) + ", " + line + "\n"); // line = reader.readLine(); // } reader.close(); } for (int j = 0; j < numR; j++) for (int k = 0; k < numField; k++) v[j][k] /= numQuerySet; for (int j = 0; j < numR; j++) { writer.write(i + ", " + size + ", " + (minR + step * j)); for (int k = 0; k < numField; k++) writer.write(", " + v[j][k]); writer.write("\n"); } } writer.close(); } public static void multiQueryResultHawii() throws Exception { String name1 = "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\fftscale\\hawii\\hawii-dr-2-3-100-pca-clustering-scale"; String name2 = "-q"; String name3 = "k.query"; @SuppressWarnings("unused") String name4 = ".query"; BufferedWriter writer = new BufferedWriter(new FileWriter( "\\\\.PSF\\sharedfolder\\rmao\\workspace\\result\\hawii.query")); // int size; double[][] v = new double[5][7]; String[] segment; for (int i = 1; i <= 98; i++) { if (i == 0 || i == 69 || i == 70 || i == 72) continue; for (int j = 0; j < 5; j++) for (int k = 0; k < 7; k++) v[j][k] = 0; for (int j = 1; j <= 3; j++) { BufferedReader reader = new BufferedReader(new FileReader(name1 + Integer.toString(i) + name2 + Integer.toString(j) + name3)); String line = reader.readLine(); line = reader.readLine(); // skip the header line = reader.readLine(); line = reader.readLine(); // line = reader.readLine(); for (int k = 0; k < 5; k++) { line = reader.readLine(); segment = line.split(","); // System.out.println(line + segment.length); for (int t = 3; t <= 9; t++) v[k][t - 3] += Double.parseDouble(segment[t]); } // while (line != null) // { // segment = line.split(","); // writer.write(Integer.toString(i) + ", " + line + "\n"); // line = reader.readLine(); // } reader.close(); } for (int j = 0; j < 5; j++) for (int k = 0; k < 7; k++) v[j][k] /= 3; for (int j = 0; j < 5; j++) { writer.write(i + ", 9290, " + (0.01 * j + 0.06)); for (int k = 0; k < 7; k++) writer.write(", " + v[j][k]); writer.write("\n"); } } writer.close(); } }