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);