2ae57267de866ebfa142cebbd8a357b376193bf2
fanhsu
  Thu Mar 24 09:56:44 2011 -0700
Changed functions for omimGeneClass3 to omimGene2.
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 069157e..b670e4e 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -9356,31 +9356,31 @@
 		    printf(", ");
     	    	printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>", "../cgi-bin/hgGene?hgg_gene=", row[0]);
     	    	printf("%s</A></B>", row[0]);
 	    	printedCnt++;
 		}
             if (printedCnt >= 1) printf("<BR>\n");
 	    }
 	sqlFreeResult(&sr);
 	}
     }
 
 printf("<HR>");
 printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName);
 }
 
-void printOmimGeneClass3Details(struct trackDb *tdb, char *itemName, boolean encode)
+void printOmimGene2Details(struct trackDb *tdb, char *itemName, boolean encode)
 /* Print details of an OMIM Class 3 Gene entry. */
 {
 struct sqlConnection *conn  = hAllocConn(database);
 struct sqlConnection *conn2 = hAllocConn(database);
 char query[256];
 struct sqlResult *sr;
 char **row;
 char *url = tdb->url;
 char *kgId= NULL;
 char *title1 = NULL;
 char *title2 = NULL;
 char *geneSymbol = NULL;
 char *chrom, *chromStart, *chromEnd;
 char *kgDescription = NULL;
 char *refSeq;
@@ -9431,61 +9431,67 @@
     /* get corresponding KG ID */
     safef(query, sizeof(query),
 	  "select k.transcript from knownCanonical k where k.chrom='%s' and k.chromStart=%s and k.chromEnd=%s",
 	  chrom, chromStart, chromEnd);
     sr = sqlMustGetResult(conn, query);
     row = sqlNextRow(sr);
     if (row != NULL)
     	{
 	kgId = cloneString(row[0]);
 	}
     sqlFreeResult(&sr);
 
     /* use geneSymbol from omimMorbidMap if available */
     if (geneSymbol!= NULL)
     	{
+	boolean disorderShown;
 	char *phenotypeClass, *questionable, *hasBracket, *hasBrace, *phenotypeId, *disorder;
 	
 	printf("<B>Gene symbol(s):</B> %s", geneSymbol);
 	printf("<BR>\n");
 
 	/* display disorder for genes in morbidmap */
     	safef(query, sizeof(query), 
 	 "select disorder, phenotypeClass, questionable, hasBracket, hasBrace, phenotypeId from omimDisorderPhenotype where omimId=%s order by disorder",
 	 itemName);
     	sr = sqlMustGetResult(conn, query);
- 	printf("<B>Disorder(s):</B><UL>\n"); 
+	disorderShown = FALSE;
         while ((row = sqlNextRow(sr)) != NULL)
     	    {
+	    if (!disorderShown)
+	    	{
+ 		printf("<B>Disorder(s):</B><UL>\n"); 
+		disorderShown = TRUE;
+		}
 	    disorder       = row[0];
 	    phenotypeClass = row[1];
 	    questionable   = row[2];
 	    hasBracket     = row[3];
 	    hasBrace	   = row[4];
 	    phenotypeId    = row[5];
 	    printf("<LI>%s", disorder);
  	    if (phenotypeId != NULL)
 	    	{
 		if (!sameWord(phenotypeId, "-1"))
 		    {
                     printf(" (phenotype <A HREF=\"%s%s\" target=_blank>", url, phenotypeId);
                     printf("%s</A></B>)", phenotypeId);
 		    }
 		}
 	    printf("<BR>\n");
 	    }
-	printf("</UL>\n");
+	if (disorderShown) printf("</UL>\n");
     	sqlFreeResult(&sr);
 	}
     else
 	{
 	/* display gene symbol(s) from omimGenemap  */
     	safef(query, sizeof(query), "select geneSymbol from omimGeneMap where omimId=%s;", itemName);
     	sr = sqlMustGetResult(conn, query);
     	row = sqlNextRow(sr);
         if (row != NULL)
     	    {
  	    printf("<B>OMIM Gene Symbol:</B> %s", row[0]);
 	    printf("<BR>\n");
     	    sqlFreeResult(&sr);
 	    }
 	else
@@ -9894,35 +9900,35 @@
 	}
     }
 
 printf("<HR>");
 printPosOnChrom(chrom, atoi(chromStart), atoi(chromEnd), NULL, FALSE, itemName);
 }
 
 void doOmimAvSnp(struct trackDb *tdb, char *item)
 /* Put up OmimGene track info. */
 {
 genericHeader(tdb, item);
 printOmimAvSnpDetails(tdb, item, FALSE);
 printTrackHtml(tdb);
 }
 
-void doOmimGeneClass3(struct trackDb *tdb, char *item)
+void doOmimGene2(struct trackDb *tdb, char *item)
 /* Put up OmimGene track info. */
 {
 genericHeader(tdb, item);
-printOmimGeneClass3Details(tdb, item, FALSE);
+printOmimGene2Details(tdb, item, FALSE);
 printTrackHtml(tdb);
 }
 
 void doOmimGene(struct trackDb *tdb, char *item)
 /* Put up OmimGene track info. */
 {
 genericHeader(tdb, item);
 printOmimGeneDetails(tdb, item, FALSE);
 printTrackHtml(tdb);
 }
 
 void printRgdSslpCustomUrl(struct trackDb *tdb, char *itemName, boolean encode)
 /* Print RGD QTL URL. */
 {
 char *url = tdb->url;
@@ -23818,35 +23824,35 @@
     }
 else if (sameWord(table, "switchDbTss"))
     {
     doSwitchDbTss(tdb, item);
     }
 else if (sameWord(table, "omimLocation"))
     {
     doOmimLocation(tdb, item);
     }
 else if (sameWord(table, "omimAvSnp"))
     {
     doOmimAvSnp(tdb, item);
     }
 else if (sameWord(table, "omimGeneClass2"))
     {
-    doOmimGeneClass3(tdb, item);
+    doOmimGene2(tdb, item);
     }
 else if (sameWord(table, "omimGene2"))
     {
-    doOmimGeneClass3(tdb, item);
+    doOmimGene2(tdb, item);
     }
 else if (sameWord(table, "omimAv"))
     {
     doOmimAv(tdb, item);
     }
 else if (sameWord(table, "rgdGene"))
     {
     doRgdGene(tdb, item);
     }
 else if (sameWord(table, "rgdGene2"))
     {
     doRgdGene2(tdb, item);
     }
 else if (sameWord(table, "rgdEst"))
     {