b1c2fdec9a31078a56333427830a760757d22a51
angie
  Fri Jun 17 14:44:44 2016 -0700
Command line wrapper script for hgVai: hg/utils/vai.pl .  hgVai has a new input parameter to specify a local file of variants instead of a custom track, and inhibits web output (e.g. Content-Type and cookies) when run on the command line.  Added support for reading pgSnp variants from input file without bin column instead of database (pgSnp.as includes bin, but pgSnp files do not).
Has been tested somewhat on GBiB.  Needs documentation.
refs #12216

diff --git src/hg/inc/hAnno.h src/hg/inc/hAnno.h
index 71d9519..d92c2b7 100644
--- src/hg/inc/hAnno.h
+++ src/hg/inc/hAnno.h
@@ -8,30 +8,35 @@
 #include "jsonParse.h"
 #include "trackDb.h"
 
 // Represent "unlimited" as limit==0.
 #define ANNO_NO_LIMIT 0
 
 
 struct annoAssembly *hAnnoGetAssembly(char *db);
 /* Make annoAssembly for db. */
 
 struct annoStreamer *hAnnoStreamerFromTrackDb(struct annoAssembly *assembly, char *selTable,
                                               struct trackDb *tdb, char *chrom, int maxOutRows,
                                               struct jsonElement *config);
 /* Figure out the source and type of data and make an annoStreamer. */
 
+struct annoStreamer *hAnnoStreamerFromBigFileUrl(char *fileOrUrl, struct annoAssembly *assembly,
+                                                 int maxOutRows, char *type);
+/* Determine what kind of big data file/url we have and make streamer for it.
+ * If type is NULL, this will determine type using custom track type or file suffix. */
+
 struct annoGrator *hAnnoGratorFromBigFileUrl(char *fileOrUrl, struct annoAssembly *assembly,
                                              int maxOutRows, enum annoGratorOverlap overlapRule);
 /* Determine what kind of big data file/url we have, make an annoStreamer & in annoGrator. */
 
 struct annoGrator *hAnnoGratorFromTrackDb(struct annoAssembly *assembly, char *selTable,
                                           struct trackDb *tdb, char *chrom, int maxOutRows,
                                           struct asObject *primaryAsObj,
                                           enum annoGratorOverlap overlapRule,
                                           struct jsonElement *config);
 /* Figure out the source and type of data, make an annoStreamer & wrap in annoGrator.
  * If not NULL, primaryAsObj is used to determine whether we can make an annoGratorGpVar. */
 
 struct asObject *hAnnoGetAutoSqlForTdb(char *db, char *chrom, struct trackDb *tdb);
 /* If possible, return the asObj that a streamer for this track would use, otherwise NULL. */