2b052d3462ad12d7452d2f95cea0dc8ae277bcb2
chinhli
  Tue Aug 9 11:17:39 2011 -0700
Finished add GeneReview GRShort links to refSeq gene's detail page.
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index da581a3..1faa3b5 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -10716,31 +10716,31 @@
 	printf("<B>MGI Mouse Ortholog:</B> ");
 	printf("<A HREF=\"http://www.informatics.jax.org/searches/accession_report.cgi?id=%s\" target=_BLANK>", jo.mgiId);
 	printf("%s</A><BR>\n", jo.mouseSymbol);
 	}
     sqlFreeResult(&sr);
     }
 if (startsWith("hg", database))
     {
     printf("\n");
     printf("<B>AceView:</B> ");
     printf("<A HREF = \"http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=human&l=%s\" TARGET=_blank>",
 	   rl->name);
     printf("%s</A><BR>\n", rl->name);
     }
 printStanSource(rl->mrnaAcc, "mrna");
-printGeneReviews(rl->name);
+prGRShortRefGene(conn,rl->name);
 
 }
 
 void prKnownGeneInfo(struct sqlConnection *conn, char *rnaName,
                    char *sqlRnaName, struct refLink *rl)
 /* print basic details information and links for a Known Gene */
 {
 struct sqlResult *sr;
 char **row;
 char query[256];
 int ver = gbCdnaGetVersion(conn, rl->mrnaAcc);
 char *cdsCmpl = NULL;
 
 printf("<td valign=top nowrap>\n");
 
@@ -23761,45 +23761,42 @@
  printf("<BR>");
  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);
- printGeneReviews(itemName);
+ prGeneReviews(conn, itemName);
  printf("<BR>");
  printTrackHtml(tdb);
  hFreeConn(&conn);
 }
 
-void printGeneReviews(char *itemName)
+void prGeneReviews(struct sqlConnection *conn, char *itemName)
 /* print GeneReviews associated to this item */
 {
-struct sqlConnection *conn = hAllocConn(database);
 struct sqlResult *sr;
 char **row;
 char query[512];
-
-
 int i;
 char *clickMsg = "Click 'Short name' link below to search GeneReviews";
 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)
         {
@@ -23813,32 +23810,56 @@
           printf("-----------------------------------------------------------");
           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 <  28-strlen(grShort); i ++ )
              { 
                 printf("%s", " " );
              }
            }
          printf("%-10s    %s<BR>", diseaseID, diseaseName);
     }  /* end while */
  printf("</PRE>");
  printf("<BR>");
- hFreeConn(&conn);
-} /* end of iprintGeneReviews */
+} /* end of prGeneReviews */
+
+void prGRShortRefGene(struct sqlConnection *conn, char *itemName)
+/* print GeneReviews short label associated to this refGene item */
+{
+struct sqlResult *sr;
+char **row;
+char query[512];
+boolean firstTime = TRUE;
+
+safef(query, sizeof(query), "select  grShort from geneReviewsRefGene where geneSymbol='%s'", itemName);
+sr = sqlGetResult(conn, query);
+while ((row = sqlNextRow(sr)) != NULL)
+    {
+        char *grShort = *row++;
+        if (firstTime)
+        {
+          printf("<B> GeneReview: </B>");
+          firstTime = FALSE;
+          printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank>%s</A>", grShort, grShort);
+        } else {
+          printf("<A HREF=\"http://www.ncbi.nlm.nih.gov/books/n/gene/%s\" TARGET=_blank>, %s</A>", grShort, grShort);
+        }
+     }
+     printf("<BR>");
+} /* end of prGRShortRefGene */
 
 void doMiddle()
 /* Generate body of HTML. */
 {
 char *track = cartString(cart, "g");
 char *item = cartOptionalString(cart, "i");
 char *parentWigMaf = cartOptionalString(cart, "parentWigMaf");
 struct trackDb *tdb = NULL;
 
 
 if (hIsGisaidServer())
     {
     validateGisaidUser(cart);
     }