fd8e1e948258bfd0bb55364281883d0032516e9e max Fri Apr 13 17:37:44 2012 -0700 removed some comments diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index c262455..23fc049 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -12227,31 +12227,31 @@ static void pubsAddExtra(struct track* tg, struct linkedFeatures* lf) /* add authorYear and title to linkedFeatures->extra */ { char *articleTable = trackDbSettingClosestToHome(tg->tdb, "pubsArticleTable"); if(isEmpty(articleTable)) return; if (lf->extra != NULL) return; struct sqlConnection *conn = hAllocConn(database); struct pubsExtra* extra = pubsMakeExtra(articleTable, conn, lf); lf->extra = extra; hFreeConn(&conn); } -static void pubsLoadKeywordYearItems(struct track *tg) +static void pubsBlatLoadItems(struct track *tg) /* load items that fulfill keyword and year filter */ { struct sqlConnection *conn = hAllocConn(database); char *keywords = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsKeywords"); char *yearFilter = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsYear"); char *articleTable = pubsArticleTable(tg); if(yearFilter == NULL || sameWord(yearFilter, "anytime")) yearFilter = NULL; if(isNotEmpty(keywords)) keywords = makeMysqlMatchStr(sqlEscapeString(keywords)); if(isEmpty(yearFilter) && isEmpty(keywords)) { @@ -12465,76 +12465,79 @@ struct pubsExtra *extra = needMem(sizeof(struct pubsExtra)); extra->mouseOver=snip; extra->label=shortSeq; lfList->extra = extra; } sqlFreeResult(&sr); slReverse(&lfList); slSort(&lfList, linkedFeaturesCmp); tg->items = lfList; hFreeConn(&conn); } static void pubsBlatPslMethods(struct track *tg) /* a track that shows only the indiv matches for one single article */ { +//pslMethods(tg, NULL, 0, NULL); activatePslTrackIfCgi(tg); tg->loadItems = pubsPslLoadItems; tg->itemName = pubsItemName; tg->mapItem = pubsMapItem; } static void pubsBlatMethods(struct track *tg) /* publication blat tracks are bed12+2 tracks of sequences in text, mapped with BLAT */ { -tg->loadItems = pubsLoadKeywordYearItems; +bedMethods(tg); +tg->loadItems = pubsBlatLoadItems; tg->itemName = pubsItemName; tg->mapItem = pubsMapItem; } static void pubsMarkerMethods(struct track *tg) /* publication marker tracks are bed5 tracks of genome marker occurences like rsXXXX found in text*/ { +bedMethods(tg); tg->bedSize = 5; tg->loadItems = pubsLoadMarkerItem; tg->mapItem = pubsMarkerMapItem; tg->itemName = pubsMarkerItemName; } void fillInFromType(struct track *track, struct trackDb *tdb) /* Fill in various function pointers in track from type field of tdb. */ { char *typeLine = tdb->type, *words[8], *type; int wordCount; if (typeLine == NULL) return; wordCount = chopLine(cloneString(typeLine), words); if (wordCount <= 0) return; type = words[0]; #ifndef GBROWSE if (sameWord(type, "bed")) { complexBedMethods(track, tdb, FALSE, wordCount, words); /* bed.h includes genePred.h so should be able to use these trackDb settings. */ if (trackDbSetting(track->tdb, GENEPRED_CLASS_TBL) !=NULL) track->itemColor = genePredItemClassColor; - // FIXME: registerTrackHandler cannot do wildcards - // I think this is the only way to a similar behaviour + // FIXME: this is in the wrong function, but needs to stay as long as + // registerTrackHandler does not accept wildcards if (startsWith("pubs", track->track) && stringIn("Marker", track->track)) pubsMarkerMethods(track); } /* 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); @@ -13280,37 +13283,34 @@ registerTrackHandler("encode_tba23EvoFold", rnaSecStrMethods); registerTrackHandler("encodeEvoFold", rnaSecStrMethods); registerTrackHandler("rnafold", rnaSecStrMethods); registerTrackHandler("mcFolds", rnaSecStrMethods); registerTrackHandler("rnaEditFolds", rnaSecStrMethods); registerTrackHandler("altSpliceFolds", rnaSecStrMethods); registerTrackHandler("chimpSimpleDiff", chimpSimpleDiffMethods); registerTrackHandler("tfbsCons", tfbsConsMethods); registerTrackHandler("tfbsConsSites", tfbsConsSitesMethods); registerTrackHandler("pscreen", simpleBedTriangleMethods); registerTrackHandler("dless", dlessMethods); registerTrackHandler("jaxAllele", jaxAlleleMethods); registerTrackHandler("jaxPhenotype", jaxPhenotypeMethods); registerTrackHandler("jaxAlleleLift", jaxAlleleMethods); registerTrackHandler("jaxPhenotypeLift", jaxPhenotypeMethods); - -/* publications track */ -// FIXME: need a way to register based on pattern, see fillInFromType registerTrackHandler("pubsBlat", pubsBlatMethods); registerTrackHandler("pubsBlatPsl", pubsBlatPslMethods); -registerTrackHandler("pubsDevBlat", pubsBlatMethods); // pubs testing tracks -registerTrackHandler("pubsDevBlatPsl", pubsBlatPslMethods); +registerTrackHandler("pubsDevBlat", pubsBlatMethods); // pubs testing track +registerTrackHandler("pubsDevBlatPsl", pubsBlatPslMethods); // pubs testing track /* ENCODE related */ registerTrackHandlerOnFamily("wgEncodeGencode", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeSangerGencode", gencodeGeneMethods); // one per gencode version, after V7 when it was substantially changed // FIXME: this is hacky, need a way to register based on pattern registerTrackHandlerOnFamily("wgEncodeGencodeV3", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV4", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV7", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV8", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV9", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV10", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV11", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV12", gencodeGeneMethods); registerTrackHandlerOnFamily("wgEncodeGencodeV13", gencodeGeneMethods);