05664e5f0416e06ee981821f7cc26f16ff1a5138
max
  Fri Jun 7 02:29:45 2019 -0700
small improvement to BED parser error message, no redmine

diff --git src/lib/basicBed.c src/lib/basicBed.c
index 85814cc..7a76310 100644
--- src/lib/basicBed.c
+++ src/lib/basicBed.c
@@ -1381,31 +1381,31 @@
 dyStringAppend(dy, "   )\n");
 return dyStringCannibalize(&dy);
 }
 
 
 boolean asCompareObjAgainstStandardBed(struct asObject *asYours, int numColumnsToCheck, boolean abortOnDifference)
 /* Compare user's .as object asYours to the standard BED.
  * abortOnDifference specifies whether to warn or abort if they differ within the first numColumnsToCheck columns.
  * Returns TRUE if they match. */
 {
 boolean result = FALSE;
 struct asObject *asStandard = NULL;
 if (numColumnsToCheck > 15)
     errAbort("There are only 15 standard BED columns defined and you have asked for %d.", numColumnsToCheck);
 if (numColumnsToCheck < 3)
-    errAbort("All BED files have at least the first 3 columns the same.");
+    errAbort("All BED files must have at least 3 columns. (Is it possible that you provided a chrom.sizes file instead of a BED file?)");
 char *asStandardText = bedAsDef(15,15);
 asStandard = asParseText(asStandardText);
 result = asCompareObjs("Yours", asYours, "BED Standard", asStandard, numColumnsToCheck, NULL, abortOnDifference);
 freeMem(asStandardText);
 asObjectFreeList(&asStandard);
 return result;
 }
 
 
 void loadAndValidateBed(char *row[], int bedFieldCount, int fieldCount, struct lineFile *lf, struct bed * bed, struct asObject *as, boolean isCt)
 /* Convert a row of strings to a bed and validate the contents.  Abort with message if invalid data. Optionally validate bedPlus via asObject.
  * If a customTrack, then some errors are tolerated. */
 {
 int count;
 int *blockSizes = NULL;