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; }