2806b36916f0c1d9e8602e877c7c4e68adfc22cd
braney
  Sat Sep 21 17:24:19 2013 -0700
code to support version numbers in *efSeg id's , and to support newfiltering regime that doesn't filter based on repeat content.

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 5e06517..2c01061 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -5290,31 +5290,36 @@
 /* lookup the organism for an mrna, or NULL if not found.  This will
  * only return the genus, and only the first seven letters of that.
  * WARNING: static return */
 {
 return orgShortName(getOrganism(conn, acc));
 }
 
 char *getGeneName(struct sqlConnection *conn, char *acc)
 /* get geneName from refLink or NULL if not found.
  * WARNING: static return */
 {
 static char nameBuf[256];
 char query[256], *name = NULL;
 if (hTableExists(database,  "refLink"))
     {
-    sqlSafef(query, sizeof query, "select name from refLink where mrnaAcc = '%s'", acc);
+    /* remove the version number if any */
+    static char accBuf[1024];
+    safecpy(accBuf, sizeof accBuf, acc);
+    chopSuffix(accBuf);
+
+    sqlSafef(query, sizeof query, "select name from refLink where mrnaAcc = '%s'", accBuf);
     name = sqlQuickQuery(conn, query, nameBuf, sizeof(nameBuf));
     if ((name != NULL) && (name[0] == '\0'))
         name = NULL;
     }
 return name;
 }
 
 char *getRgdGene2Symbol(struct sqlConnection *conn, char *acc)
 /* get gene symbol from rgdGene2ToSymbol or NULL if not found.
  * WARNING: static return */
 {
 static char symbolBuf[256];
 char query[256], *symbol = NULL;
 if (hTableExists(database,  "rgdGene2ToSymbol"))
     {
@@ -5419,31 +5424,34 @@
 
 char *refGeneName(struct track *tg, void *item)
 /* Get name to use for refGene item. */
 {
 struct linkedFeatures *lf = item;
 if (lf->extra != NULL)
     return lf->extra;
 else
     return lf->name;
 }
 
 char *refGeneMapName(struct track *tg, void *item)
 /* Return un-abbreviated gene name. */
 {
 struct linkedFeatures *lf = item;
-return lf->name;
+char buffer[1024];
+safecpy(buffer, sizeof buffer, lf->name);
+chopSuffix(buffer);
+return cloneString(buffer);
 }
 
 void lookupRefNames(struct track *tg)
 /* This converts the refSeq accession to a gene name where possible. */
 {
 struct linkedFeatures *lf;
 struct sqlConnection *conn = hAllocConn(database);
 boolean isNative = sameString(tg->table, "refGene");
 boolean labelStarted = FALSE;
 boolean useGeneName = FALSE;
 boolean useAcc =  FALSE;
 boolean useMim =  FALSE;
 
 struct hashEl *refGeneLabels = cartFindPrefix(cart, (isNative ? "refGene.label" : "xenoRefGene.label"));
 struct hashEl *label;