86748c94956144a80b6c9daa78adb5bb280f58d4 braney Tue Jun 10 17:20:58 2025 -0700 ignore psl base change display settings for protein psl since they are not supported diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c index 97a741c2431..7d485e2e5e2 100644 --- src/hg/hgTracks/bigBedTrack.c +++ src/hg/hgTracks/bigBedTrack.c @@ -677,30 +677,38 @@ for (bb = bbList; bb != NULL; bb = bb->next) { struct linkedFeatures *lf = NULL; char *bedRow[bbi->fieldCount]; if (sameString(track->tdb->type, "bigPsl")) { // fill out bedRow to support mouseOver pattern replacements char startBuf[16], endBuf[16]; bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow)); char *seq, *cds; struct psl *psl = pslFromBigPsl(chromName, bb, seqTypeField, &seq, &cds); int sizeMul = pslIsProtein(psl) ? 3 : 1; boolean isXeno = 0; // just affects grayIx boolean nameGetsPos = FALSE; // we want the name to stay the name + if (sizeMul == 3) + { + // these tags are not currently supported by the drawing engine for protein psl + hashRemove(track->tdb->settingsHash, "showDiffBasesAllScales"); + hashRemove(track->tdb->settingsHash, "baseColorUseSequence"); + hashRemove(track->tdb->settingsHash, "baseColorDefault"); + } + lf = lfFromPslx(psl, sizeMul, isXeno, nameGetsPos, track); lf->original = psl; if ((seq != NULL) && (lf->orientation == -1)) reverseComplement(seq, strlen(seq)); lf->extra = seq; lf->cds = cds; lf->useItemRgb = useItemRgb; if ( lf->useItemRgb ) lf->filterColor = itemRgbColumn(bedRow[8]); } else if (sameString(tdb->type, "bigDbSnp")) { // bigDbSnp does not have a score field, but I want to compute the freqSourceIx from // trackDb and settings one time instead of for each item, so I'm overloading scoreMin. int freqSourceIx = scoreMin;