12d0bf30d4a9fbe7aee60fdf9e7f8827116ba400
markd
  Wed Jan 27 17:49:12 2021 -0800
allow overlap select to ignore non-standard columns in BED as well as genePred and PSL, as often come with bigBed

diff --git src/hg/utils/overlapSelect/chromAnn.h src/hg/utils/overlapSelect/chromAnn.h
index f8912cc..58f0cf1 100644
--- src/hg/utils/overlapSelect/chromAnn.h
+++ src/hg/utils/overlapSelect/chromAnn.h
@@ -50,40 +50,42 @@
     struct chromAnn *ca;  /* link back to chromAnn */
     int start;            /* block coordinates */
     int end;
 };
 
 struct chromAnnReader
 /* interface object used to read chromAnn objects from various formats */
 {
     struct chromAnn* (*caRead)(struct chromAnnReader *car);
     /* read the next object, returns NULL on eof */
 
     void (*carFree)(struct chromAnnReader **carPtr);
     /* function to free this object */
 
     unsigned opts;  /* options for reader */
+    unsigned maxParsedColumns;  /* just drag along columns after this. */
     void *data;     /* data associated with this reader */
 };
 
 void chromAnnFree(struct chromAnn **caPtr);
 /* free an object */
 
 int chromAnnTotalBlockSize(struct chromAnn* ca);
 /* count the total bases in the blocks of a chromAnn */
 
-struct chromAnnReader *chromAnnBedReaderNew(char *fileName, unsigned opts);
+struct chromAnnReader *chromAnnBedReaderNew(char *fileName, unsigned opts,
+                                            unsigned maxParsedCols);
 /* construct a reader for a BED file */
 
 struct chromAnnReader *chromAnnGenePredReaderNew(char *fileName, unsigned opts);
 /* construct a reader for a genePred file */
 
 struct chromAnnReader *chromAnnPslReaderNew(char *fileName, unsigned opts);
 /* construct a reader for a PSL file */
 
 struct chromAnnReader *chromAnnChainReaderNew(char *fileName, unsigned opts);
 /* construct a reader for a chain file */
 
 struct chromAnnReader *chromAnnTabReaderNew(char *fileName, struct coordCols* cols, unsigned opts);
 /* construct a reader for an arbitrary tab file */
 
 INLINE struct chromAnnRef *chromAnnRefNew(struct chromAnn *chromAnn)