983a72ac8888109a38adc922985eb110702d1af0
hiram
  Wed Oct 26 14:23:12 2016 -0700
improve usage message refs #13553

diff --git src/hg/genePredCheck/genePredCheck.c src/hg/genePredCheck/genePredCheck.c
index 99c3a16..f8321a8 100644
--- src/hg/genePredCheck/genePredCheck.c
+++ src/hg/genePredCheck/genePredCheck.c
@@ -1,104 +1,103 @@
 /* genePredCheck - validate genePred files or tables. */
 
 /* Copyright (C) 2014 The Regents of the University of California 
  * See README in this or parent directory for licensing information. */
 #include "common.h"
 #include "options.h"
 #include "verbose.h"
 #include "portable.h"
 #include "hdb.h"
 #include "genePred.h"
 #include "genePredReader.h"
 
 
 /* Command line option specifications */
 static struct optionSpec optionSpecs[] = {
     {"db", OPTION_STRING},
     {"chromSizes", OPTION_STRING},
     {NULL, 0}
 };
 char *gDb = NULL;
 char *gChromSizes = NULL;
 int gErrCount = 0;  /* global count of errors */
 int gChkCount = 0;  /* global count of genes checked */
 
 void usage()
 /* Explain usage and exit. */
 {
 errAbort(
   "genePredCheck - validate genePred files or tables\n"
   "usage:\n"
   "   genePredCheck [options] fileTbl ..\n"
   "\n"
-  "If fileTbl is an existing file, then it is check.  Otherwise, if -db\n"
-  "is provided, then a table by this name is checked.\n"
+  "If fileTbl is an existing file, then it is checked.  Otherwise, if -db\n"
+  "is provided, then a table by this name in db is checked.\n"
   "\n"
   "options:\n"
   "   -db=db - If specified, then this database is used to\n"
   "          get chromosome sizes, and perhaps the table to check.\n"
-  "   -chromSizes=chromSizes - return chromSizes from tab separated\n"
-  "    file\n"
-  "\n");
+  "   -chromSizes=file.chrom.sizes - use chrom sizes from tab separated\n"
+  "          file (name,size) instead of from chromInfo table in specified db.");
 }
 
 static void checkAGenePred(char *fileTbl, int iRec, struct genePred *gp,
                            struct hash* chromSizes)
 /* check one genePred */
 {
 char desc[2*PATH_LEN];
 
 safef(desc, sizeof(desc), "%s:%d", fileTbl, iRec);
 if (chromSizes != NULL)
     gErrCount += genePredCheckChromSizes(desc, stderr, gp, chromSizes);
 else
     gErrCount += genePredCheckDb(desc, stderr, gDb, gp);
 gChkCount++;
 }
 
 static void checkGenePred(char *fileTbl)
 /* check a genePred file or table */
 {
 struct sqlConnection *conn = NULL;
 struct genePredReader *gpr = NULL;
 struct genePred *gp;
 struct hash* chromSizes =
     (gChromSizes != NULL) ? hChromSizeHashFromFile(gChromSizes) : NULL;
 int iRec = 0;
 
 if (fileExists(fileTbl))
     {
     gpr = genePredReaderFile(fileTbl, NULL);
     }
 else if (gDb != NULL)
     {
     conn = hAllocConn(gDb);
     gpr = genePredReaderQuery(conn, fileTbl, NULL);
     }
 else
     {
     errAbort("file %s doesn't exist, must specify -db=db if this is a table", fileTbl);
     }
 
 while ((gp = genePredReaderNext(gpr)) != NULL)
     {
     checkAGenePred(fileTbl, ++iRec, gp, chromSizes);
     genePredFree(&gp);
     }
 genePredReaderFree(&gpr);
 hFreeConn(&conn);
 }
 
 int main(int argc, char *argv[])
 /* Process command line. */
 {
 int iarg;
 optionInit(&argc, argv, optionSpecs);
 if (argc < 2)
     usage();
 gDb = optionVal("db", NULL);
 gChromSizes = optionVal("chromSizes", NULL);
 for (iarg = 1; iarg < argc; iarg++)
     checkGenePred(argv[iarg]);
 verbose(1, "checked: %d failed: %d\n", gChkCount, gErrCount);
 return ((gErrCount == 0) ? 0 : 1);
 }