9e3324155a600c0eb71adb7f5e63e36915973442 kate Fri Nov 1 17:13:15 2013 -0700 Detect problematic motif tables. refs #9092 diff --git src/hg/hgc/regMotif.c src/hg/hgc/regMotif.c index 77cb4b3..f409335 100644 --- src/hg/hgc/regMotif.c +++ src/hg/hgc/regMotif.c @@ -93,31 +93,39 @@ /* Load dnaMotif from table. */ { struct sqlConnection *conn = hAllocConn(database); char query[256]; struct dnaMotif *motif; sqlSafefFrag(query, sizeof query, "name = '%s'", motifName); motif = dnaMotifLoadWhere(conn, motifTable, query); hFreeConn(&conn); return motif; } void motifMultipleHitsSection(struct dnaSeq **seqs, int count, struct dnaMotif *motif) /* Print out section about motif, possibly with mutliple occurrences. */ { - +// Detect inconsistent motif/pwm tables and suppress confusing display +if (motif != NULL) + { + if (motif->columnCount != seqs[0]->size) + { + warn("Motif seq length doesn't match PWM\n"); + return; + } + } webNewSection("Motif:"); printf("
\n");
 printf("\n");
 if (motif != NULL)
     {
     struct tempName pngTn;
     dnaMotifMakeProbabalistic(motif);
     makeTempName(&pngTn, "logo", ".png");
     dnaMotifToLogoPng(motif, 47, 140, NULL, "../trash", pngTn.forCgi);
     printf("\n");
     }
 if (count > 0)
     {
", motif->columnCount); printf("", pngTn.forHtml); printf("