79c5090c373a449c3fa3e83949736e7515f03da2 braney Tue Feb 5 09:36:59 2019 -0800 support schemas on bigWigs within composites. #22885 diff --git src/hg/hgTables/bigWig.c src/hg/hgTables/bigWig.c index 81f3537..5939669 100644 --- src/hg/hgTables/bigWig.c +++ src/hg/hgTables/bigWig.c @@ -13,30 +13,41 @@ #include "cart.h" #include "web.h" #include "bed.h" #include "hdb.h" #include "trackDb.h" #include "customTrack.h" #include "wiggle.h" #include "hmmstats.h" #include "correlate.h" #include "bbiFile.h" #include "bigWig.h" #include "hubConnect.h" #include "hgTables.h" #include "mathWig.h" +boolean isBigWig(char *database, char *table, struct trackDb *parent, + struct customTrack *(*ctLookupName)(char *table)) +/* Local test to see if something is big wig. Handles hub tracks unlike hIsBigWig. */ +{ +struct trackDb *tdb = hashFindVal(fullTableToTdbHash, table); +if (tdb) + return tdbIsBigWig(tdb); +else + return hIsBigWig(database, table, parent, ctLookupName); +} + boolean isBigWigTable(char *table) /* Return TRUE if table corresponds to a bigWig file. */ { struct trackDb *tdb = hashFindVal(fullTableToTdbHash, table); if (tdb) return tdbIsBigWig(tdb); else return trackIsType(database, table, curTrack, "bigWig", ctLookupName) || trackIsType(database, table, curTrack, "mathWig", ctLookupName); } static char *settingFromCtOrHub(char *table, struct sqlConnection *conn, char *settingName, boolean mustBeInHub) /* If table is a custom track or hub track, return a setting; * otherwise return NULL. Do a freeMem on returned string when done. */ { char *settingVal = NULL; @@ -428,22 +439,23 @@ /* Read in bigWig as dataVector and return it. Filtering, subtrack merge * and intersection are handled. */ { if (anySubtrackMerge(database, table)) return mergedWigDataVector(table, conn, region); else { struct dataVector *dv = dataVectorNew(region->chrom, region->end - region->start); bigWigFillDataVector(table, region, conn, dv); return dv; } } void showSchemaBigWigNoTable(char *db, char *table, struct trackDb *tdb) { +struct trackDb *tableTdb = hashFindVal(fullTableToTdbHash, table); hPrintf("<B>Database:</B> %s", db); printf("<BR>The data for this track is provided by a file in " "<A HREF=\"/goldenPath/help/bigWig.html\" TARGET=_BLANK>" "BigWig</A> format."); -hPrintf("<BR><B>Data URL:</B> %s", trackDbSetting(tdb, "bigDataUrl")); -printTrackHtml(tdb); +hPrintf("<BR><B>Data URL:</B> %s", trackDbSetting(tableTdb, "bigDataUrl")); +printTrackHtml(tableTdb); }