5f9ba1691bd3051146f2f9464c9d1375e42f6ff4
angie
  Thu Mar 8 11:36:57 2018 -0800
Added support for ENS*T* transcript IDs in HGVS position search, using the latest Gencode.
Added support for parsing ENS*P* protein IDs, but can't yet map those to the genome because
our Gencode tables don't yet include a mapping between transcript and protein IDs.
refs #21076

diff --git src/hg/lib/hgFind.c src/hg/lib/hgFind.c
index e8b53d6..7006627 100644
--- src/hg/lib/hgFind.c
+++ src/hg/lib/hgFind.c
@@ -3070,30 +3070,43 @@
 if (hgvs)
     {
     struct dyString *dyWarn = dyStringNew(0);
     char *pslTable = NULL;
     struct bed *mapping = hgvsValidateAndMap(hgvs, db, term, dyWarn, &pslTable);
     if (dyStringLen(dyWarn) > 0)
         warn("%s", dyStringContents(dyWarn));
     if (mapping)
         {
         int padding = 5;
         char *trackTable;
         if (isEmpty(pslTable))
             trackTable = "chromInfo";
         else if (startsWith("lrg", pslTable))
             trackTable = "lrgTranscriptAli";
+        else if (startsWith("wgEncodeGencode", pslTable))
+            trackTable = pslTable;
+        else if (startsWith("ncbiRefSeqPsl", pslTable))
+            {
+            if (startsWith("NM_", hgvs->seqAcc) || startsWith("NR_", hgvs->seqAcc) ||
+                startsWith("NP_", hgvs->seqAcc) || startsWith("YP_", hgvs->seqAcc))
+                trackTable = "ncbiRefSeqCurated";
+            else if (startsWith("XM_", hgvs->seqAcc) || startsWith("XR_", hgvs->seqAcc) ||
+                     startsWith("XP_", hgvs->seqAcc))
+                trackTable = "ncbiRefSeqPredicted";
+            else
+                trackTable = "ncbiRefSeq";
+            }
         else
             trackTable = "refGene";
         singlePos(hgp, "HGVS", NULL, trackTable, term, "",
                   mapping->chrom, mapping->chromStart-padding, mapping->chromEnd+padding);
         // highlight the mapped bases to distinguish from padding
         hgp->tableList->posList->highlight = addHighlight(cart, db, mapping->chrom,
                                                           mapping->chromStart, mapping->chromEnd);
         foundIt = TRUE;
         }
     dyStringFree(&dyWarn);
     }
 return foundIt;
 }
 
 struct hgPositions *hgPositionsFind(char *db, char *term, char *extraCgi,