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);