79a39d929c1a3d0e4f092895858cda65e2e3ebc9
angie
  Wed Sep 16 16:21:50 2015 -0700
Oops, was forgetting to use the right database for wiggle custom tracks (thanks Matt!).  fixes #16037

diff --git src/hg/lib/hAnno.c src/hg/lib/hAnno.c
index 0f56718..ae45ed9 100644
--- src/hg/lib/hAnno.c
+++ src/hg/lib/hAnno.c
@@ -261,31 +261,42 @@
 boolean primaryIsVariants = (primaryAsObj != NULL &&
                              (asObjectsMatch(primaryAsObj, pgSnpAsObj()) ||
                               asObjectsMatch(primaryAsObj, vcfAsObj())));
 char *bigDataUrl = trackDbSetting(tdb, "bigDataUrl");
 if (bigDataUrl != NULL)
     {
     if (primaryIsVariants && sameString("bigGenePred", tdb->type))
         {
         struct annoStreamer *streamer = annoStreamBigBedNew(bigDataUrl, assembly, maxOutRows);
         grator = annoGratorGpVarNew(streamer);
         }
     else
         grator = hAnnoGratorFromBigFileUrl(bigDataUrl, assembly, maxOutRows, overlapRule);
     }
 else if (startsWithWord("wig", tdb->type))
-    grator = annoGrateWigDbNew(assembly->name, selTable, assembly, agwmAverage, maxOutRows);
+    {
+    char *dataDb = assembly->name;
+    char *dbTable = selTable;
+    if (isCustomTrack(selTable))
+        {
+        dbTable = trackDbSetting(tdb, "dbTableName");
+        if (dbTable != NULL)
+            // This is really a database table, not a bigDataUrl CT.
+            dataDb = CUSTOM_TRASH;
+        }
+    grator = annoGrateWigDbNew(dataDb, dbTable, assembly, agwmAverage, maxOutRows);
+    }
 else if (startsWithWord("bigWig", tdb->type))
     {
     char *fileOrUrl = getBigDataFileName(assembly->name, tdb, tdb->table, chrom);
     grator = annoGrateBigWigNew(fileOrUrl, assembly, agwmAverage);
     }
 else
     {
     struct annoStreamer *streamer = hAnnoStreamerFromTrackDb(assembly, selTable, tdb, chrom,
                                                              maxOutRows);
     if (primaryIsVariants &&
         (asColumnNamesMatchFirstN(streamer->asObj, genePredAsObj(), 10) ||
          asObjectsMatch(streamer->asObj, bigGenePredAsObj())))
 	grator = annoGratorGpVarNew(streamer);
     else
 	grator = annoGratorNew(streamer);