832926811b278d5c656957e1565acdde48522def
kate
  Mon Apr 27 17:59:12 2020 -0700
Update GTEx gene track click handler and track settings to handle V8 (add Kidney Medulla tissue, support TPM and RPKM). refs #25130

diff --git src/hg/hgc/gtexClick.c src/hg/hgc/gtexClick.c
index 4ac2c33..5886fd5 100644
--- src/hg/hgc/gtexClick.c
+++ src/hg/hgc/gtexClick.c
@@ -107,33 +107,34 @@
 else
     {
     printf("<a target='_blank' href='%s?db=%s&hgg_gene=%s'>%s</a><br>\n", 
                         hgGeneName(), database, gtexGene->name, gtexGene->name);
     printf("<b>Description:</b> %s<br>\n", desc);
     }
 printf("<b>Ensembl gene ID:</b> %s<br>\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("<b>GENCODE biotype: </b> %s<br>\n", gtexGene->geneType); 
 printf("<b>Gene class: </b><span style='color: %s'>%s</span><br>\n", 
             geneClassColorCode(geneClass), geneClass);
 int tisId;
 float highLevel = gtexGeneHighestMedianExpression(gtexGene, &tisId);
-printf("<b>Highest median expression: </b> %0.2f RPKM in %s<br>\n", 
-                highLevel, gtexGetTissueDescription(tisId, version));
-printf("<b>Total median expression: </b> %0.2f RPKM<br>\n", gtexGeneTotalMedianExpression(gtexGene));
+printf("<b>Highest median expression: </b> %0.2f %s in %s<br>\n", 
+                highLevel, gtexExprUnit(version), gtexGetTissueDescription(tisId, version));
+printf("<b>Total median expression: </b> %0.2f %s<br>\n", gtexGeneTotalMedianExpression(gtexGene),
+                gtexExprUnit(version));
 printf("<b>Score: </b> %d<br>\n", gtexGene->score); 
 printf("<b>Genomic position: "
                 "</b>%s <a href='%s&db=%s&position=%s%%3A%d-%d'>%s:%d-%d</a><br>\n", 
                     database, hgTracksPathAndSettings(), database, 
                     gtexGene->chrom, gtexGene->chromStart+1, gtexGene->chromEnd,
                     gtexGene->chrom, gtexGene->chromStart+1, gtexGene->chromEnd);
 puts("<p>");
 
 // 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));
 struct tempName pngTn;