0c4c7028a43e7434f9e01bca2c8794ecd8e5c6ae
chinhli
Wed Jul 3 12:14:41 2013 -0700
RM To Do 10993 path for the files necessary to compute the links has changed.
diff --git src/hg/hgc/geneReviewsClick.c src/hg/hgc/geneReviewsClick.c
new file mode 100644
index 0000000..e94f53f
--- /dev/null
+++ src/hg/hgc/geneReviewsClick.c
@@ -0,0 +1,108 @@
+/* geneReviewsClick - hgc code to display geneReviews track item detail page */
+#include "common.h"
+#include "hgc.h"
+#include "geneReviewsClick.h"
+
+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 Short name link to find the GeneReviews article, Click the Disease name link to find all GeneReviews articles which contain the disease name.";
+boolean firstTime = TRUE;
+
+if (!sqlTableExists(conn, "geneReviewsRefGene")) return;
+
+sqlSafef(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("
"); + // #123456789-123456789-123456789-123456789-123456789-123456789- + printf("Short name Disease ID Disease name"); + sqlFreeResult(&sr); +} /* end of prGeneReviews */ + +void prGRShortRefGene(char *itemName) +/* print GeneReviews short label associated to this refGene item */ +{ +struct sqlConnection *conn = hAllocConn(database); +struct sqlResult *sr; +char **row; +char query[512]; +boolean firstTime = TRUE; + +if (!sqlTableExists(conn, "geneReviewsRefGene")) return; + +sqlSafef(query, sizeof(query), "select grShort, diseaseName from geneReviewsRefGene where geneSymbol='%s'", itemName); +sr = sqlGetResult(conn, query); +while ((row = sqlNextRow(sr)) != NULL) + { + char *grShort = *row++; + char *diseaseName = *row++; + if (firstTime) + { + printf("Related GeneReview(s) and GeneTests disease(s): "); + firstTime = FALSE; + printf("%s", grShort, grShort); + printf(" ("); + printf("%s", diseaseName, diseaseName); + printf(")"); + } else { + printf(", "); + printf("%s", grShort, grShort); + printf(" ("); + printf("%s", diseaseName, diseaseName); + printf(")"); + } + } + printf("
"); + + printf("------------------------------------------------------------"); + printf("--------------------
"); + } + printf("%s", grShort, grShort); + if (strlen(grShort) <= 20) { + for (i = 0; i < 20-strlen(grShort); i ++ ) + { + printf("%s", " " ); + } + } + printf("%-10s ", diseaseID); + printf("%s
", diseaseName, diseaseName); + } /* end while */ + printf("