code: public static void main(final String[] args) {
          Switch about = new Switch("a", "about", "display about message");
          Switch help = new Switch("h", "help", "display help message");
          StringArgument displayName = new StringArgument("d", "display-name", "query display name", false);
          FileArgument hspFile = new FileArgument("i", "hsp-file", "input HSP file, from e.g. blastn -outfmt 7, default stdin", false);
          FileArgument bedFile = new FileArgument("o", "bed-file", "output BED file, default stdout", false);
          Switch reverse = new Switch("r", "reverse", "reverse query and target in BED file");
          Switch transformEvalue = new Switch("t", "transform-evalue", "transform e-value to BED score [0..1000]");
  
          ArgumentList arguments = new ArgumentList(about, help, displayName, hspFile, bedFile, reverse, transformEvalue);
          CommandLine commandLine = new CommandLine(args);
  
          HspToBed hspToBed = null;
          try {
              CommandLineParser.parse(commandLine, arguments);
              if (about.wasFound()) {
                  About.about(System.out);
                  System.exit(0);
              }
              if (help.wasFound()) {
                  Usage.usage(USAGE, null, commandLine, arguments, System.out);
                  System.exit(0);
              }
              hspToBed = new HspToBed(displayName.getValue(), hspFile.getValue(), bedFile.getValue(), reverse.wasFound(), transformEvalue.wasFound());
          }
          catch (CommandLineParseException e) {
              Usage.usage(USAGE, e, commandLine, arguments, System.err);
              System.exit(-1);
          }
          try {
              System.exit(hspToBed.call());
          }
          catch (Exception e) {
              e.printStackTrace();
              System.exit(1);
          }
      }
docs: Main.
  
  @param args command line args