eb058ff1562aa9af099c8c286f1bb122dd658b0d
chinhli
  Mon Aug 8 16:17:53 2011 -0700
Add geneReviews pointer to refSeq genes.
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index deacdd9..da581a3 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -10716,30 +10716,32 @@
 	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);
+
 }
 
 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");
 
 printf("<H2>Known Gene %s</H2>\n", rl->name);
@@ -23753,82 +23755,90 @@
             bed->name, bed->chrom, bed->chromStart+1, bed->chromEnd,
             (bed->chromEnd - bed->chromStart),bed->score, bed->strand);
 
         printf("</TT></PRE>");
         }
 
  printf("<BR>");
  printTrackHtml(tdb);
  hFreeConn(&conn);
 }
 
 void doGeneReviews(struct trackDb *tdb, char *itemName)
 /* generate the detail page for geneReviews */
 {
 struct sqlConnection *conn = hAllocConn(database);
-struct sqlResult *sr;
-char **row;
 //char *table = tdb->table;
-char query[512];
 int start = cartInt(cart, "o");
 int num = 4;
-int i;
-char *clickMsg = "Click 'Short name' link below to search GeneReviews";
-boolean firstTime = TRUE;
 
 genericHeader(tdb, itemName);
 genericBedClick(conn, tdb, itemName, start, num);
+ printGeneReviews(itemName);
+ printf("<BR>");
+ printTrackHtml(tdb);
+ hFreeConn(&conn);
+}
+
+void printGeneReviews(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;
 
-printf("<BR><B> GeneReview available for %s:</B><BR>",itemName);
-printf("%s<BR>",clickMsg);
 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++;
 
 
-        printf("<PRE>");
         if (firstTime)
         {
-        firstTime = FALSE;
+          printf("<BR><B> GeneReview available for %s:</B><BR>",itemName);
+          printf("%s<BR>",clickMsg);
         
+          firstTime = FALSE;
+          printf("<PRE>");
             // #1234567890123456789012345678901234567890
         printf("Short name               Disease ID       GeneTests disease name<BR>");
         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);
-        printf("</PRE>");
     }  /* end while */
-
+ printf("</PRE>");
  printf("<BR>");
- printTrackHtml(tdb);
  hFreeConn(&conn);
-
-
-} /* end of doGeneReviews */
+} /* end of iprintGeneReviews */
 
 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);
     }