beee82d43659b3f682f57301c4a64feec96314ff braney Thu Feb 1 14:25:25 2018 -0800 add support for math on bedGraph (including custom tracks) diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index f12040e..c524692 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -14201,34 +14201,52 @@ struct trackDb *subTracks = tdb->subtracks; tdb->subtracks = NULL; tdb->type = "mathWig"; struct dyString *dy = newDyString(1024); if (sameString("add", aggregateFunc)) dyStringPrintf(dy, "+ "); else // subtract dyStringPrintf(dy, "- "); struct trackDb *subTdb; for (subTdb=subTracks; subTdb; subTdb = subTdb->next) { char *bigDataUrl = trackDbSetting(subTdb, "bigDataUrl"); + char *useDb; + char *table; if (bigDataUrl != NULL) dyStringPrintf(dy, "%s ",bigDataUrl); - else // native tracks are prepended with '$' - dyStringPrintf(dy, "$%s ",trackDbSetting(subTdb, "table")); + else + { + if (isCustomTrack(trackHubSkipHubName(subTdb->track))) + { + useDb = CUSTOM_TRASH; + table = trackDbSetting(subTdb, "dbTableName"); + } + else + { + useDb = database; + table = trackDbSetting(subTdb, "table"); + } + + if (startsWith("bedGraph", subTdb->type)) + dyStringPrintf(dy, "^%s.%s ",useDb, table); + else + dyStringPrintf(dy, "$%s.%s ",useDb, table); + } } hashAdd(tdb->settingsHash, "mathDataUrl", dy->string); } #ifdef NOTNOW /// for the moment, mathWigs are made at the composite level. Since we may go back to having them at the view level I'm leaving this in void fixupMathWigs(struct trackDb *tdb) /* Look through a container to see if it has a mathWig view and convert it. */ { struct trackDb *subTdb; for(subTdb = tdb->subtracks; subTdb; subTdb = subTdb->next) { char *type; if ((type = trackDbSetting(subTdb, "container")) != NULL)