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("

PCR Results (%s %s)

\n", fPrimer, rPrimer); printf("Forward primer: 5' %s 3'
\n", fPrimer); printf("Reverse primer: 5' %s 3'
\n", rPrimer); if (targetSearch) printf("Search target: %s
\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 {