e25967005aa048ff75162892cd8b4f8072fc9e7d braney Wed Jun 29 15:07:05 2011 -0700 fix filtering for Gencode tracks (#2608) diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 444beb6..b4a9b26 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -4286,31 +4286,33 @@ char *attrsTbl = trackDbRequiredSetting(tg->tdb, "wgEncodeGencodeAttrs"); char *srcTbl = trackDbRequiredSetting(tg->tdb, "wgEncodeGencodeTranscriptSource"); struct dyString *dyQuery = dyStringCreate("select 1 from %s attrs, %s transSrc where (attrs.transcriptId = \"%s\") %s", attrsTbl, srcTbl, lf->name, where->string); dyStringFree(&where); return dyQuery; } static boolean genePredClassFilterBySet(struct track *tg, char *classTable, filterBy_t *filterBySet, struct linkedFeatures *lf) /* Check if an item passes a filterBySet filter */ { struct dyString *dyQuery = NULL; if (trackDbSetting(tg->tdb, "wgEncodeGencodeVersion") != NULL) { if (startsWith("wgEncodeGencodeBasic", tg->tdb->track) + || startsWith("wgEncodeGencodeComp", tg->tdb->track) || startsWith("wgEncodeGencodeFull", tg->tdb->track) + || startsWith("wgEncodeGencode2wayConsPseudo", tg->tdb->track) || startsWith("wgEncodeGencodePseudoGene", tg->tdb->track)) dyQuery = gencodeFilterBySetQuery(tg, filterBySet, lf); } else dyQuery = genePredClassFilterBySetQuery(tg, classTable, filterBySet, lf); if (dyQuery == NULL) return TRUE; struct sqlConnection *conn = hAllocConn(database); boolean passesThroughFilter = sqlQuickNum(conn, dyQuery->string); dyStringFree(&dyQuery); hFreeConn(&conn); return passesThroughFilter; }