00dc30fb3d0a1512d9210c1e010373e06d1ddb75 kate Fri Nov 20 04:40:33 2015 -0800 Add gene description to details page. refs #15645 diff --git src/hg/hgc/gtexClick.c src/hg/hgc/gtexClick.c index 094a32f..1bcaf75 100644 --- src/hg/hgc/gtexClick.c +++ src/hg/hgc/gtexClick.c @@ -367,30 +367,38 @@ if (maxValRet != NULL) *maxValRet = maxVal; return tsList; } void doGtexGeneExpr(struct trackDb *tdb, char *item) /* Details of GTEx gene expression item */ { struct gtexGeneBed *gtexGene = getGtexGene(item, tdb->table); if (gtexGene == NULL) errAbort("Can't find gene %s in GTEx gene table %s\n", item, tdb->table); genericHeader(tdb, item); // TODO: link to UCSC gene printf("Gene: %s
", gtexGene->name); +char query[256]; +sqlSafef(query, sizeof(query), + "select kgXref.description from kgXref, knownToEnsembl where knownToEnsembl.value='%s' and knownToEnsembl.name=kgXref.kgID", gtexGene->transcriptId); +struct sqlConnection *conn = hAllocConn(database); +char *desc = sqlQuickString(conn, query); +hFreeConn(&conn); +if (desc != NULL) + printf("Description: %s
\n", desc); printf("Ensembl ID: %s
\n", gtexGene->geneId); printf("View at GTEx portal
\n", gtexGene->geneId); puts("

"); boolean doLogTransform = cartUsualBooleanClosestToHome(cart, tdb, FALSE, GTEX_LOG_TRANSFORM, GTEX_LOG_TRANSFORM_DEFAULT); double maxVal = 0.0; struct tissueSampleVals *tsvs = getTissueSampleVals(gtexGene, doLogTransform, &maxVal); // TODO: Remove one char *viz = cgiUsualString("viz", "R"); if (sameString(viz, "C")) drawGtexBoxplot(gtexGene, tsvs, maxVal, doLogTransform); else drawGtexRBoxplot(gtexGene, tsvs, doLogTransform);