036e633e37ba018df11c2b2cb96c1dbd2eb46320
chmalee
  Thu Apr 20 12:12:09 2023 -0700
Restore a blank item name in the pcr results track, but stuff the primer pair name (which is now in the psls qName) into the map item name so clicks into hgc can still show the right primer details, refs #30925

diff --git src/hg/cgilib/pcrResult.c src/hg/cgilib/pcrResult.c
index c927860..65b1148 100644
--- src/hg/cgilib/pcrResult.c
+++ src/hg/cgilib/pcrResult.c
@@ -162,42 +162,47 @@
 tdb->html = hFileContentsOrWarning(hHelpFile(PCR_RESULT_TRACK_NAME));
 trackDbPolish(tdb);
 if (tdb->settingsHash == NULL)
     tdb->settingsHash = hashNew(0);
 hashAdd(tdb->settingsHash, BASE_COLOR_DEFAULT, cloneString("diffBases"));
 hashAdd(tdb->settingsHash, BASE_COLOR_USE_SEQUENCE,
 	cloneString(PCR_RESULT_TRACK_NAME));
 hashAdd(tdb->settingsHash, SHOW_DIFF_BASES_ALL_SCALES, cloneString("."));
 hashAdd(tdb->settingsHash, INDEL_DOUBLE_INSERT, cloneString("on"));
 hashAdd(tdb->settingsHash, INDEL_QUERY_INSERT, cloneString("on"));
 hashAdd(tdb->settingsHash, INDEL_POLY_A, cloneString("on"));
 hashAdd(tdb->settingsHash, "nextItemButton", cloneString("off"));
 return tdb;
 }
 
-char *pcrResultItemAccName(char *acc, char *name)
+char *pcrResultItemAccName(char *acc, char *name, struct psl *origPsl)
 /* If a display name is given in addition to the acc, concatenate them
  * into a single name that must match a non-genomic target item's name
  * in the targetDb .2bit.  Do not free the result. */
 {
+if (origPsl)
+    return cloneString(origPsl->qName);
+else
+    {
     static char accName[256];
     if (isEmpty(name))
         safecpy(accName, sizeof(accName), acc);
     else
         safef(accName, sizeof(accName), "%s__%s", acc, name);
     return accName;
     }
+}
 
 char *pcrResultItemAccession(char *nameIn)
 /* If nameIn contains a concatenated accession and display name, returns
  * just the accession.  Do not free the result.*/
 {
 char *ptr = strstr(nameIn, "__");
 if (ptr != NULL)
     {
     static char nameOut[128];
     safecpy(nameOut, sizeof(nameOut), nameIn);
     nameOut[ptr-nameIn] = '\0';
     return nameOut;
     }
 return nameIn;
 }