97ff8a0069da84b65cfb464649d63f769daaad6c
braney
  Wed Aug 19 13:46:20 2015 -0700
a little tweak for hgc bigPsl support so only item clicked on is shown

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 86945e6..2f3f76b 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -2862,32 +2862,45 @@
                      char *item, int start, int end)
 /* Handle click in big psl track. */
 {
 struct psl* pslList;
 char *fileName = bbiNameFromSettingOrTable(tdb, conn, tdb->table);
 struct bbiFile *bbi = bigBedFileOpen(fileName);
 struct lm *lm = lmInit(0);
 int ivStart = start, ivEnd = end;
 if (start == end)
     {  
     // item is an insertion; expand the search range from 0 bases to 2 so we catch it:
     ivStart = max(0, start-1);
     ivEnd++;
     }  
 
-struct bigBedInterval *bbList = bigBedIntervalQuery(bbi, seqName, ivStart, ivEnd, 0, lm);
-pslList = pslFromBigPsl(seqName, bbList,  hChromSize(database, seqName), NULL, NULL);
+struct bigBedInterval *bb, *bbList = bigBedIntervalQuery(bbi, seqName, ivStart, ivEnd, 0, lm);
+
+char *bedRow[32];
+char startBuf[16], endBuf[16];
+for (bb = bbList; bb != NULL; bb = bb->next)
+    {
+    bigBedIntervalToRow(bb, seqName, startBuf, endBuf, bedRow, 4);
+    struct bed *bed = bedLoadN(bedRow, 4);
+    if (sameString(bed->name, item))
+	{
+	bb->next = NULL;
+	break;
+	}
+    }
+pslList = pslFromBigPsl(seqName, bb,  hChromSize(database, seqName), NULL, NULL);
 
 printf("<H3>%s/Genomic Alignments</H3>", item);
 printAlignments(pslList, start, "htcBigPslAli", tdb->table, item);
 pslFreeList(&pslList);
 printItemDetailsHtml(tdb, item);
 }
 
 void genericPslClick(struct sqlConnection *conn, struct trackDb *tdb,
                      char *item, int start, char *subType)
 /* Handle click in generic psl track. */
 {
 struct psl* pslList = getAlignments(conn, tdb->table, item);
 
 /* check if there is an alignment available for this sequence.  This checks
  * both genbank sequences and other sequences in the seq table.  If so,