@Override public boolean parseArgument(String arg, String a, String b) { // System.err.println("Calling parseArgument("+arg+","+a+","+b+")"); if (a.equals("minq")) { minq = (int) Tools.parseKMG(b); return true; } else if (a.equals("maxq")) { maxq = (int) Tools.parseKMG(b); return true; } else if (a.equals("keepperfect")) { keepPerfect = Tools.parseBoolean(b); return true; } else if (a.equals("countindels")) { countIndels = Tools.parseBoolean(b); return true; } // There was no match to the argument return false; }
public static void main(String[] args) { System.err.println( "Executing " + (new Object() {}.getClass().getEnclosingClass().getName()) + " " + Arrays.toString(args) + "\n"); Timer t = new Timer(); String inPattern = args[0]; int minChrom = -1; int maxChrom = -1; int outgenome = -1; Data.GENOME_BUILD = -1; String name = null; for (int i = 1; i < args.length; i++) { final String arg = args[i].toLowerCase(); String[] split = arg.split("="); String a = split[0]; String b = (split.length > 1 ? split[1] : null); if (a.equals("ingenome")) { Data.setGenome(Integer.parseInt(b)); if (minChrom == -1) { minChrom = 1; } if (maxChrom == -1) { maxChrom = Data.numChroms; } } else if (a.equals("outgenome")) { outgenome = Integer.parseInt(b); } else if (a.equals("minchrom")) { minChrom = Integer.parseInt(b); } else if (a.equals("maxchrom")) { maxChrom = Integer.parseInt(b); } else if (a.equals("threads") || a.equals("t")) { THREADS = Integer.parseInt(b); } else if (a.equals("nblocksize")) { N_BLOCK_SIZE = Integer.parseInt(b); } else if (a.equals("nblocktrigger")) { N_BLOCK_TRIGGER = Integer.parseInt(b); } else if (a.equals("staynearref")) { STAY_NEAR_REF = Tools.parseBoolean(b); } else if (a.equals("append") || a.equals("app")) { append = ReadStats.append = Tools.parseBoolean(b); } else if (a.equals("overwrite") || a.equals("ow")) { overwrite = Tools.parseBoolean(b); } else if (a.startsWith("regen")) { REGEN_N_BLOCKS = Tools.parseBoolean(b); } else if (a.startsWith("name=")) { REGEN_N_BLOCKS = Tools.parseBoolean(b); } else { System.err.println("Unknown argument " + arg); } } assert (Data.GENOME_BUILD > -1); assert (outgenome > -1); // assert(Data.GENOME_BUILD!=outgenome); if (Data.GENOME_BUILD == outgenome) { System.out.println("Warning! Overwriting input genome " + outgenome); } String fname = Data.chromFname(minChrom, outgenome); File f = new File(fname.substring(0, fname.lastIndexOf('/'))); // assert(false) : f.getAbsolutePath(); if (!f.exists()) { f.mkdirs(); } for (int chrom = minChrom; chrom <= maxChrom; chrom++) { String outName = Data.chromFname(chrom, outgenome); assert (overwrite || !new File(outName).exists()) : "Destination " + outName + " already exists."; // assert(false) : inPattern+", "+outName; process(inPattern.replaceFirst("#", "" + chrom), outName, chrom); } FastaToChromArrays2.writeInfo( outgenome, maxChrom, (name == null ? Data.name : name), "" + Data.GENOME_BUILD + "_plus_variations", false, false); t.stop(); { String path = IndexMaker4.fname(1, 1, 12, 1); int lastSlash = path.lastIndexOf('/'); path = path.substring(0, lastSlash); File dir = new File(path); if (dir.exists()) { System.out.println("Deleting old index for " + outgenome); for (File f2 : dir.listFiles()) { if (f2.isFile() && (f2.getName().contains(".int2d") || f2.getName().endsWith(".txt"))) { f2.delete(); } } } } // System.out.println("Vars in: \t"+VARS_IN); // System.out.println("Vars out:\t"+VARS_OUT); System.out.println(); System.out.println("Time: \t" + t); }