cbc16c6d771f324f8e752f41578648e4d11f9510
markd
  Fri Nov 4 10:39:34 2022 -0700
enable All GENCODE maxTrans checking explictly in trackDb, so lift37 will not have it, since we don't have transcriptRanks for them, but want to keep the column in the attrs table'

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index ad69413..68ed7c6 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -7419,42 +7419,49 @@
     {NULL, NULL}
 };
 int i;
 for (i = 0; labelsNames[i][0] != NULL; i++)
     {
     char varName[64], varSuffix[64];
     safef(varSuffix, sizeof(varSuffix), "label.%s", labelsNames[i][1]);
     safef(varName, sizeof(varName), "%s.%s", name, varSuffix);
     char *value = cartUsualStringClosestToHome(cart, tdb, parentLevel, varSuffix, NULL);
     boolean checked = (value != NULL) && !sameString(value, "0");
     printf("%s%s: ", (i > 0) ? "  " : "", labelsNames[i][0]);
     cgiMakeCheckBoxMore(varName, checked, NULL);
     }
 }
 
-static void gencodeDisplayControls(char *db, struct cart *cart, struct trackDb *tdb, char *name, boolean parentLevel)
-/* generate display controls */
+
+static void gencodeMaxTransControl(char *db, struct cart *cart, struct trackDb *tdb, char *name, boolean parentLevel)
 {
 static char *varSuffix = "maxTrans";
 char varName[64];
 safef(varName, sizeof(varName), "%s.%s", name, varSuffix);
 int maxTrans = cartUsualIntClosestToHome(cart, tdb, parentLevel, varSuffix, 0);
 printf("<br>Maximum number of transcripts to display: ");
 cgiMakeIntVar(varName, maxTrans, 5);
 printf(" (0 to display all)");
 }
 
+static void gencodeDisplayControls(char *db, struct cart *cart, struct trackDb *tdb, char *name, boolean parentLevel)
+/* generate display controls */
+{
+if (trackDbSettingClosestToHome(tdb, "maxTransEnabled"))
+    gencodeMaxTransControl(db, cart, tdb, name, parentLevel);
+}
+
 static void newGencodeShowOptions(struct cart *cart, struct trackDb *tdb)
 /* Put up line of controls that describe what parts to show. */
 {
 char varName[64];
 
 printf("<BR><B>Show:</B> ");
 
 safef(varName, sizeof(varName), "%s.show.noncoding", tdb->track);
 boolean option = cartUsualBoolean(cart, varName, TRUE);
 cgiMakeCheckBox(varName, option);
 printf(" %s&nbsp;&nbsp;&nbsp;", "non-coding genes");
 
 safef(varName, sizeof(varName), "%s.show.spliceVariants", tdb->track);
 option = cartUsualBoolean(cart, varName, TRUE);
 cgiMakeCheckBox(varName, option);