b5d368d51dda62aea5a12fe8df9d8527dec73cbd
fanhsu
  Mon Feb 21 13:05:41 2011 -0800
Fine tuned omimAvSnp details page.
diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 602c3a2..de2cc51 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -9099,34 +9099,32 @@
 char query2[256];
 struct sqlResult *sr2;
 char **row2;
 char *strand={"+"};
 int start = cartInt(cart, "o");
 int end = cartInt(cart, "t");
 char *chrom = cartString(cart, "c");
 
 printf("<H3>Patient %s </H3>", itemName);
 
 /* print phenotypes */
 safef(query, sizeof(query),
       "select distinct phenotype from decipherRaw where id ='%s' order by phenotype", itemName);
 sr = sqlMustGetResult(conn, query);
 row = sqlNextRow(sr);
-//if (row != NULL)
 if ((row != NULL) && strlen(row[0]) >= 1)
     {
-    printf("<br>---%s---\n", row[0]);fflush(stdout);
     printf("<B>Phenotype: </B><UL>");
     while (row != NULL)
     	{
 	printf("<LI>");
 	printf("%s\n", row[0]);
 	row = sqlNextRow(sr);
         }
     printf("</UL>");
     }
 sqlFreeResult(&sr);
 
 /* link to Ensembl DECIPHER Patient View page */
 printf("<B>Patient View: </B>\n");
 printf("More details on patient %s at ", itemName);
 printf("<A HREF=\"%s%s\" target=_blank>",
@@ -9488,34 +9486,34 @@
     	    safef(query, sizeof(query), "select geneSymbol from kgXref where kgId='%s';", kgId);
 
             sr = sqlMustGetResult(conn, query);
     	    row = sqlNextRow(sr);
     	    if (row != NULL)
     	    	{
  	    	printf("<B>UCSC Gene Symbol:</B> %s", row[0]);
 	    	printf("<BR>\n");
 	    	}
     	    sqlFreeResult(&sr);
     	    }
 	}
 
     if (kgId != NULL)
     	{
-    	printf("<B>UCSC Canonical Gene ");
+    	printf("<B>UCSC Canonical Gene: ");
     	printf("<A HREF=\"%s%s&hgg_chrom=none\" target=_blank>",
 	       "../cgi-bin/hgGene?hgg_gene=", kgId);
-    	printf("%s</A></B>: ", kgId);
+    	printf("%s</A></B> ", kgId);
 
 	safef(query, sizeof(query), "select refseq from kgXref where kgId='%s';", kgId);
     	sr = sqlMustGetResult(conn, query);
     	row = sqlNextRow(sr);
     	if (row != NULL)
 	    {
 	    refSeq = strdup(row[0]);
 	    kgDescription = gbCdnaGetDescription(conn2, refSeq);
 	    }
 	sqlFreeResult(&sr);
         hFreeConn(&conn2);
 
 	if (kgDescription == NULL)
 	    {
     	    safef(query, sizeof(query), "select description from kgXref where kgId='%s';", kgId);
@@ -9778,66 +9776,73 @@
 void printOmimAvSnpDetails(struct trackDb *tdb, char *itemName, boolean encode)
 /* Print details of an OMIM AvSnp entry. */
 {
 struct sqlConnection *conn  = hAllocConn(database);
 char query[256];
 struct sqlResult *sr;
 char **row;
 char *url = tdb->url;
 char *title1 = NULL;
 char *title2 = NULL;
 char *chrom, *chromStart, *chromEnd;
 char *omimId;
 char *avId;
 char *dbSnpId;
 char *chp;
+char *seqId = NULL;
+char avString[255];
 
 chrom      = cartOptionalString(cart, "c");
 chromStart = cartOptionalString(cart, "o");
 chromEnd   = cartOptionalString(cart, "t");
 
 avId = strdup(itemName);
 
 chp = strstr(itemName, "#");
 *chp = '\0';
 omimId = strdup(itemName);
 
 if (url != NULL && url[0] != 0)
     {
     printf("<B>OMIM Entry ");fflush(stdout);
     printf("<A HREF=\"%s%s\" target=_blank>", url, itemName);
     printf("%s</A></B>", itemName);
     safef(query, sizeof(query),
-    	  "select title1, title2 from omimGeneMap where omimId=%s;", itemName);
+    	  "select title1, title2,  format(seqNo/10000,4) from omimGeneMap m, omimAv v where m.omimId=%s and m.omimId=v.omimId and v.avId='%s';", itemName, avId);
+
     sr = sqlMustGetResult(conn, query);
     row = sqlNextRow(sr);
     if (row != NULL)
     	{
+	seqId = strdup(row[2]);
+	safef(avString, sizeof(avString), "%s#%s", omimId, seqId+2L);
 	if (row[0] != NULL)
 	    {
 	    title1 = cloneString(row[0]);
     	    printf(": %s", title1);
 	    }
 	if (row[1] != NULL)
 	    {
 	    title2 = cloneString(row[1]);
     	    printf(" %s ", title2);
 	    }
 	}
     sqlFreeResult(&sr);
 
-    printf("<br><B>Allelic Variant:</B>%s\n", avId);
+    printf("<BR><B>Allelic Variant: ");fflush(stdout);
+    printf("<A HREF=\"%s%s\" target=_blank>", url, avString);
+    printf("%s</A></B>", avString);
 
     safef(query, sizeof(query),
     	  "select replStr from omimAvRepl where avId=%s;", avId);
     sr = sqlMustGetResult(conn, query);
     row = sqlNextRow(sr);
     if (row != NULL)
     	{
 	if (row[0] != NULL)
 	    {
 	    char *replStr;
 	    replStr= cloneString(row[0]);
     	    printf("<BR><B>Amino Acid Replacement:</B> %s\n", replStr);
 	    }
 	}
     sqlFreeResult(&sr);