d3c4dd4f1df4b3919520794bfcaac0a7d0935a7f
angie
  Tue Dec 19 12:07:23 2017 -0800
Replace hgTracks' links to NCBI's obsolete Map Viewer with the new & improved Genome Data Viewer.  GDV has only the latest RefSeq assembly for all species except human; it wants GCF_... IDs, which we will have to keep updating in hdb.c.  It's possible that someday NCBI may accept our db IDs instead of GCF_.  refs #18671

diff --git src/hg/hgTracks/menu.c src/hg/hgTracks/menu.c
index 5bb7836..471f8e5 100644
--- src/hg/hgTracks/menu.c
+++ src/hg/hgTracks/menu.c
@@ -317,88 +317,37 @@
                         printEnsemblAnchor(database, archive, ctgItem->contig,
                                            ctgStart, ctgEnd, &links);
                         }
                     }
                 ctgPosFree(&ctgItem);   // the one we maybe used
                 }
             }
         else
             {
             printEnsemblAnchor(database, archive, chromName, winStart, winEnd, &links);
             }
         }
     }
 hFreeConn(&conn);
 
-if (sameString(database, "hg38"))
+char *gcfId = hNcbiGcfId(database);
+if (isNotEmpty(gcfId))
     {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9606&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "hg19"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9606&build=previous&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "mm8"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=10090&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "danRer2"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=7955&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "galGal3"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9031&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "canFam2"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9615&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "rheMac2"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9544&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "panTro2"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9598&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "anoGam1"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=7165&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
-    appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
-    }
-else if (sameString(database, "bosTau6"))
-    {
-    safef(buf, sizeof(buf), "https://www.ncbi.nlm.nih.gov/mapview/maps.cgi?taxid=9913&CHR=%s&BEG=%d&END=%d",
-          skipChr(chromName), winStart+1, winEnd);
+    safef(buf, sizeof(buf),
+          "https://www.ncbi.nlm.nih.gov/genome/gdv/browser/"
+          "?id=%s&chr=%s&from=%d&to=%d&context=genome",
+          gcfId, skipChr(chromName), winStart+1, winEnd);
     appendLink(&links, buf, "NCBI", "ncbiLink", TRUE);
     }
 else if (startsWith("oryLat", database))
     {
     safef(buf, sizeof(buf), "http://medaka.utgenome.org/browser_ens_jump.php?revision=version1.0&chr=chromosome%s&start=%d&end=%d",
           skipChr(chromName), winStart+1, winEnd);
     appendLink(&links, buf, "UTGB", "medakaLink", TRUE);
     }
 else if (sameString(database, "cb3"))
     {
     safef(buf, sizeof(buf), "http://www.wormbase.org/db/seq/gbrowse/briggsae?name=%s:%d-%d",
           skipChr(chromName), winStart+1, winEnd);
     appendLink(&links, buf, "WormBase", "wormbaseLink", TRUE);
     }
 else if (sameString(database, "cb4"))