71a711119b542dd676e957d6d92b2b023a895492 braney Tue Jun 24 17:53:38 2025 -0700 add support for bigMethyl diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index d275657ec0f..01640f091d7 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -14796,30 +14796,44 @@ // end stuff copied from hgTracks.c enum trackVisibility trackVis = track->tdb->visibility; if (s != NULL) trackVis = hTvFromString(s); if (trackVis != tvHide) { track->visibility = tvDense; track->limitedVis = tvDense; track->limitedVisSet = TRUE; } track->nextItemButtonable = track->nextExonButtonable = FALSE; track->nextPrevItem = NULL; track->nextPrevExon = NULL; } +static void bigMethylLoadItems(struct track *tg) +/* get items from bigBed in bedMethyl format */ +{ +loadSimpleBedWithLoader(tg, (bedItemLoader)bedMethylLoad); +} + +static void bigMethylMethods(struct track *track) +/* methods for bigBed in bedMethyl format */ +{ +track->isBigBed = TRUE; +bedMethylMethods(track); +track->loadItems = bigMethylLoadItems; +} + void fillInFromType(struct track *track, struct trackDb *tdb) /* Fill in various function pointers in track from type field of tdb. */ { char *typeLine = tdb->type, *words[8], *type; int wordCount; if (typeLine == NULL) return; wordCount = chopLine(cloneString(typeLine), words); if (wordCount <= 0) return; type = words[0]; track->drawItemLabel = genericDrawItemLabel; track->doItemMapAndArrows = genericItemMapAndArrows; @@ -14905,30 +14919,35 @@ track->isBigBed = TRUE; bigBaseViewMethods(track, tdb, wordCount, words); } else if (sameWord(type, "bigLolly")) { tdb->canPack = TRUE; track->isBigBed = TRUE; track->mapsSelf = TRUE; lollyMethods(track, tdb, wordCount, words); } else if (sameWord(type, "bigInteract")) { track->isBigBed = TRUE; interactMethods(track); } +else if (sameWord(type, "bigMethyl")) + { + bigMethylMethods(track); + tdb->canPack = TRUE; + } else if (sameWord(type, "bigNarrowPeak")) { tdb->canPack = TRUE; track->isBigBed = TRUE; encodePeakMethods(track); track->loadItems = bigNarrowPeakLoadItems; } else if (sameWord(type, "bigPsl")) { tdb->canPack = TRUE; wordCount++; words[1] = "12"; commonBigBedMethods(track, tdb, wordCount, words); } else if (sameWord(type, "bigChain")) @@ -15840,30 +15859,32 @@ registerTrackHandler("encodeErgeTransTransf",encodeErgeMethods); registerTrackHandlerOnFamily("encodeStanfordNRSF",encodeStanfordNRSFMethods); registerTrackHandler("cghNci60", cghNci60Methods); registerTrackHandler("rosetta", rosettaMethods); registerTrackHandler("affy", affyMethods); registerTrackHandler("ancientR", ancientRMethods ); registerTrackHandler("altGraphX", altGraphXMethods ); registerTrackHandler("triangle", triangleMethods ); registerTrackHandler("triangleSelf", triangleMethods ); registerTrackHandler("transfacHit", triangleMethods ); registerTrackHandler("esRegGeneToMotif", eranModuleMethods ); registerTrackHandler("leptin", mafMethods ); registerTrackHandler("igtc", igtcMethods ); registerTrackHandler("cactusBed", cactusBedMethods ); registerTrackHandler("variome", variomeMethods); +registerTrackHandler("bedMethyl", bedMethylMethods); +registerTrackHandler("bigMethyl", bigMethylMethods); /* Lowe lab related */ #ifdef LOWELAB registerTrackHandler("refSeq", archaeaGeneMethods); registerTrackHandler("gbProtCode", gbGeneMethods); registerTrackHandler("tigrCmrORFs", tigrGeneMethods); registerTrackHandler("BlastPEuk",llBlastPMethods); registerTrackHandler("BlastPBac",llBlastPMethods); registerTrackHandler("BlastPpyrFur2",llBlastPMethods); registerTrackHandler("codeBlast",codeBlastMethods); registerTrackHandler("tigrOperons",tigrOperonMethods); registerTrackHandler("rabbitScore",valAlMethods); registerTrackHandler("armadilloScore",valAlMethods); registerTrackHandler("rnaGenes",rnaGenesMethods); registerTrackHandler("sargassoSea",sargassoSeaMethods); registerTrackHandler("llaPfuPrintC2", loweExpRatioMethods);