216023c3cc8426beae32143f30f05bb0cfb09b40 braney Mon Mar 12 13:35:44 2018 -0700 a little more tweaking on cleaning up a trackDb entry when putting them into a collection diff --git src/hg/hgCollection/hgCollection.c src/hg/hgCollection/hgCollection.c index b7bfb53..e3a69a8 100644 --- src/hg/hgCollection/hgCollection.c +++ src/hg/hgCollection/hgCollection.c @@ -591,31 +591,34 @@ if (bigDataUrl == NULL) { if (startsWith("bigWig", tdb->type)) { if (conn == NULL) errAbort("track hub has bigWig without bigDataUrl"); dataUrl = getSqlBigWig(conn, db, tdb); hashReplace(tdb->settingsHash, "bigDataUrl", dataUrl); } } char *tdbType = trackDbSetting(tdb, "tdbType"); if (tdbType != NULL) hashReplace(tdb->settingsHash, "type", tdbType); +if (hashLookup(tdb->settingsHash, "customized") == NULL) hashRemove(tdb->settingsHash, "maxHeightPixels"); + +hashReplace(tdb->settingsHash, "customized", "on"); hashRemove(tdb->settingsHash, "superTrack"); hashReplace(tdb->settingsHash, "parent", parent); hashReplace(tdb->settingsHash, "shortLabel", track->shortLabel); hashReplace(tdb->settingsHash, "longLabel", track->longLabel); hashReplace(tdb->settingsHash, "track", makeUniqueName(collectionNameHash, name)); char priBuf[128]; safef(priBuf, sizeof priBuf, "%d", priority); hashReplace(tdb->settingsHash, "priority", cloneString(priBuf)); char colorString[64]; safef(colorString, sizeof colorString, "%d,%d,%d", (color >> 16) & 0xff,(color >> 8) & 0xff,color & 0xff); hashReplace(tdb->settingsHash, "color", colorString); struct dyString *dy = trackDbString(tdb); fprintf(f, "%s", dy->string); @@ -939,36 +942,40 @@ fprintf(f, "%s%s %s\n", tabs,hel->name, trackHubSkipHubName((char *)hel->val)); fprintf(f, "%s%s %d\n", tabs, "priority", priority); char *dataUrl = NULL; char *bigDataUrl = trackDbSetting(tdb, "bigDataUrl"); if (bigDataUrl == NULL) { if (startsWith("bigWig", tdb->type)) { if (conn == NULL) errAbort("track hub has bigWig without bigDataUrl"); dataUrl = getSqlBigWig(conn, db, tdb); } } +if (hashLookup(tdb->settingsHash, "customized") == NULL) + hashRemove(tdb->settingsHash, "maxHeightPixels"); +hashReplace(tdb->settingsHash, "customized", "on"); + struct hashCookie cookie = hashFirst(tdb->settingsHash); while ((hel = hashNext(&cookie)) != NULL) { if (sameString("parent", hel->name)) fprintf(f, "%s%s %s\n", tabs,hel->name, trackHubSkipHubName((char *)hel->val)); - else if (!(sameString("track", hel->name) || sameString("polished", hel->name)|| sameString("group", hel->name) || sameString("priority", hel->name) || sameString("subTrack", hel->name) || sameString("maxHeightPixels", hel->name))) + else if (!(sameString("track", hel->name) || sameString("polished", hel->name)|| sameString("group", hel->name) || sameString("priority", hel->name) || sameString("subTrack", hel->name) )) fprintf(f, "%s%s %s\n", tabs,hel->name, (char *)hel->val); } if (bigDataUrl == NULL) { if (dataUrl != NULL) fprintf(f, "%sbigDataUrl %s\n", tabs,dataUrl); } fprintf(f, "\n"); } static void outTrackDbList(char *db, struct sqlConnection *conn, FILE *f, char *hubName, struct trackDb *list, char *collectionName, struct trackDb *newTdb, int numTabs, int priority) /* Put a list of trackDb entries into a collection, adding a new track to the collection. */ { @@ -1080,41 +1087,43 @@ apiOut("{\"serverSays\": \"added %s to collection\"}", NULL); } else if (sameString("newCollection", cmd)) { char *trackName = cgiString("track"); char *collectionName = makeUniqueName(nameHash, "coll"); char *shortLabel = makeUniqueLabel(labelHash, "New Collection"); char buffer[4096]; safef(buffer, sizeof buffer, "%s description", shortLabel); char *longLabel = cloneString(buffer); struct trackDb *tdb; AllocVar(tdb); slAddHead(&superList, tdb); tdb->settingsHash = newHash(5); - tdb->type = cloneString("wig"); + tdb->type = cloneString("mathWig"); hashAdd(tdb->settingsHash, "track", collectionName); hashAdd(tdb->settingsHash, "shortLabel", shortLabel); hashAdd(tdb->settingsHash, "longLabel", longLabel); hashAdd(tdb->settingsHash, "autoScale", "on"); hashAdd(tdb->settingsHash, "compositeTrack", "on"); hashAdd(tdb->settingsHash, "aggregate", "none"); hashAdd(tdb->settingsHash, "type", "mathWig"); hashAdd(tdb->settingsHash, "visibility", "full"); hashAdd(tdb->settingsHash, "color", "0,0,0"); + hashAdd(tdb->settingsHash, "customized", "on"); + hashAdd(tdb->settingsHash, "maxHeightPixels", "10000:30:11"); hashAdd(tdb->settingsHash, CUSTOM_COMPOSITE_SETTING, "on"); doAddTrack(cart, db, superList, trackName, collectionName, nameHash); apiOut("{\"serverSays\": \"new %s to collection\"}", NULL); } else if (sameString("saveCollection", cmd)) { char *jsonIn = cgiUsualString("jsonp", NULL); doAjax(cart, db, jsonIn, nameHash); apiOut("{\"serverSays\": \"Collections saved successfully.\"}", NULL); } } int main(int argc, char *argv[]) /* Process command line. */