ceee920e8cd7b510dce7101d1338cc76287ba96e angie Mon Jul 30 09:38:22 2018 -0700 Just in case we someday have additional subset(s) of ncbiRefSeq such as ncbiRefSeqClinVar, instead of hardcoding Curated and Predicted, support any ncbiRefSeq* table. diff --git src/hg/lib/annoStreamDbPslPlus.c src/hg/lib/annoStreamDbPslPlus.c index bd73dc8..fb9e6ac 100644 --- src/hg/lib/annoStreamDbPslPlus.c +++ src/hg/lib/annoStreamDbPslPlus.c @@ -222,33 +222,33 @@ struct dyString *dy = dyStringCreate(ncbiRefSeqConfigJsonFormat, gpTable); configJson = dyStringCannibalize(&dy); } else errAbort("annoStreamDbPslPlusNew: unrecognized table \"%s\"", gpTable); struct annoStreamDbPslPlus *self; AllocVar(self); // Get internal streamer for joining PSL with other tables. struct jsonElement *config = jsonParse(configJson); if (extraConfig) jsonObjectMerge(config, extraConfig); self->mySource = annoStreamDbNew(aa->name, pslTable, aa, maxOutRows, config); struct asObject *asObj = annoStreamDbPslPlusAsObj(); if (extraConfig) asObjAppendExtraColumns(asObj, self->mySource->asObj); -if (sameString("ncbiRefSeqCurated", gpTable) || sameString("ncbiRefSeqPredicted", gpTable)) +if (startsWith("ncbiRefSeq", gpTable) && differentString("ncbiRefSeq", gpTable)) { - // Load up an ID hash to restrict PSL query results to the curated/predicted subset: + // Load up an ID hash to restrict PSL query results to the subset in gpTable: struct sqlConnection *conn = hAllocConn(aa->name); char query[1024]; sqlSafef(query, sizeof(query), "select name, 1 from %s", gpTable); self->idHash = sqlQuickHash(conn, query); hFreeConn(&conn); } // Set up external streamer interface struct annoStreamer *streamer = &(self->streamer); annoStreamerInit(streamer, aa, asObj, pslTable); streamer->rowType = arWords; self->gpTable = cloneString(gpTable); // Override methods that need to pass through to internal source: streamer->setRegion = asdppSetRegion; streamer->nextRow = asdppNextRow; streamer->close = asdppClose;