244bcc8165458cea7030fbe22f7a8974ba1f78ce kate Wed Jan 13 16:51:51 2016 -0800 First cut sortable table to select tissues. refs #15645 diff --git src/hg/lib/gtexTissue.c src/hg/lib/gtexTissue.c index 5c71d80..7e9afd2 100644 --- src/hg/lib/gtexTissue.c +++ src/hg/lib/gtexTissue.c @@ -195,23 +195,45 @@ ")\n", table); sqlRemakeTable(conn, table, query); } struct gtexTissue *gtexGetTissues() /* Get tissue id, descriptions, colors, etc. */ { char query[1024]; struct sqlConnection *conn = hAllocConn("hgFixed"); sqlSafef(query, sizeof(query), "select * from gtexTissue order by id"); struct gtexTissue *gtexTissues = gtexTissueLoadByQuery(conn, query); hFreeConn(&conn); return gtexTissues; } +struct hash *gtexGetTissueSampleCount() +/* Return hash of sample counts keyed by tissue name */ +{ +char query[1024]; +struct sqlResult *sr; +char **row; +struct sqlConnection *conn = hAllocConn("hgFixed"); +sqlSafef(query, sizeof(query), "select tissue, count(tissue) from gtexSample group by tissue"); +struct hash *tscHash = hashNew(0); +sr = sqlGetResult(conn,query); +while ((row = sqlNextRow(sr)) != NULL) + { + char *tissue = cloneString(row[0]); + int samples = sqlUnsigned(row[1]); + hashAddInt(tscHash, tissue, samples); + } +sqlFreeResult(&sr); +hFreeConn(&conn); +return tscHash; +} + struct rgbColor gtexTissueBrightenColor(struct rgbColor rgb) /* Increase brightness for better visibility of small items */ { struct hslColor hsl = mgRgbToHsl(rgb); hsl.s = min(1000, hsl.s + 300); return mgHslToRgb(hsl); } +