459b8273fa9eaafb16d8980567a7fcfa209fd4ef max Wed Nov 23 09:30:30 2016 -0800 Adding VAI/DAI support for bigDataIndex, refs #18420 diff --git src/hg/inc/hAnno.h src/hg/inc/hAnno.h index d92c2b7..c3a0b21 100644 --- src/hg/inc/hAnno.h +++ src/hg/inc/hAnno.h @@ -8,38 +8,40 @@ #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, +struct annoStreamer *hAnnoStreamerFromBigFileUrl(char *fileOrUrl, char *indexUrl, 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. */ + * If type is NULL, this will determine type using custom track type or file suffix. + * indexUrl can be NULL, unless the type is VCF and the .tbi file is not alongside the .VCF */ -struct annoGrator *hAnnoGratorFromBigFileUrl(char *fileOrUrl, struct annoAssembly *assembly, +struct annoGrator *hAnnoGratorFromBigFileUrl(char *fileOrUrl, char *indexUrl, struct annoAssembly *assembly, int maxOutRows, enum annoGratorOverlap overlapRule); /* Determine what kind of big data file/url we have, make an annoStreamer & in annoGrator. */ +/* indexUrl can be NULL, unless the type is VCF and the .tbi file is not alongside the .VCF */ 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. */ struct asObject *hAnnoGetAutoSqlForDbTable(char *db, char *table, struct trackDb *tdb, boolean skipBin); /* Get autoSql for db.dbTable from tdb and/or db.tableDescriptions;