6f75c327bcd0cfc8bf68dfa1227aabb579120698 Merge parents 41b17ce ccb8cb2 kate Mon Dec 17 12:37:37 2018 -0800 Merge branch 'master' into interact-multiregion diff --cc src/hg/hgc/interactClick.c index 9d1e538,54cd223..87afdb5 --- src/hg/hgc/interactClick.c +++ src/hg/hgc/interactClick.c @@@ -222,63 -221,43 +222,63 @@@ sprintLongWithCommas(sizeBuf, region2End - region2Start); printf("%s region: %s  " "%s:%s-%s %s", region2Label, region2Name, region2Chrom, region2Start+1, region2End, region2Chrom, startBuf, endBuf, inter->targetStrand[0] == '.' ? "" : inter->targetStrand); printf("  %s bp
\n", sizeBuf); int distance = interactRegionDistance(inter); if (distance > 0) { // same chrom sprintLongWithCommas(sizeBuf, distance); printf("Distance between midpoints: %s bp
\n", sizeBuf); } +// print link to multi-region view of ends + +// create bed file in trash directory with end coordinates +struct tempName mrTn; +trashDirFile(&mrTn, "hgt", "custRgn_interact", ".bed"); +FILE *f = fopen(mrTn.forCgi, "w"); +if (f == NULL) + errAbort("can't create temp file %s", mrTn.forCgi); +fprintf(f, "%s\t%d\t%d\n" + "%s\t%d\t%d\n", + region1Chrom, region1Start, region1End, + region2Chrom, region2Start, region2End); +fclose(f); +printf("
Show both ends of interaction in multi-region browser view", + mrTn.forCgi); + #ifdef TODO /* TODO: get count and score stats of all interactions in window ?*/ double *scores; AllocArray(scores, count); #endif } void doInteractItemDetails(struct trackDb *tdb, struct interactPlusRow *ipr, char *item, boolean isMultiple) /* Details of interaction item */ { struct interact *inter = ipr->interact; struct slPair *fields = getFields(tdb, ipr->row); - printCustomUrlWithFields(tdb, item, item, TRUE, fields); + printCustomUrlWithFields(tdb, inter->name, inter->name, TRUE, fields); if (!isEmptyTextField(inter->name)) printf("Interaction: %s
\n", inter->name); printf("Score: %d
\n", inter->score); printf("Value: %0.3f
\n", inter->value); if (!isEmptyTextField(inter->exp)) printf("Experiment: %s
\n", inter->exp); puts("

"); if (!isMultiple) doInteractRegionDetails(tdb, inter); } void doInteractDetails(struct trackDb *tdb, char *item) /* Details of interaction items */ { char *chrom = cartString(cart, "c");