406740c2dc67f2bb8e217627dcbbe00a204fd594 kate Mon Dec 4 15:37:32 2017 -0800 Add support for item color, using Ensembl extension (RGB instead of value). http://www.ensembl.org/info/website/upload/pairwise.html diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 95243f9..3442af4 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -4034,33 +4034,33 @@ AllocArray(doubleArray, count); int ii = 0; for(longRange = longRangeList; longRange; longRange = longRange->next, ii++) { if (longRange->id == itemNum) { ourLongRange = longRange; } doubleArray[ii] = longRange->score; } if (ourLongRange == NULL) errAbort("cannot find long range item with id %d\n", itemNum); -struct aveStats *as = aveStatsCalc(doubleArray, count); - printf("Item you clicked on:<BR>\n"); +if (!ourLongRange->hasColor) + // if there's color, then there's no score in this format 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]; char num3Buf[1024],num4Buf[1024]; char num5Buf[1024],num6Buf[1024]; char num7Buf[1024]; @@ -4081,30 +4081,35 @@ ourLongRange->eChrom, num3Buf, num4Buf, ourLongRange->eChrom, num3Buf, num4Buf, num6Buf); } else { printf("<B>Lower region: </B>"); printf("<A HREF=\"hgTracks?position=%s:%s-%s \" TARGET=_BLANK>%s:%s-%s (%sbp)</A><BR>\n", ourLongRange->sChrom, num1Buf,num2Buf, ourLongRange->sChrom, num1Buf,num2Buf, num5Buf); printf("<B>Upper region: </B>"); printf("<A HREF=\"hgTracks?position=%s:%s-%s \" TARGET=_BLANK>%s:%s-%s (%sbp)<BR></A><BR>\n", ourLongRange->eChrom, num3Buf, num4Buf, ourLongRange->eChrom, num3Buf, num4Buf, num6Buf); printf("<B>Intrachromasomal interaction region: </B>"); printf("<A HREF=\"hgTracks?position=%s:%s-%s \" TARGET=_BLANK>%s:%s-%s (%sbp)<BR></A><BR>\n", ourLongRange->eChrom, num1Buf, num4Buf, ourLongRange->eChrom, num1Buf, num4Buf, num7Buf); } +if (ourLongRange->hasColor) + return; + +struct aveStats *as = aveStatsCalc(doubleArray, count); + 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"); }