6e69d9250f787c86467bcb1b149eff9065905213 kate Wed Feb 10 15:51:42 2016 -0800 Query for transcript description in version agnostic way to accomodate changes to knownToEnsembl table (hg38 vs hg19) diff --git src/hg/hgc/gtexClick.c src/hg/hgc/gtexClick.c index 08ef1c7..9152616 100644 --- src/hg/hgc/gtexClick.c +++ src/hg/hgc/gtexClick.c @@ -172,37 +172,40 @@ *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]; +char *transcriptId = cloneString(gtexGene->transcriptId); +chopSuffix(transcriptId); sqlSafef(query, sizeof(query), - "select kgXref.description from kgXref, knownToEnsembl where knownToEnsembl.value='%s' and knownToEnsembl.name=kgXref.kgID", gtexGene->transcriptId); + "select kgXref.description from kgXref, knownToEnsembl where knownToEnsembl.value like '%%%s%%' and knownToEnsembl.name=kgXref.kgID", 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("Ensembl Gene ID: %s
\n", gtexGene->geneId); +printf("Ensembl Transcript ID: %s
\n", transcriptId); 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; char *versionSuffix = gtexVersionSuffix(tdb->table); struct tissueSampleVals *tsvs = getTissueSampleVals(gtexGene, doLogTransform, versionSuffix, &maxVal); char *version = gtexVersion(tdb->table); drawGtexRBoxplot(gtexGene, tsvs, doLogTransform, version); printTrackHtml(tdb); }