f9f77886f3b4986248ec97ff059bd8031c9f65d3 hiram Wed Mar 8 15:28:37 2017 -0800 allow names other than ^chr to work for chain filter by name refs #18656 diff --git src/hg/hgTracks/chainTrack.c src/hg/hgTracks/chainTrack.c index 95d873c..5e79f7f 100644 --- src/hg/hgTracks/chainTrack.c +++ src/hg/hgTracks/chainTrack.c @@ -405,33 +405,34 @@ { char *table = tg->table; struct chain chain; int rowOffset; char **row; struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr = NULL; struct linkedFeatures *list = NULL, *lf; int qs; char *optionChrStr; char extraWhere[128] ; struct cartOptions *chainCart; chainCart = (struct cartOptions *) tg->extraUiData; -optionChrStr = cartUsualStringClosestToHome(cart, tg->tdb, FALSE, - "chromFilter", "All"); -if (startsWith("chr",optionChrStr)) +optionChrStr = skipLeadingSpaces(cartUsualStringClosestToHome(cart, tg->tdb, + FALSE, "chromFilter", "All")); + +if (differentWord("All",optionChrStr)) { safef(extraWhere, sizeof(extraWhere), "qName = \"%s\" and score > %d",optionChrStr, chainCart->scoreFilter); sr = hRangeQuery(conn, table, chromName, winStart, winEnd, extraWhere, &rowOffset); } else { if (chainCart->scoreFilter > 0) { safef(extraWhere, sizeof(extraWhere), "score > \"%d\"",chainCart->scoreFilter); sr = hRangeQuery(conn, table, chromName, winStart, winEnd, extraWhere, &rowOffset);