90aa101ee4f9e47a77b2eac496eca213a787d513 jcasper Mon Jul 22 01:53:32 2019 -0700 Adding table browser support for hic tracks, refs #22316 diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c index 9dfd25f..20d6da7 100644 --- src/hg/hgTables/mainPage.c +++ src/hg/hgTables/mainPage.c @@ -513,31 +513,32 @@ } void nbSpaces(int count) /* Print some non-breaking spaces. */ { int i; for (i=0; i\n"); /* Print clade, genome and assembly line. */ { if (gotClade) { hPrintf("clade:\n"); printCladeListHtml(hGenome(database), "change", onChangeClade()); nbSpaces(3); hPrintf("genome:\n"); printGenomeListForCladeHtml(database, "change", onChangeOrg()); } @@ -578,30 +579,31 @@ hPrintf("\n"); } /* Print table line. */ { hPrintf(""); curTable = showTableField(curTrack, hgtaTable, TRUE); if (isHubTrack(curTable) || (strchr(curTable, '.') == NULL)) /* In same database */ { hti = getHti(database, curTable, conn); isPositional = htiIsPositional(hti); } isLongTabix = isLongTabixTable( curTable); isBam = isBamTable(curTable); + isHic = isHicTable(curTable); isVcf = isVcfTable(curTable, NULL); isWig = isWiggle(database, curTable); if (isBigWigTable(curTable)) { isPositional = TRUE; isWig = TRUE; } isHalSnake = isHalTable( curTable); isMaf = isMafTable(database, curTrack, curTable); isBedGr = isBedGraph(curTable); isArray = isMicroarray(curTrack, curTable); struct trackDb *tdb = findTdbForTable(database, curTrack, curTable, ctLookupName); isPal = isPalCompatible(conn, tdb, curTable); nbSpaces(1); if (isCustomTrack(curTable)) @@ -723,31 +725,31 @@ { cgiMakeButton(hgtaDoFilterPage, "edit"); hPrintf(" "); cgiMakeButton(hgtaDoClearFilter, "clear"); if (isWig || isBedGr) wigShowFilter(conn); } else { cgiMakeButton(hgtaDoFilterPage, "create"); } hPrintf("\n"); } /* Composite track subtrack merge line. */ -boolean canSubtrackMerge = (curTrack && tdbIsComposite(curTrack) && !isBam && !isVcf && !isLongTabix); +boolean canSubtrackMerge = (curTrack && tdbIsComposite(curTrack) && !isBam && !isVcf && !isLongTabix && !isHic); if (canSubtrackMerge) { hPrintf("subtrack merge:\n"); if (anySubtrackMerge(database, curTable)) { cgiMakeButton(hgtaDoSubtrackMergePage, "edit"); hPrintf(" "); cgiMakeButton(hgtaDoClearSubtrackMerge, "clear"); } else { cgiMakeButton(hgtaDoSubtrackMergePage, "create"); } hPrintf("\n"); } @@ -837,51 +839,51 @@ cgiMakeRadioButton(hgtaCompressType, textOutCompressNone, sameWord(textOutCompressNone, compressType)); hPrintf(" plain text  "); cgiMakeRadioButton(hgtaCompressType, textOutCompressGzip, sameWord(textOutCompressGzip, compressType)); hPrintf(" gzip compressed"); hPrintf("\n"); } hPrintf("\n"); /* Submit buttons. */ { hPrintf("
\n"); - if (isWig || isBam || isVcf || isLongTabix) + if (isWig || isBam || isVcf || isLongTabix || isHic) { char *name; extern char *maxOutMenu[]; char *maxOutput = maxOutMenu[0]; if (isCustomTrack(curTable)) name=filterFieldVarName("ct", curTable, "_", filterMaxOutputVar); else name=filterFieldVarName(database,curTable, "_",filterMaxOutputVar); maxOutput = cartUsualString(cart, name, maxOutMenu[0]); if (isWig) hPrintf( "Note: to return more than %s lines, change the filter setting" " (above). The entire data set may be available for download as" " a very large file that contains the original data values (not" " compressed into the wiggle format) -- see the Downloads page." "
", maxOutput); - else if (isBam || isVcf || isLongTabix) + else if (isBam || isVcf || isLongTabix || isHic) hPrintf( "Note: to return more than %s lines, change the filter setting" " (above). Please consider downloading the entire data from our Download pages." "
", maxOutput); } else if (anySubtrackMerge(database, curTable) || anyIntersection()) { hPrintf("Note: The all fields and selected fields output formats " "are not available when a%s has been specified.
", canSubtrackMerge ? " subtrack merge or intersection" : "n intersection"); } cgiMakeButton(hgtaDoTopSubmit, "get output"); hPrintf(" "); if (isPositional || isWig) {