3846f517009c43abc65d227a4695645c9b5f3e8a
braney
Fri Feb 15 18:31:21 2013 -0800
changes necessary to support assembly hubs (#8072)
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 2e083ba..1bb8925 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -1752,64 +1752,64 @@
{
hvGfxTextCentered(hvg, insideX, y, insideWidth, titleHeight,MG_BLACK, font, baseTitle);
*rulerClickHeight += titleHeight;
y += titleHeight;
}
if (baseShowPos||baseShowAsm)
{
char txt[256];
char numBuf[SMALLBUF];
char *freezeName = NULL;
freezeName = hFreezeFromDb(database);
sprintLongWithCommas(numBuf, winEnd-winStart);
if (freezeName == NULL)
freezeName = "Unknown";
if (baseShowPos&&baseShowAsm)
- safef(txt,sizeof(txt),"%s %s %s (%s bp)",organism,
+ safef(txt,sizeof(txt),"%s %s %s (%s bp)",trackHubRemoveHubName(organism),
freezeName, addCommasToPos(database, position), numBuf);
else if (baseShowPos)
safef(txt,sizeof(txt),"%s (%s bp)",addCommasToPos(database, position),numBuf);
else
- safef(txt,sizeof(txt),"%s %s",organism,freezeName);
+ safef(txt,sizeof(txt),"%s %s",trackHubRemoveHubName(organism),freezeName);
hvGfxTextCentered(hvg, insideX, y, insideWidth, showPosHeight,MG_BLACK, font, txt);
*rulerClickHeight += showPosHeight;
freez(&freezeName);
y += showPosHeight;
}
if (baseShowScaleBar)
{
char scaleText[32];
int numBases = winEnd-winStart;
int scaleBases = computeScaleBar(numBases, scaleText, sizeof(scaleText));
int scalePixels = (int)((double)insideWidth*scaleBases/numBases);
int scaleBarX = insideX + (int)(((double)insideWidth-scalePixels)/2);
int scaleBarEndX = scaleBarX + scalePixels;
int scaleBarY = y + 0.5 * scaleBarTotalHeight;
*rulerClickHeight += scaleBarTotalHeight;
hvGfxTextRight(hvg, insideX, y + scaleBarPad,
(scaleBarX-2)-insideX, scaleBarHeight, MG_BLACK, font, scaleText);
hvGfxLine(hvg, scaleBarX, scaleBarY, scaleBarEndX, scaleBarY, MG_BLACK);
hvGfxLine(hvg, scaleBarX, y+scaleBarPad, scaleBarX,
y+scaleBarTotalHeight-scaleBarPad, MG_BLACK);
hvGfxLine(hvg, scaleBarEndX, y+scaleBarPad, scaleBarEndX,
y+scaleBarTotalHeight-scaleBarPad, MG_BLACK);
if(cartUsualBoolean(cart, BASE_SHOWASM_SCALEBAR, TRUE))
{
int fHeight = vgGetFontPixelHeight(hvg->vg, font);
hvGfxText(hvg, scaleBarEndX + 10,
y + (scaleBarTotalHeight - fHeight)/2 + ((font == mgSmallFont()) ? 1 : 0),
- MG_BLACK, font, database);
+ MG_BLACK, font, trackHubRemoveHubName(database));
}
y += scaleBarTotalHeight;
}
if (baseShowRuler)
{
hvGfxDrawRulerBumpText(hvg, insideX, y, rulerHeight, insideWidth, MG_BLACK,
font, relNumOff, winBaseCount, 0, 1);
}
*newWinWidth = makeRulerZoomBoxes(hvg, cart,winStart,winEnd,insideWidth,seqBaseCount,
rulerClickY,*rulerClickHeight);
if (zoomedToBaseLevel || rulerCds)
{
Color baseColor = MG_BLACK;
int start, end, chromSize;
@@ -3405,31 +3405,31 @@
trackLayoutSetPicWidth(&tl, words[2]);
}
}
}
for (ct = ctList; ct != NULL; ct = ct->next)
{
hasCustomTracks = TRUE;
tg = newCustomTrack(ct);
slAddHead(pTrackList, tg);
}
}
void loadTrackHubs(struct track **pTrackList, struct trackHub **pHubList)
/* Load up stuff from data hubs and append to lists. */
{
-struct hubConnectStatus *hub, *hubList = hubConnectStatusListFromCart(cart);
+struct hubConnectStatus *hub, *hubList = hubConnectGetHubs();
for (hub = hubList; hub != NULL; hub = hub->next)
{
if (isEmpty(hub->errorMessage))
{
/* error catching in so it won't just abort */
struct errCatch *errCatch = errCatchNew();
if (errCatchStart(errCatch))
{
struct trackDb *tdbList = hubAddTracks(hub, database, pHubList);
addTdbListToTrackList(tdbList, NULL, pTrackList);
// we're going to free the hubConnectStatus list
hub->trackHub = NULL;
}
errCatchEnd(errCatch);
@@ -4519,31 +4519,31 @@
}
else
{
if (sameString(organism, "Archaea"))
{
hPrintf("%s %s on Archaeon %s Assembly",
organization, browserName, freezeName);
}
else
{
if (stringIn(database, freezeName))
hPrintf("%s %s on %s %s Assembly",
organization, browserName, organism, freezeName);
else
hPrintf("%s %s on %s %s Assembly (%s)",
- organization, browserName, organism, freezeName, database);
+ organization, browserName, trackHubRemoveHubName(organism), freezeName, trackHubRemoveHubName(database));
}
}
hPrintf("
\n");
/* This is a clear submit button that browsers will use by default when enter is pressed in position box. */
hPrintf("");
/* Put up scroll and zoom controls. */
#ifndef USE_NAVIGATION_LINKS
hWrites("move ");
hButtonWithOnClick("hgt.left3", "<<<", "move 95% to the left",
"return imageV2.navigateButtonClick(this);");
hButtonWithOnClick("hgt.left2", " <<", "move 47.5% to the left",
"return imageV2.navigateButtonClick(this);");
hButtonWithOnClick("hgt.left1", " < ", "move 10% to the left",
"return imageV2.navigateButtonClick(this);");
@@ -4611,33 +4611,36 @@
if (containsStringNoCase(database, "zoo"))
{
hPuts("Organism ");
printAssemblyListHtmlExtra(database, javascript);
}
sprintf(buf, "%s:%d-%d", chromName, winStart+1, winEnd);
position = cloneString(buf);
hPrintf("%s", addCommasToPos(database, position));
hPrintf("\n", buf);
sprintLongWithCommas(buf, winEnd - winStart);
hPrintf(" %s bp. ", buf);
hPrintf("\n");
hWrites(" ");
hButton("hgt.jump", "go");
+ if (!trackHubDatabase(database))
+ {
jsonObjectAdd(jsonForClient, "assemblySupportsGeneSuggest", newJsonBoolean(assemblySupportsGeneSuggest(database)));
if(assemblySupportsGeneSuggest(database))
hPrintf("\n", assemblyGeneSuggestTrack(database));
+ }
if (survey && differentWord(survey, "off"))
hPrintf(" "
"%s\n",
survey, surveyLabel ? surveyLabel : "Take survey");
hPutc('\n');
}
}
/* Make chromsome ideogram gif and map. */
makeChromIdeoImage(&trackList, psOutput, ideoTn);
#ifdef USE_NAVIGATION_LINKS
hPrintf("
string, FALSE, FALSE, FALSE, FALSE); printf(" |