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