88370fb4e8dfd1915a22d3d086a92060e7286b6c braney Thu Mar 21 11:52:55 2024 -0700 bigDbSnp should use summary levels if load failed diff --git src/hg/hgTracks/variation.c src/hg/hgTracks/variation.c index 8c844ef..2d80ead 100644 --- src/hg/hgTracks/variation.c +++ src/hg/hgTracks/variation.c @@ -3013,41 +3013,48 @@ /* Compare lf->filterColors to sort based on color -- black first, red last */ { const struct linkedFeatures *a = *((struct linkedFeatures **)va); const struct linkedFeatures *b = *((struct linkedFeatures **)vb); const Color ca = (Color)(a->filterColor); const Color cb = (Color)(b->filterColor); return snp125ColorCmpRaw(ca, a->name, cb, b->name); } void bigDbSnpDraw(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg, int xOff, int yOff, int width, MgFont *font, Color color, enum trackVisibility vis) /* Draw linked features items. */ { +if (tg->items == NULL && vis == tvDense && canDrawBigBedDense(tg)) + { + bigBedDrawDense(tg, seqStart, seqEnd, hvg, xOff, yOff, width, font, color); + } +else + { if (vis == tvDense || (tg->limitedVisSet && tg->limitedVis == tvDense)) { // Sort so that items with the strongest colors appear on top. slSort(&tg->items, lfColorCmp); } else { // Sort by position as usual slSort(&tg->items, linkedFeaturesCmp); } genericDrawItems(tg, seqStart, seqEnd, hvg, xOff, yOff, width, font, color, vis); } +} void bigDbSnpMethods(struct track *track) /* Special load and draw hooks for type bigDbSnp. */ { linkedFeaturesMethods(track); track->canPack = TRUE; track->loadItems = bigDbSnpLoadItems; track->drawItems = bigDbSnpDraw; track->drawItemAt = bigDbSnpDrawItemAt; track->itemColor = bigDbSnpColor; track->itemNameColor = bigDbSnpColor; track->itemName = bigLfItemName; }