5362e6ebf159d0a21f0175fb83f3dae9213ad0ab
hiram
  Thu Feb 11 15:04:30 2016 -0800
protect omim button on refSeq UI refs #13673

diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index 8033736..d3fa249 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -1896,38 +1896,52 @@
 }
 
 void retroGeneUI(struct trackDb *tdb)
 /* Put up retroGene-specific controls */
 {
 printf("<B>Label:</B> ");
 labelMakeCheckBox(tdb, "gene", "gene", FALSE);
 labelMakeCheckBox(tdb, "acc", "accession", FALSE);
 
 baseColorDrawOptDropDown(cart, tdb);
 }
 
 void ncbiRefSeqUI(struct trackDb *tdb)
 /* Put up gene ID track controls */
 {
+struct sqlConnection *conn = hAllocConn(database);
+char query[256];
+char *omimAvail = NULL;
+if (sqlTableExists(conn, "kgXref"))
+    {
+    sqlSafef(query, sizeof(query), "select kgXref.kgID from kgXref,%s r where kgXref.refseq = r.mrnaAcc and r.omimId != 0 limit 1", refLinkTable);
+    omimAvail = sqlQuickString(conn, query);
+    }
+else if (sqlTableExists(conn, "ncbiRefSeqLink"))
+    omimAvail = "yes";
+
 char varName[64];
 safef(varName, sizeof(varName), "%s.label", tdb->track);
 printf("<br><b>Label:</b> ");
 labelMakeCheckBox(tdb, "gene", "gene symbol", TRUE);
 labelMakeCheckBox(tdb, "acc", "accession", FALSE);
+if (omimAvail)
+    {
     char sym[32];
     safef(sym, sizeof(sym), "omim%s", cartString(cart, "db"));
     labelMakeCheckBox(tdb, sym, "OMIM ID", FALSE);
+    }
 printf("&nbsp;&nbsp;(select gene symbol(s) to display)<br>");
 }
 
 void ensGeneUI(struct trackDb *tdb)
 /* Put up Ensembl Gene track-specific controls */
 {
 ensGeneIdConfig(tdb);
 printf("<BR>\n");
 
 /* Put up codon coloring stuff. */
 baseColorDrawOptDropDown(cart, tdb);
 }
 
 void vegaGeneUI(struct trackDb *tdb)
 /* Put up Vega Gene track-specific controls */