994c09d2d5a86c8a8d8932306fd30c21b2607b0c
angie
  Fri Jan 11 16:40:41 2013 -0800
Make hgc's doDgv SQL query more specific -- latest data has thousandsof nameless items, which were all appearing in hgc when clicking on one.

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index d766488..9580201 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -16036,34 +16036,38 @@
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 // printCnpSharpSampleData(itemName);
 printTrackHtml(tdb);
 }
 
 void doDgv(struct trackDb *tdb, char *id)
 /* Details for Database of Genomic Variants (updated superset of cnp*). */
 {
 struct dgv dgv;
 struct sqlConnection *conn = hAllocConn(database);
 struct sqlResult *sr;
 char **row;
 char query[512];
 int rowOffset = hOffsetPastBin(database, seqName, tdb->table);
+int start = cartInt(cart, "o");
+int end = cartInt(cart, "t");
 genericHeader(tdb, id);
 printCustomUrl(tdb, id, FALSE);
 
-safef(query, sizeof(query), "select * from %s where name = '%s'", tdb->table, id);
+safef(query, sizeof(query), "select * from %s where name = '%s' "
+      "and chrom = '%s' and chromStart = %d and chromEnd = %d",
+      tdb->table, id, seqName, start, end);
 sr = sqlGetResult(conn, query);
 while ((row = sqlNextRow(sr)) != NULL)
     {
     dgvStaticLoad(row+rowOffset, &dgv);
     if (dgv.chromStart != dgv.thickStart ||
 	(dgv.chromEnd != dgv.thickEnd && dgv.thickEnd != dgv.chromStart))
 	{
 	printf("<B>Variant Position:</B> "
 	       "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">%s:%d-%d</A><BR>\n",
 	       hgTracksPathAndSettings(), database,
 	       dgv.chrom, dgv.thickStart+1, dgv.thickEnd,
 	       dgv.chrom, dgv.thickStart+1, dgv.thickEnd);
 	printBand(dgv.chrom, dgv.thickStart, dgv.thickEnd, FALSE);
 	printf("<B>Variant Genomic Size:</B> %d<BR>\n",
 	       dgv.thickEnd - dgv.thickStart);