public void splitIndex(String name, String seq) { int start = 0; boolean go = true; while (go) { int end = start + numberOfBases; if (end >= seq.length()) { end = seq.length(); go = false; } String subSeq = seq.substring(start, end); File binarySeq = new File(indexDirectory, name + "_" + start + "-" + (end - 1)); if (binarySeq.exists()) { System.out.println("WARNING, " + binarySeq + " already exists, skipping!"); return; } Seq.writeBinarySequence(subSeq, binarySeq); start = end; } }
/** This method will process each argument and assign new varibles */ public void processArgs(String[] args) { Pattern pat = Pattern.compile("-[a-z]"); for (int i = 0; i < args.length; i++) { String lcArg = args[i].toLowerCase(); Matcher mat = pat.matcher(lcArg); if (mat.matches()) { char test = args[i].charAt(1); try { switch (test) { case 'f': fastas = IO.extractFiles(args[i + 1], "fasta"); i++; break; case 'n': numberOfBases = Integer.parseInt(args[i + 1]); i++; break; case 'i': indexDirectory = new File(args[i + 1]); i++; break; case 'h': printDocs(); System.exit(0); default: Misc.printExit("\nError: unknown option! " + mat.group()); } } catch (Exception e) { Misc.printExit( "\nSorry, something doesn't look right with this parameter: -" + test + "\n"); } } } // make index directory? if (indexDirectory == null) { indexDirectory = new File(fastas[0].getParentFile(), "IndexedSequences"); indexDirectory.mkdir(); } }