6a74b39270290c9a2718459dba60e6b2587c2e76 braney Fri May 6 18:22:31 2016 -0700 various changes to support and doc bigChain custom tracks diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 3a6a368..53cde9a 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -3193,31 +3193,31 @@ int chainWinSize; double subSetScore = 0.0; int qs, qe; boolean nullSubset = FALSE; if (! sameWord(otherDb, "seq")) { otherOrg = hOrganism(otherDb); } if (otherOrg == NULL) { /* use first word of chain label (count on org name as first word) */ otherOrg = firstWordInLine(cloneString(tdb->shortLabel)); } -if (isHubTrack(tdb->track)) +if (isHubTrack(tdb->track) || isCustomTrack(tdb->track)) { char *fileName = bbiNameFromSettingOrTable(tdb, conn, tdb->table); char *linkFileName = trackDbSetting(tdb, "linkDataUrl"); chain = chainLoadIdRangeHub(fileName, linkFileName, seqName, winStart, winEnd, atoi(item)); } else { chain = chainLoadIdRange(database, tdb->table, seqName, winStart, winEnd, atoi(item)); } chainSubsetOnT(chain, winStart, winEnd, &subChain, &toFree); if (subChain == NULL) nullSubset = TRUE; else if (hDbIsActive(otherDb) && subChain != chain) @@ -20734,30 +20734,32 @@ for (ct = ctList; ct != NULL; ct = ct->next) if (sameString(trackId, ct->tdb->track)) break; if (ct == NULL) errAbort("Couldn't find '%s' in '%s'", trackId, fileName); type = ct->tdb->type; cartWebStart(cart, database, "Custom Track: %s", ct->tdb->shortLabel); itemName = skipLeadingSpaces(fileItem); printf("<H2>%s</H2>\n", ct->tdb->longLabel); if (sameWord(type, "array")) doExpRatio(ct->tdb, fileItem, ct); else if (sameWord(type, "encodePeak")) doEncodePeak(ct->tdb, ct, fileName); else if (sameWord(type, "bigWig")) bigWigCustomClick(ct->tdb); +else if (sameWord(type, "bigChain")) + genericChainClick(NULL, ct->tdb, item, start, "seq"); else if (sameWord(type, "bigPsl")) genericBigPslClick(NULL, ct->tdb, item, start, end); else if (sameWord(type, "bigMaf")) genericMafClick(NULL, ct->tdb, item, start); else if (sameWord(type, "bigBed") || sameWord(type, "bigGenePred")) bigBedCustomClick(ct->tdb); #ifdef USE_BAM else if (sameWord(type, "bam")) doBamDetails(ct->tdb, itemName); #endif//def USE_BAM #ifdef USE_TABIX else if (sameWord(type, "vcfTabix")) doVcfTabixDetails(ct->tdb, itemName); #endif//def USE_TABIX else if (sameWord(type, "vcf"))