1103e292ea1e3c3e1ac2daaa19f4752719ac5015 braney Thu Apr 9 14:52:32 2026 -0700 fix quickLift DECIPHER SNV: add missing space after Transcript, show correct position for lifted assembly, refs #36061 Co-Authored-By: Claude Opus 4.6 (1M context) diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index e360f061b29..24de476b771 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -11486,30 +11486,33 @@ void printDecipherSnvsDetails(struct trackDb *tdb, char *itemName, boolean encode) /* Print details of a DECIPHER entry. */ { char *db = database; char *liftDb = cloneString(trackDbSetting(tdb, "quickLiftDb")); if (liftDb != NULL) db = liftDb; struct sqlConnection *conn = hAllocConn(db); char query[256]; struct sqlResult *sr; char **row; char *strand={"+"}; int start = cartInt(cart, "o"); int end = cartInt(cart, "t"); char *chrom = cartString(cart, "c"); +char *refChrom = chrom; +int refStart = start; +int refEnd = end; if (liftDb) // we need to get the chr start stop in liftDb coordinates { char *sqlTable = tdb->table; struct hash *chainHash = newHash(10); char *quickLiftFile = cloneString(trackDbSetting(tdb, "quickLiftUrl")); struct bed *bed = (struct bed *)quickLiftSql(conn, quickLiftFile, sqlTable, chrom, start, end, NULL, NULL, (ItemLoader2)bedLoadN, 4, chainHash); for(; bed; bed = bed->next) if (sameString(bed->name, itemName)) break; if (bed == NULL) errAbort("cannot find %s", itemName); @@ -11606,30 +11609,33 @@ row = sqlNextRow(sr); } printf(""); } sqlFreeResult(&sr); } /* link to Ensembl DECIPHER Patient View page */ printf("Patient View: \n"); printf("More details on patient %s at ", itemName); printf("", "https://www.deciphergenomics.org/patient/", itemName); printf("DECIPHER.

"); /* print position info */ +if (liftDb) + printPosOnChrom(refChrom, refStart, refEnd, strand, TRUE, itemName); +else printPosOnChrom(chrom, start, end, strand, TRUE, itemName); hFreeConn(&conn); } void doDecipherSnvs(struct trackDb *tdb, char *item, char *itemForUrl) /* Put up DECIPHER track info. */ { genericHeader(tdb, item); printDecipherSnvsDetails(tdb, item, FALSE); printTrackHtml(tdb); } void printDecipherCnvsDetails(struct trackDb *tdb, char *itemName, boolean encode) /* Print details of a DECIPHER entry. */