3f112eba0af44ffe8b5c15c7721f3e850afe9276
kate
  Wed Mar 28 15:14:07 2018 -0700
Expand schema to include strand for each endpoint (request by Braney and Daniel Zerbino, to enable future support of rearrangements as well as bedPE). refs #21109

diff --git src/hg/hgc/interactClick.c src/hg/hgc/interactClick.c
index 412e81a..7ac27c0 100644
--- src/hg/hgc/interactClick.c
+++ src/hg/hgc/interactClick.c
@@ -137,46 +137,47 @@
 
 if (!interactUiDirectional(tdb))
     {
     if (interactOtherChrom(inter))
         {
         region1Label = "This";
         region2Label = "Other";
         }
     else
         {
         region1Label = "Lower";
         region2Label = "Upper";
         }
     }
 
+// format and print
 sprintLongWithCommas(startBuf, region1Start + 1);
 sprintLongWithCommas(endBuf, region1End);
 sprintLongWithCommas(sizeBuf, region1End - region1Start);
 printf("<b>%s region:</b> %s&nbsp;&nbsp;"
-                "<a href='hgTracks?position=%s:%d-%d' target='_blank'>%s:%s-%s</a>",
+                "<a href='hgTracks?position=%s:%d-%d' target='_blank'>%s:%s-%s</a> %s",
                 region1Label, region1Name, region1Chrom, region1Start+1, region1End,
-                region1Chrom, startBuf, endBuf);
+                region1Chrom, startBuf, endBuf, inter->sourceStrand[0] == '.' ? "" : inter->sourceStrand);
 printf("&nbsp;&nbsp;%s bp<br>\n", sizeBuf);
 
 sprintLongWithCommas(startBuf, region2Start+1);
 sprintLongWithCommas(endBuf, region2End);
 sprintLongWithCommas(sizeBuf, region2End - region2Start);
 printf("<b>%s region:</b> %s&nbsp;&nbsp;"
-                "<a href='hgTracks?position=%s:%d-%d' target='_blank'>%s:%s-%s</a>",
+                "<a href='hgTracks?position=%s:%d-%d' target='_blank'>%s:%s-%s</a> %s",
                 region2Label, region2Name, region2Chrom, region2Start+1, region2End,
-                region2Chrom, startBuf, endBuf);
+                region2Chrom, startBuf, endBuf, inter->targetStrand[0] == '.' ? "" : inter->targetStrand);
 printf("&nbsp;&nbsp;%s bp<br>\n", sizeBuf);
 int distance = interactRegionDistance(inter);
 if (distance > 0)
     {
     // same chrom
     sprintLongWithCommas(sizeBuf, distance);
     printf("<b>Distance between midpoints:</b> %s bp<br>\n", sizeBuf); 
     }
 
 #ifdef TODO /* TODO: get count and score stats of all interactions in window ?*/
 double *scores;
 AllocArray(scores, count);
 #endif
 }