114bd9cc108feeb8b20ad0b98b35454ea3fde8e0
kate
Mon May 2 11:45:50 2016 -0700
Add details page info to show highest expressed tissue with scores. refs #17244
diff --git src/hg/hgc/gtexClick.c src/hg/hgc/gtexClick.c
index c4326dd..dab7f9a 100644
--- src/hg/hgc/gtexClick.c
+++ src/hg/hgc/gtexClick.c
@@ -82,56 +82,60 @@
struct sqlConnection *conn = hAllocConn(database);
char *desc = sqlQuickString(conn, query);
hFreeConn(&conn);
return desc;
}
void doGtexGeneExpr(struct trackDb *tdb, char *item)
/* Details of GTEx gene expression item */
{
int start = cartInt(cart, "o");
int end = cartInt(cart, "t");
struct gtexGeneBed *gtexGene = getGtexGene(item, seqName, start, end, tdb->table);
if (gtexGene == NULL)
errAbort("Can't find gene %s in GTEx gene table %s\n", item, tdb->table);
+char *version = gtexVersion(tdb->table);
genericHeader(tdb, item);
printf("Gene: ");
char *desc = getGeneDescription(gtexGene);
if (desc == NULL)
printf("%s
\n", gtexGene->name);
else
{
printf("%s
\n",
hgGeneName(), database, gtexGene->name, gtexGene->name);
printf("Description: %s
\n", desc);
}
printf("Ensembl gene ID: %s
\n", gtexGene->geneId);
// The actual transcript model is a union, so this identification is approximate
// (used just to find a transcript class)
char *geneClass = gtexGeneClass(gtexGene);
printf("GENCODE biotype: %s
\n", gtexGene->geneType);
printf("Gene class: %s
\n",
geneClassColorCode(geneClass), geneClass);
+int tisId;
+float highLevel = gtexGeneHighestMedianExpression(gtexGene, &tisId);
+printf("Highest median expression: %0.2f RPKM in %s
\n",
+ highLevel, gtexGetTissueDescription(tisId, version));
printf("Total median expression: %0.2f RPKM
\n", gtexGeneTotalMedianExpression(gtexGene));
printf("Score: %d
\n", gtexGene->score);
printf("Genomic position: "
"%s %s:%d-%d
\n",
database, hgTracksPathAndSettings(), database,
gtexGene->chrom, gtexGene->chromStart+1, gtexGene->chromEnd,
gtexGene->chrom, gtexGene->chromStart+1, gtexGene->chromEnd);
puts("
");
// set gtexDetails (e.g. to 'log') to show log transformed details page
// if hgTracks is log-transformed
boolean doLogTransform =
(trackDbSetting(tdb, "gtexDetails") &&
cartUsualBooleanClosestToHome(cart, tdb, FALSE, GTEX_LOG_TRANSFORM,
GTEX_LOG_TRANSFORM_DEFAULT));
-char *version = gtexVersion(tdb->table);
struct tempName pngTn;
if (gtexGeneBoxplot(gtexGene->geneId, gtexGene->name, version, doLogTransform, &pngTn))
printf("
\n", pngTn.forHtml);
printf("
");
gtexPortalLink(gtexGene->geneId);
printTrackHtml(tdb);
}