36d2f2ca7e1864bf11c8aba2e329ea7c2549a25c
chinhli
Fri Sep 30 11:00:06 2011 -0700
put back logic to handle geneReviews track using the geneReviews table in the database
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 97cd8ff..fb90992 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -23833,30 +23833,94 @@
printf("browser | ",
hgTracksPathAndSettings(), database,
bed->chrom, bed->chromStart+1, bed->chromEnd);
printf("%-20s %-10s %9d %9d %5d %5d %1s",
bed->name, bed->chrom, bed->chromStart+1, bed->chromEnd,
(bed->chromEnd - bed->chromStart),bed->score, bed->strand);
printf("");
}
printf("
");
printTrackHtml(tdb);
hFreeConn(&conn);
}
+void doGeneReviews(struct trackDb *tdb, char *itemName)
+/* generate the detail page for geneReviews */
+{
+struct sqlConnection *conn = hAllocConn(database);
+//char *table = tdb->table;
+int start = cartInt(cart, "o");
+int num = 4;
+
+ genericHeader(tdb, itemName);
+ genericBedClick(conn, tdb, itemName, start, num);
+ prGeneReviews(conn, itemName);
+ printf("
");
+ printTrackHtml(tdb);
+ hFreeConn(&conn);
+}
+
+void prGeneReviews(struct sqlConnection *conn, char *itemName)
+/* print GeneReviews associated to this item
+ Note: this print function has been replaced by addGeneReviewToBed.pl
+ which print the same information to the field 5 of bigBed file
+*/
+{
+struct sqlResult *sr;
+char **row;
+char query[512];
+int i;
+char *clickMsg = "Click link(s) below to search GeneReviews and GeneTests";
+boolean firstTime = TRUE;
+
+safef(query, sizeof(query), "select grShort, diseaseID, diseaseName from geneReviewsRefGene where geneSymbol='%s'", itemName);
+sr = sqlGetResult(conn, query);
+while ((row = sqlNextRow(sr)) != NULL)
+ {
+ char *grShort = *row++;
+ char *diseaseID = *row++;
+ char *diseaseName = *row++;
+
+
+ if (firstTime)
+ {
+ printf("
GeneReview(s) available for %s: (%s)
",itemName,clickMsg);
+ firstTime = FALSE;
+ printf("
"); + // #1234567890123456789012345678901234567890 + printf("Short name Disease ID GeneTests disease name"); + //printf("
"); + printf("-----------------------------------------------------------"); + printf("-----------------------------------------------------------"); + printf("----------------------------------
"); + } + printf("%s", grShort, grShort); + if (strlen(grShort) <= 15) { + for (i = 0; i < 15-strlen(grShort); i ++ ) + { + printf("%s", " " ); + } + } + printf("%-10s ", diseaseID); + printf("%s
", diseaseName, diseaseName); + + } /* end while */ + printf("