3446d0006f2c776afd02a36d351d79611383615e
angie
  Tue Sep 25 13:26:29 2018 -0700
Chop at ':', if there is one, in {alt,fix}Locations.name when matching an alt or fix sequence name.  refs #18854

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 48bdf30..9e260a4 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -3309,31 +3309,32 @@
     errAbort("unexpected error in initSingleAltHaplotype: virtRegionList is NULL, should contain all chroms");
 struct virtRegion *after = virtRegionList;
 virtRegionList = NULL;
 struct sqlResult *sr;
 char **row;
 char *table = endsWith(haplotypeId, "_fix") ? "fixLocations" : "altLocations";
 if (! hTableExists(database, table))
     {
     warn("initSingleAltHaplotype: table '%s' not found in database %s, "
          "can't find %s", table, database, haplotypeId);
     return FALSE;
     }
 
 // where is the alt haplo placed?
 char query[256];
-sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd from %s where name='%s'", table, haplotypeId);
+sqlSafef(query, sizeof(query), "select chrom, chromStart, chromEnd from %s "
+         "where name rlike '^%s(:[0-9-]+?)'", table, haplotypeId);
 sr = sqlGetResult(conn, query);
 row = sqlNextRow(sr);
 if (!row)
     {
     warn("no haplotype found for [%s] in %s", haplotypeId, table);
     return FALSE;
     }
 char *haploChrom = cloneString(row[0]);
 int haploStart = sqlUnsigned(row[1]);
 int haploEnd   = sqlUnsigned(row[2]);
 sqlFreeResult(&sr);
 // what is the size of the alt haplo?
 int haploSize = hChromSize(database, haplotypeId); // hopefully this will work
 
 // insert into list replacing original haploChrom record