f815a5698d53f70b21f42f113d93fdf5940289e7
max
  Wed Jun 24 06:57:07 2020 -0700
adding dbSnp download  warning to table browser, refs #25775

diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c
index 9988063..b939201 100644
--- src/hg/hgTables/mainPage.c
+++ src/hg/hgTables/mainPage.c
@@ -394,30 +394,41 @@
         "gene model files for use in genome analysis pipelines,<br>check the "
         "<a href='https://hgdownload.soe.ucsc.edu/goldenPath/%s/bigZips/genes'>bigZips/genes</a> "
         "directory on our download server.</DIV>", database);
 hPrintf(" ");
 
 jsInline("function checkGtfNote() {"
     "if (document.getElementById('outputTypeDropdown').value==='gff') "
     "    document.getElementById('gffNote').style.display=''; "
     "else "
     "    document.getElementById('gffNote').style.display='none'; "
     "}"
     "$(document).ready(checkGtfNote);\n"
 );
 jsOnEventById("change", "outputTypeDropdown", "checkGtfNote()");
 
+jsInline("function checkSnpTablesNote() {"  
+    "var trackName = document.getElementById('hgta_track').value;"
+    "if (trackName.startsWith('dbSnp') || trackName.startsWith('snp')) "
+    "    document.getElementById('snpTablesNote').style.display=''; "
+    "else "
+    "    document.getElementById('snpTablesNote').style.display='none'; "
+    "}"
+    "$(document).ready(checkSnpTablesNote);\n"
+);
+jsOnEventById("change", "outputTypeDropdown", "checkSnpTablesNote()");
+
 if (!cfgOptionBooleanDefault("hgta.disableSendOutput", FALSE))
     {
     hPrintf(" Send output to ");
     struct dyString *dy = dyStringNew(256);
     dyStringAppend(dy, 
 	"document.getElementById('checkboxGreat').checked=false;");
     if (isGenomeSpaceEnabled())
 	dyStringAppend(dy, 
 	      	  "document.getElementById('checkboxGenomeSpace').checked=false;");
     dyStringAppend(dy, 
 	      	  "return true;");
     cgiMakeCheckBoxWithId("sendToGalaxy", doGalaxy(), "checkboxGalaxy");
     jsOnEventById("click", "checkboxGalaxy", dy->string);
     hPrintf("<A HREF=\""GALAXY_URL_BASE"\" target=_BLANK>Galaxy</A>\n");
     nbSpaces(2);
@@ -635,30 +646,36 @@
 if (curTrack == NULL)
     {
     struct trackDb *tdb = hTrackDbForTrack(database, curTable);
     struct trackDb *cTdb = hCompositeTrackDbForSubtrack(database, tdb);
     if (cTdb)
         curTrack = cTdb;
     else
         curTrack = tdb;
     isMaf = isMafTable(database, curTrack, curTable);
     }
 
 /* Table-specific options */
 if (isHicTable(curTable))
     hicMainPageConfig(cart, hTrackDbForTrack(database,curTable));
 
+hPrintf("<tr><td><DIV style='display:none; opacity:0.9; border: 1px solid #EEE; margin: 2px; padding: 4px' id='snpTablesNote'>"
+        "<b>Note:</b> Most dbSNP tables are huge. Trying to download them through the Table Browser "
+        "usually leads to a timeout.<br> "
+        "Please see our <a href='https://genome.ucsc.edu/FAQ/FAQdownloads.html#download36'>Data Access FAQ</a> "
+        "on how to download dbSNP data.</DIV></td></tr>");
+
 /* Region line */
 {
 char *regionType;
 if (cartVarExists(cart, "hgFind.matches")) // coming back from a search
     regionType = cartUsualString(cart, hgtaRegionType, hgtaRegionTypeRange);
 else
     regionType = cartUsualString(cart, hgtaRegionType, hgtaRegionTypeGenome);
 
 char *range = cartUsualString(cart, hgtaRange, "");
 if (isPositional)
     {
     boolean doEncode = FALSE; 
 
     if (!trackHubDatabase(database))
 	doEncode = sqlTableExists(conn, "encodeRegions");