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/hgGtexTrackSettings/hgGtexTrackSettings.c src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
index f09df09..6a79f6c 100644
--- src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
+++ src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
@@ -226,31 +226,31 @@
 }
 
 static void printTissueTable(struct trackDb *tdb)
 /* Output HTML with tissue labels and colors, in 2 columns, to fit next to body map */
 {
 char *version = gtexVersion(tdb->track);
 struct gtexTissue *tis, *tissues = gtexGetTissues(version);
 char var[512];
 safef(var, sizeof var, "%s.%s", tdb->track, GTEX_TISSUE_SELECT);
 struct hash *selectedHash = cartHashList(cart, var);
 struct gtexTissue **tisTable = NULL;
 int count = slCount(tissues);
 AllocArray(tisTable, count);
 int i=0, col=0;
 int cols = 2;
-int last = count/2 + 1;
+int last = count/2 + count%2;
 
 puts(
 " <!-- Tissue list -->\n"
 "<div class='row gbSectionBanner'>\n"
 "  <div class='col-md-2'>Tissues\n"
 "    <!-- Info icon built from stacked fa icons -->\n"
 "    <span id='showSampleCount' title='Show sample counts'>\n"
 "      <span class='gbIconSmall fa-stack'>\n"
 "        <i class='gbBlueDarkColor fa fa-circle fa-stack-2x'></i>\n"
 "        <i class='gbWhiteColor fa fa-info fa-stack-1x'></i>\n"
 "      </span></a>\n"
 "    </span>\n"
 "  </div>\n"
 "  <div class='col-md-6 gbSectionInfo'>\n"
 "      Click below or in Body Map to change tissues\n"
@@ -427,37 +427,42 @@
     parentTdb = trackDbLoadWhere(conn, TRACKDB, where);
     if (parentTdb)
         tdb->parent = parentTdb;
     }
 sqlDisconnect(&conn);
 return tdb;
 }
 
 static void doMiddle(struct cart *theCart)
 /* Send HTML with javascript to display the user interface. */
 {
 cart = theCart;
 char *db = NULL, *genome = NULL, *clade = NULL;
 getDbGenomeClade(cart, &db, &genome, &clade, oldVars);
 database = db;
+char *track = cartUsualString(cart, "g", "gtexGene");
+char *version = gtexVersion(track);
 
 // Start web page with new-style header
-webStartGbNoBanner(cart, db, "Genome Browser GTEx Track Settings");
+
+char pageTitle[200];
+safef(pageTitle, sizeof pageTitle, "Genome Browser GTEx Gene %s Track Settings", version);
+webStartGbNoBanner(cart, db, pageTitle);
+
 puts("<link rel='stylesheet' href='../style/gb.css'>");         // NOTE: This will likely go to web.c
 puts("<link rel='stylesheet' href='../style/hgGtexTrackSettings.css'>");
 
-char *track = cartUsualString(cart, "g", "gtexGene");
 struct trackDb *tdb = getTrackDb(db, track);
 if (!tdb)
     errAbort("No GTEx track %s found in database %s\n", track, db);
 
 // Container for bootstrap grid layout
 puts(
 "<div class='container-fluid'>\n");
 
 // Print form with configuration HTML, and track description
 printf(
 "<form action='%s' name='MAIN_FORM' method=%s>\n\n",
                 hgTracksName(), cartUsualString(cart, "formMethod", "POST"));
 printTrackHeader(db, tdb);
 printTrackConfig(tdb);
 puts(