9a6328c45c6b94efdceaebd999984eefc43dd857 chmalee Tue Jul 27 12:22:05 2021 -0700 Forgot to check for successful mapping of hgvs when allowing multiple transcripts, refs #15554 diff --git src/hg/lib/hgFind.c src/hg/lib/hgFind.c index 7a96842..c2b7e24 100644 --- src/hg/lib/hgFind.c +++ src/hg/lib/hgFind.c @@ -2737,34 +2737,44 @@ { boolean foundIt = FALSE; struct hgvsVariant *hgvsList = hgvsParseTerm(term); if (hgvsList == NULL) hgvsList = hgvsParsePseudoHgvs(db, term); if (hgvsList) { struct hgvsVariant *hgvs = NULL; int hgvsListLen = slCount(hgvs); struct hgPosTable *table; AllocVar(table); table->description = "HGVS"; struct dyString *dyWarn = dyStringNew(0); for (hgvs = hgvsList; hgvs != NULL; hgvs = hgvs->next) { + dyStringClear(dyWarn); char *pslTable = NULL; struct bed *mapping = hgvsValidateAndMap(hgvs, db, term, dyWarn, &pslTable); - if (hgvsListLen == 1 && dyStringLen(dyWarn) > 0) + if (dyStringLen(dyWarn) > 0) + { + if (hgvsListLen == 1) + { warn("%s", dyStringContents(dyWarn)); + } + else + { + continue; + } + } if (mapping) { int padding = 5; char *trackTable; if (isEmpty(pslTable)) trackTable = "chromInfo"; else if (startsWith("lrg", pslTable)) trackTable = "lrgTranscriptAli"; else if (startsWith("wgEncodeGencode", pslTable)) trackTable = pslTable; else if (startsWith("ncbiRefSeqPsl", pslTable)) { if (startsWith("NM_", hgvs->seqAcc) || startsWith("NR_", hgvs->seqAcc) || startsWith("NP_", hgvs->seqAcc) || startsWith("YP_", hgvs->seqAcc)) trackTable = "ncbiRefSeqCurated";