db19dd164667a50a64b4be53a0ca70ba4ff60f20
angie
  Fri May 22 16:27:03 2015 -0700
Yikes, annoGrateBigWigNew was not properly hooked up before!  So instead of getting
wiggle values only for the primary item's position, each primary item got wiggle values
for the whole position range, ick.
refs #14579

diff --git src/hg/lib/hAnno.c src/hg/lib/hAnno.c
index e857a79..51437a1 100644
--- src/hg/lib/hAnno.c
+++ src/hg/lib/hAnno.c
@@ -232,30 +232,35 @@
 }
 
 struct annoGrator *hAnnoGratorFromTrackDb(struct annoAssembly *assembly, char *selTable,
                                           struct trackDb *tdb, char *chrom, int maxOutRows,
                                           struct asObject *primaryAsObj,
                                           enum annoGratorOverlap overlapRule)
 /* Figure out the source and type of data, make an annoStreamer & wrap in annoGrator.
  * If not NULL, primaryAsObj is used to determine whether we can make an annoGratorGpVar. */
 {
 struct annoGrator *grator = NULL;
 char *bigDataUrl = trackDbSetting(tdb, "bigDataUrl");
 if (bigDataUrl != NULL)
     grator = hAnnoGratorFromBigFileUrl(bigDataUrl, assembly, maxOutRows, overlapRule);
 else if (startsWithWord("wig", tdb->type))
     grator = annoGrateWigDbNew(assembly->name, selTable, assembly, maxOutRows);
+else if (startsWithWord("bigWig", tdb->type))
+    {
+    char *fileOrUrl = getBigDataFileName(assembly->name, tdb, tdb->table, chrom);
+    grator = annoGrateBigWigNew(fileOrUrl, assembly);
+    }
 else
     {
     struct annoStreamer *streamer = hAnnoStreamerFromTrackDb(assembly, selTable, tdb, chrom,
                                                              maxOutRows);
     if (primaryAsObj != NULL &&
 	(asObjectsMatch(primaryAsObj, pgSnpAsObj()) || asObjectsMatch(primaryAsObj, vcfAsObj()))
 	&& asColumnNamesMatchFirstN(streamer->asObj, genePredAsObj(), 10))
 	grator = annoGratorGpVarNew(streamer);
     else
 	grator = annoGratorNew(streamer);
     }
 grator->setOverlapRule(grator, overlapRule);
 return grator;
 }