b3660684338a45c565fb79c89a72479941b7b2bd
braney
  Thu Jun 2 14:31:26 2016 -0700
some tweaks to longRange support #15232

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index ad042cb..61dc8b1 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -3954,36 +3954,50 @@
     errAbort("cannot find long range item with id %d\n", itemNum);
 
 struct aveStats *as = aveStatsCalc(doubleArray, count);
 
 printf("Item you clicked on:<BR>\n");
 printf("<B>Score:</B> %g<BR>\n", ourLongRange->score);
 printf("<B>ID:</B> %u<BR>\n", ourLongRange->id);
 unsigned padding =  (ourLongRange->e - ourLongRange->s) / 10;
 int s = ourLongRange->s - padding; 
 int e = ourLongRange->e + padding; 
 if (s < 0 ) 
     s = 0;
 int chromSize = hChromSize(database, seqName);
 if (e > chromSize)
     e = chromSize;
+
+char num1Buf[1024],num2Buf[1024];
+sprintLongWithCommas(num1Buf, ourLongRange->s);
+sprintLongWithCommas(num2Buf, ourLongRange->e);
 if (differentString(ourLongRange->sChrom, ourLongRange->eChrom))
-    printf("<A HREF=\"hgTracks?position=%s:%d-%d\" TARGET=_BLANK><B>Link to range covered by interaction.</B></A><BR>\n",  
-        ourLongRange->sChrom, ourLongRange->s - 20, ourLongRange->s + 20);
+    {
+    printf("<B>Interchromosomal: </B> (Position on chrom you clicked on)</B> %s:%s-%s<BR>\n", 
+        ourLongRange->sChrom, num1Buf,num1Buf);
+    printf("<B>Position on other chromosome:</B> %s:%s-%s<BR>\n", 
+        ourLongRange->eChrom, num2Buf, num2Buf);
+    }
 else
+    {
+    char num3Buf[1024];
+    sprintLongWithCommas(num3Buf, ourLongRange->e - ourLongRange->s);
+    printf("<B>Intrachromosomal:</B> %s:%s-%s (%sbp)<BR>\n", 
+        ourLongRange->sChrom, num1Buf, num2Buf, num3Buf);
     printf("<A HREF=\"hgTracks?position=%s:%d-%d\" TARGET=_BLANK><B>Link to range covered by interaction.</B></A><BR>\n",  
         ourLongRange->sChrom, s, e);
+    }
 
 printf("<BR>Statistics on the scores of all items in window (go to track controls to set minimum score to display):\n");
 
 printf("<TABLE BORDER=1>\n");
 printf("<TR><TD><B>Q1</B></TD><TD>%f</TD></TR>\n", as->q1);
 printf("<TR><TD><B>median</B></TD><TD>%f</TD></TR>\n", as->median);
 printf("<TR><TD><B>Q3</B></TD><TD>%f</TD></TR>\n", as->q3);
 printf("<TR><TD><B>average</B></TD><TD>%f</TD></TR>\n", as->average);
 printf("<TR><TD><B>min</B></TD><TD>%f</TD></TR>\n", as->minVal);
 printf("<TR><TD><B>max</B></TD><TD>%f</TD></TR>\n", as->maxVal);
 printf("<TR><TD><B>count</B></TD><TD>%d</TD></TR>\n", as->count);
 printf("<TR><TD><B>total</B></TD><TD>%f</TD></TR>\n", as->total);
 printf("<TR><TD><B>standard deviation</B></TD><TD>%f</TD></TR>\n", as->stdDev);
 printf("</TABLE>\n");
 }