1484bda490e2b8be6af6889f09b258b4e63a7618
chmalee
  Wed Aug 30 15:01:22 2023 -0700
Restore revoked commit that fixes hgc for old pcr result clicks, refs #32026

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 0ef8629..c3b3dc2 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -7138,44 +7138,48 @@
 if (targetSearch)
     {
     /* item (from hgTracks) is |-separated: target sequence name,
      * amplicon start offset in target sequence, and amplicon end offset. */
     char *words[3];
     int wordCount = chopByChar(cloneString(item), '|', words, ArraySize(words));
     if (wordCount != 3)
 	errAbort("doPcrResult: expected 3 |-sep'd words but got '%s'", item);
     targetSeqName = words[0];
     if (endsWith(targetSeqName, "__"))
 	targetSeqName[strlen(targetSeqName)-2] = '\0';
     ampStart = atoi(words[1]), ampEnd = atoi(words[2]);
     // use the psl file to find the right primer pair
     pslFileGetPrimers(pslFileName, item, ampStart, ampEnd, &fPrimer, &rPrimer);
     }
-else
+else if (stringIn("_", item))
     {
     // the item name contains the forward and reverse primers
     int maxSplits = 2;
     char *splitQName[maxSplits];
     int numSplits = chopString(cloneString(item), "_", splitQName, sizeof(splitQName));
     if (numSplits == maxSplits)
         {
         fPrimer = splitQName[0];
         touppers(fPrimer);
         rPrimer = splitQName[1];
         touppers(rPrimer);
         }
     }
+else
+    {
+    pcrResultGetPrimers(primerFileName, &fPrimer, &rPrimer, NULL);
+    }
 printf("<H2>PCR Results (<TT>%s %s</TT>)</H2>\n", fPrimer, rPrimer);
 printf("<B>Forward primer:</B> 5' <TT>%s</TT> 3'<BR>\n", fPrimer);
 printf("<B>Reverse primer:</B> 5' <TT>%s</TT> 3'<BR>\n", rPrimer);
 if (targetSearch)
     printf("<B>Search target:</B> %s<BR>\n", target->description);
 
 struct psl *itemPsl = NULL, *otherPsls = NULL, *psl;
 if (targetSearch)
     {
     pcrResultGetPsl(pslFileName, target, targetSeqName, seqName, ampStart, ampEnd,
 		    &itemPsl, &otherPsls, fPrimer, rPrimer);
     printPcrTargetMatch(target, itemPsl, TRUE);
     }
 else
     {