2679cdd794ef4fbc2ff87ec0f919bc0e93784b0c
braney
  Wed May 3 15:11:45 2017 -0700
fix default track colors on bigGenePred type

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index d6c8a0e..73f8f8e 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -6135,31 +6135,31 @@
                     dyStringAppend(name, protDisplayId);
                     }
                 }
 	    }
         if (useMimId && sqlTableExists(conn, refLinkTable))
             {
             if (labelStarted) dyStringAppendC(name, '/');
             else labelStarted = TRUE;
             sqlSafef(cond_str, sizeof(cond_str), "select cast(r.omimId as char) from kgXref,%s r where kgID = '%s' and kgXref.refseq = r.mrnaAcc and r.omimId != 0",refLinkTable, lf->name);
             mimId = sqlQuickString(conn, cond_str);
             if (mimId)
                 dyStringAppend(name, mimId);
             }
         /* should this be a hash instead? */
         kgE->name = dyStringCannibalize(&name);
-        kgE->hgg_prot = lf->extra;
+        kgE->hgg_prot = gp->name2;
         lf->extra = kgE;
         lf->label = kgE->name;
 	}
     }
 hFreeConn(&conn);
 }
 
 struct linkedFeatures *stripShortLinkedFeatures(struct linkedFeatures *list)
 /* Remove linked features with no tall component from list. */
 {
 struct linkedFeatures *newList = NULL, *el, *next;
 for (el = list; el != NULL; el = next)
     {
     next = el->next;
     if (el->tallStart < el->tallEnd)
@@ -6201,30 +6201,33 @@
     }
 slReverse(&newList);
 return newList;
 }
 
 static void loadKnownBigGenePred(struct track *tg, boolean isGencode)
 /* Load knownGene features from a bigGenePred. */
 {
 int scoreMin = atoi(trackDbSettingClosestToHomeOrDefault(tg->tdb, "scoreMin", "0"));
 int scoreMax = atoi(trackDbSettingClosestToHomeOrDefault(tg->tdb, "scoreMax", "1000"));
 struct linkedFeatures *lfList = NULL;
 tg->parallelLoading = TRUE;  // set so bigBed code will look at bigDataUrl
 bigBedAddLinkedFeaturesFromExt(tg, chromName, winStart, winEnd,
       scoreMin, scoreMax, TRUE, 12, &lfList, BIGBEDMAXIMUMITEMS);
 slReverse(&lfList);
+struct linkedFeatures *lf = lfList;
+for(;lf;lf = lf->next)
+    lf->isBigGenePred = TRUE;
 struct linkedFeatures *newList = lfList;
 
 if (isGencode)
     {
     char varName[SMALLBUF];
     safef(varName, sizeof(varName), "%s.show.comprehensive", tg->tdb->track);
     boolean showComprehensive = cartUsualBoolean(cart, varName, FALSE);
     if (!showComprehensive)
         newList = stripLinkedFeaturesWithoutBitInScore(lfList,  BIT_BASIC);
     }
 
 slSort(&newList, linkedFeaturesCmp);
 tg->items = newList;
 tg->itemColor   = bigGenePredColor;
 tg->itemNameColor = bigGenePredColor;
@@ -13852,32 +13855,30 @@
     {
     tdb->canPack = TRUE;
     wordCount++;
     words[1] = "11";
     track->isBigBed = TRUE;
     chainMethods(track, tdb, wordCount, words);
     if (trackShouldUseAjaxRetrieval(track))
         track->loadItems = dontLoadItems;
     }
 else if (sameWord(type, "bigGenePred"))
     {
     tdb->canPack = TRUE;
     wordCount++;
     words[1] = "12";
     bigBedMethods(track, tdb, wordCount, words);
-    track->itemColor   = bigGenePredColor;
-    track->itemNameColor = bigGenePredColor;
     if (trackShouldUseAjaxRetrieval(track))
         track->loadItems = dontLoadItems;
     }
 else if (sameWord(type, "bedGraph"))
     {
     bedGraphMethods(track, tdb, wordCount, words);
     }
 else if (sameWord(type, "bigWig"))
     {
     bigWigMethods(track, tdb, wordCount, words);
     if (trackShouldUseAjaxRetrieval(track))
         track->loadItems = dontLoadItems;  // TODO: Dummy drawItems as well?
     }
 else
 #endif /* GBROWSE */