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