995b57436b88ab94ba85bb54491a983fa96c7f70 braney Sat Aug 23 16:01:24 2014 -0700 bigGenePred support in track hubs limping along #13861 diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index eb07a8c..fa67676 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -2608,31 +2608,31 @@ color = saveColor; boolean baseColorNeedsCodons = (drawOpt == baseColorDrawItemCodons || drawOpt == baseColorDrawDiffCodons || drawOpt == baseColorDrawGenomicCodons); if (psl && baseColorNeedsCodons) { boolean isXeno = ((tg->subType == lfSubXeno) || (tg->subType == lfSubChain) || startsWith("mrnaBla", tg->table)); int sizeMul = pslIsProtein(psl) ? 3 : 1; lf->codons = baseColorCodonsFromPsl(lf, psl, sizeMul, isXeno, maxShade, drawOpt, tg); } else if (drawOpt > baseColorDrawOff) { struct genePred *gp = NULL; - if (startsWith("genePred", tg->tdb->type)) + if (startsWith("genePred", tg->tdb->type) || startsWith("bigGenePred", tg->tdb->type)) gp = (struct genePred *)(lf->original); if (gp && gp->cdsStart != gp->cdsEnd) lf->codons = baseColorCodonsFromGenePred(lf, gp, (drawOpt != baseColorDrawDiffCodons), cartUsualBooleanClosestToHome(cart, tg->tdb, FALSE, CODON_NUMBERING_SUFFIX, FALSE)); } if (psl && drawOpt == baseColorDrawCds && !zoomedToCdsColorLevel) baseColorSetCdsBounds(lf, psl, tg); tallStart = lf->tallStart; tallEnd = lf->tallEnd; if ((tallStart == 0 && tallEnd == 0) && lf->start != 0 && !sameWord(tg->table, "jaxQTL3")) { // sometimes a bed <8 will get passed off as a bed 8, tsk tsk tallStart = lf->start; tallEnd = lf->end; } @@ -12106,30 +12106,39 @@ /* else if (sameWord(type, "bedLogR")) { wordCount++; words[1] = "9"; complexBedMethods(track, tdb, FALSE, wordCount, words); //track->bedSize = 10; } */ else if (sameWord(type, "bigBed")) { bigBedMethods(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); + 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 */ if (sameWord(type, "wig")) { wigMethods(track, tdb, wordCount, words);