src/hg/hgc/hgc.c 1.1601

1.1601 2010/03/08 18:18:54 giardine
Adding phenotype tables for pgSnp track hgc clicks
Index: src/hg/hgc/hgc.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/hgc.c,v
retrieving revision 1.1600
retrieving revision 1.1601
diff -b -B -U 4 -r1.1600 -r1.1601
--- src/hg/hgc/hgc.c	22 Feb 2010 23:28:29 -0000	1.1600
+++ src/hg/hgc/hgc.c	8 Mar 2010 18:18:54 -0000	1.1601
@@ -200,8 +200,11 @@
 #include "protVar.h"
 #include "oreganno.h"
 #include "oregannoUi.h"
 #include "pgSnp.h"
+#include "pgPhenoAssoc.h"
+#include "pgSiftPred.h"
+#include "pgPolyphenPred.h"
 #include "ec.h"
 #include "transMapClick.h"
 #include "retroClick.h"
 #include "mgcClick.h"
@@ -21303,26 +21306,41 @@
     char *all[8];
     char *freq[8];
     char *score[8];
     char *name = cloneString(el->name);
-    char *fr = cloneString(el->alleleFreq);
-    char *sc = cloneString(el->alleleScores);
+    char *fr = NULL;
+    char *sc = NULL;
+    char *siftTab = trackDbSetting(tdb, "pgSiftPredTab");
+    char *polyTab = trackDbSetting(tdb, "pgPolyphenPredTab");
     int i = 0;
     printPos(el->chrom, el->chromStart, el->chromEnd, "+", TRUE, el->name);
     printf("Alleles are relative to forward strand of reference genome:<br>\n");
     printf("<table border=1 cellpadding=3><tr><th>Allele</th><th>Frequency</th><th>Quality Score</th></tr>\n");
     chopByChar(name, '/', all, el->alleleCount);
+    if (differentString(el->alleleFreq, ""))
+        {
+        fr = cloneString(el->alleleFreq);
     chopByChar(fr, ',', freq, el->alleleCount);
+        }
+    if (el->alleleScores != NULL)
+        {
+        sc = cloneString(el->alleleScores);
     chopByChar(sc, ',', score, el->alleleCount);
+        }
     for (i=0; i < el->alleleCount; i++)
         {
-        if (sameString(freq[i], "0"))
+        if (sameString(el->alleleFreq, "") || sameString(freq[i], "0"))
             freq[i] = "not available";
-        if (sameString(sc, ""))
+        if (sc == NULL || sameString(sc, ""))
             score[i] = "not available";
         printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>", all[i], freq[i], score[i]);
         }
     printf("</table>");
+    printPgDbLink(database, tdb, el);
+    if (siftTab != NULL)
+        printPgSiftPred(database, siftTab, el);
+    if (polyTab != NULL)
+        printPgPolyphenPred(database, polyTab, el);
     printSeqCodDisplay(database, el);
     }
 sqlFreeResult(&sr);
 printTrackHtml(tdb);
@@ -22925,8 +22943,23 @@
 	 (startsWith("pgNA", track) && isdigit(track[4])) ||
          sameString("hbPgTest", track) ||
          sameString("hbPgWild", track) ||
 	 sameString("pgYh1", track) ||
+         sameString("pgKb1", track) ||
+         sameString("pgNb1", track) || sameString("pgNb1Indel", track) ||
+         sameString("pgTk1", track) || sameString("pgTk1Indel", track) ||
+         sameString("pgMd8", track) || sameString("pgMd8Indel", track) ||
+         sameString("pgKb1Illum", track) ||
+         sameString("pgKb1454", track) || sameString("pgKb1Indel", track) ||
+         sameString("pgKb1Comb", track) ||
+         sameString("pgAbtSolid", track) ||
+         sameString("pgAbt", track) || sameString("pgAbt454", track) ||
+         sameString("pgAbt454indels", track) ||
+         sameString("pgAbtIllum", track) ||
+         sameString("pgAk1", track) ||
+         sameString("pgQuake", track) ||
+         sameString("pgSaqqaq", track) ||
+         sameString("pgSaqqaqHc", track) ||
          sameString("pgTest", track) )
     {
     doPgSnp(tdb, item);
     }