text: /* rmFaDup - remove duplicate records from FA file. */
  #include "common.h"
  #include "fa.h"
  #include "hash.h"
  #include "obscure.h"
  
  
  void usage()
  /* Print usage and exit. */
  {
  errAbort(
    "rmFaDup - remove duplicate records in FA file\n"
    "usage\n"
    "   rmFaDup oldName.fa newName.fa\n");
  }
  
  void rmFaDups(char *inFile, char *outFile)
  /* undupFa - remove duplicate records from FA file. */
  {
  struct hash *uniq = newHash(0);
  struct hashEl *hel;
  char *name;
  FILE *in = mustOpen(inFile, "r");
  FILE *out = mustOpen(outFile, "w");
  DNA *dna;
  int size;
  
  
  while (faFastReadNext(in, &dna, &size, &name))
      {
      if ((hel = hashLookup(uniq, name)) == NULL)
  	{
  	hashAdd(uniq, name, NULL);
  	faWriteNext(out, name, dna, size);
  	}
      else
  	printf("removing duplicate %s\n", name);
      }
  fclose(in);
  fclose(out);
  }
  
  int main(int argc, char *argv[])
  /* Process command line. */
  {
  if (argc != 3)
      usage();
  rmFaDups(argv[1], argv[2]);
  return 0;
  }
  