f4b74472e76528b7ccf72c2a38e7b110f7d603a5 braney Sat Aug 23 13:38:41 2025 -0700 more work on quickLift track hgc click diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index a0cfef9551d..1ca4317a322 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -3926,41 +3926,45 @@ qSeq, tSeq); subSetScore = subChain->score; } chainFree(&toFree); char *liftDb = cloneString(trackDbSetting(tdb, "quickLiftDb")); if (liftDb != NULL) { int seqStart = cartInt(cart, "l"); int seqEnd = cartInt(cart, "r"); char *chromName = cartString(cart, "c"); char *quickLiftFile = cloneString(trackDbSetting(tdb, "quickLiftUrl")); struct quickLiftRegions *hr, *regions = quickLiftGetRegions(database, liftDb, quickLiftFile, chromName, seqStart, seqEnd); - printf("<TABLE> <TR>\n"); + printf("<B>Variants in Window:</B><BR>"); + printf("<TABLE border=\"1\"> <TR>\n"); + printf("<TR><TD>Type</TD><TD>Pos</TD><TD>Other Pos</TD><TD>Other Count</TD><TD>Other Bases</TD><TD>Count</TD><TD>Bases</TD>"); for(hr = regions; hr; hr = hr->next) { if (hr->type == QUICKTYPE_NOTHING) continue; char position[128]; - char *newPos; - snprintf(position, 128, "%s:%ld-%ld", chromName, hr->chromStart, hr->chromEnd); - newPos = addCommasToPos(database, position); - printf("<TR><TD>%s</TD><TD>%s</TD>", quickTypeStrings[hr->type], newPos); + char *ourPos, *otherPos; + snprintf(position, 128, "%s:%ld-%ld", hr->chrom, hr->chromStart, hr->chromEnd); + ourPos = cloneString(addCommasToPos(database, position)); + snprintf(position, 128, "%s:%ld-%ld", hr->oChrom, hr->oChromStart, hr->oChromEnd); + otherPos = cloneString(addCommasToPos(database, position)); + printf("<TR><TD>%s</TD><TD>%s</TD><TD>%s</TD><TD>%d</TD><TD>%.*s</TD><TD>%d</TD><TD>%.*s", quickTypeStrings[hr->type], ourPos,otherPos, hr->otherBaseCount, hr->otherBaseCount, hr->otherBases, hr->baseCount, hr->baseCount, hr->bases); printf("<TD>"); hgcAnchorSomewhereExt("htcChainAli", item, tdb->track, chain->tName, hr->chromStart - 10, hr->chromEnd + 10, tdb->track); printf("DNA alignment</A>"); } printf("</TABLE>"); } printf("<B>%s position:</B> <A HREF=\"%s?%s&db=%s&position=%s:%d-%d\">%s:%d-%d</A>" " size: %d <BR>\n", trackHubSkipHubName(thisOrg), hgTracksName(), cartSidUrlString(cart), database, chain->tName, chain->tStart+1, chain->tEnd, chain->tName, chain->tStart+1, chain->tEnd, chain->tEnd-chain->tStart); printf("<B>Strand:</B> %c<BR>\n", chain->qStrand); qChainRangePlusStrand(chain, &qs, &qe);