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("<BR>");
+ 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("<BR><B> GeneReview(s) available for %s:</B> (%s)<BR>",itemName,clickMsg);
+          firstTime = FALSE;
+          printf("<PRE><TT>");
+              // #123456789-123456789-123456789-123456789-123456789-123456789-
+          printf("Short name         Disease ID     Disease name<BR>");
+
+          printf("------------------------------------------------------------");
+          printf("--------------------<BR>");
+        }
+        printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank><B>%s</B></A>", grShort, grShort);
+        if (strlen(grShort) <= 20) {
+          for (i = 0; i <  20-strlen(grShort); i ++ )
+             {
+                printf("%s", " " );
+             }
+           }
+         printf("%-10s    ", diseaseID);
+        printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/?term=%s+AND+gene{[book]\" TARGET=_blank><B>%s</B></A><BR>", diseaseName, diseaseName);
+    }  /* end while */
+ printf("</TT></PRE>");
+ 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("<B>Related GeneReview(s) and GeneTests disease(s): </B>");
+          firstTime = FALSE;
+       printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank><B>%s</B></A>", grShort, grShort);
+        printf(" (");
+       printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/sites/GeneTests/review/disease/%s?db=genetests&search_param=contains\" TARGET=_blank>%s</A>", diseaseName, diseaseName);
+       printf(")");
+        } else {
+          printf(", ");
+       printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank><B>%s</B></A>", grShort, grShort);
+       printf(" (");
+       printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/sites/GeneTests/review/disease/%s?db=genetests&search_param=contains\" TARGET=_blank>%s</A>", diseaseName, diseaseName);
+       printf(")");
+        }
+     }
+     printf("<BR>");
+     sqlFreeResult(&sr);
+} /* end of prGRShortRefGene */
+
+