9c21039dcd0fee54fdfd30253bc0088597df90e3 braney Sun Feb 25 11:48:47 2024 -0800 another attempt to finish #19984 diff --git src/hg/lib/trackDbCustom.c src/hg/lib/trackDbCustom.c index 6ff6c00..6c8f683 100644 --- src/hg/lib/trackDbCustom.c +++ src/hg/lib/trackDbCustom.c @@ -733,31 +733,37 @@ && !startsWith("encodeGencodeRaceFrags", tdb->track)) // SPECIAL CASE should fix in trackDb! cType = cfgGenePred; else if (sameWord("bedLogR",type) || sameWord("peptideMapping", type)) cType = cfgBedScore; // This is a catch-all for big* types that are not special-cased above. big* types after this // point are assumed to be flavors of bigBed. else if (startsWith("bed ", type) || startsWith("big", type) || startsWith("bedDetail", type)) { if (trackDbSetting(tdb, "bedFilter") != NULL) cType = cfgBedFilt; else if (!startsWith("big", type) || startsWith("bigBed", type)) { char *words[3]; int wordCount = chopLine(cloneString( type), words); - if (( ((wordCount > 1) && (atoi(words[1]) >= 5)) + if (sameString("bigBed", type) && (wordCount == 1)) // no following words + { + cType = cfgBedScore; + if (!bedHasFilters(tdb)) + cType = cfgNone; + } + else if (( ((wordCount > 1) && (atoi(words[1]) >= 5)) || trackDbSetting(tdb, "scoreMin") != NULL) && // Historically needed 'bed n .' but encode didn't follow bed n . ( (wordCount >= 3) || (!tdbIsTrackUiTopLevel(tdb) && trackDbSettingClosestToHome(tdb, "wgEncode")))) { cType = cfgBedScore; if (!bedScoreHasCfgUi(tdb)) cType = cfgNone; // FIXME: UGLY SPECIAL CASE should be handled in trackDb! else if (startsWith("encodeGencodeIntron", tdb->track)) cType = cfgNone; } }