e9aaeb801992b45089a21aa58b6f98a452eb4366
braney
  Wed Sep 7 13:38:00 2016 -0700
don't grab DNA sequence in hgTracks if not going to be drawing codons or
different bases.

diff --git src/hg/hgTracks/cds.c src/hg/hgTracks/cds.c
index 5005102..cb43a65 100644
--- src/hg/hgTracks/cds.c
+++ src/hg/hgTracks/cds.c
@@ -1814,30 +1814,34 @@
 	    (psl->tSize - (psl->tStarts[lastBlk] + psl->blockSizes[lastBlk])) :
 	    (psl->tStarts[lastBlk] + psl->blockSizes[lastBlk]);
 	drawVertLine(lf, hvg, s, xOff, y, heightPer-1, scale,
 		     cdsColor[CDS_QUERY_INSERTION_AT_END]);
 	}
     }
 }
 
 void baseColorInitTrack(struct hvGfx *hvg, struct track *tg)
 /* Set up base coloring state (e.g. cache genomic sequence) for tg.
  * This must be called by tg->drawItems if baseColorDrawSetup is used 
  * in tg->drawItemAt.  Peeks at tg->drawItems method to determine whether
  * tg is linkedFeatures or linkedFeaturesSeries (currently the only
  * two supported track types -- bed, psl etc. are subclasses of these). */
 {
+enum baseColorDrawOpt drawOpt = baseColorGetDrawOpt(tg);
+if (drawOpt <= baseColorDrawOff)
+    return;
+
 setGc();
 if (initedTrack == NULL || differentString(tg->track, initedTrack))
     {
     int overallStart, overallEnd;
     boolean isSeries = FALSE;
     if (tg->drawItems == linkedFeaturesSeriesDraw
         || tg->drawItems == bamLinkedFeaturesSeriesDraw)
 	isSeries = TRUE;
     else if (!baseColorCanDraw(tg))
 	errAbort("baseColorInitTrack: track %s has a type not recognized by baseColorCanDraw.",
 		 tg->track);
     getLinkedFeaturesSpan((struct linkedFeatures *)tg->items, &overallStart, &overallEnd,
 			  isSeries);
     if (overallStart < cachedGenoStart || overallEnd > cachedGenoEnd)
 	{