5f9ba1691bd3051146f2f9464c9d1375e42f6ff4 angie Thu Mar 8 11:36:57 2018 -0800 Added support for ENS*T* transcript IDs in HGVS position search, using the latest Gencode. Added support for parsing ENS*P* protein IDs, but can't yet map those to the genome because our Gencode tables don't yet include a mapping between transcript and protein IDs. refs #21076 diff --git src/hg/lib/hgFind.c src/hg/lib/hgFind.c index e8b53d6..7006627 100644 --- src/hg/lib/hgFind.c +++ src/hg/lib/hgFind.c @@ -3070,30 +3070,43 @@ if (hgvs) { struct dyString *dyWarn = dyStringNew(0); char *pslTable = NULL; struct bed *mapping = hgvsValidateAndMap(hgvs, db, term, dyWarn, &pslTable); if (dyStringLen(dyWarn) > 0) warn("%s", dyStringContents(dyWarn)); 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"; + else if (startsWith("XM_", hgvs->seqAcc) || startsWith("XR_", hgvs->seqAcc) || + startsWith("XP_", hgvs->seqAcc)) + trackTable = "ncbiRefSeqPredicted"; + else + trackTable = "ncbiRefSeq"; + } else trackTable = "refGene"; singlePos(hgp, "HGVS", NULL, trackTable, term, "", mapping->chrom, mapping->chromStart-padding, mapping->chromEnd+padding); // highlight the mapped bases to distinguish from padding hgp->tableList->posList->highlight = addHighlight(cart, db, mapping->chrom, mapping->chromStart, mapping->chromEnd); foundIt = TRUE; } dyStringFree(&dyWarn); } return foundIt; } struct hgPositions *hgPositionsFind(char *db, char *term, char *extraCgi,