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();
   }
 }