src/hg/hgc/hgc.c 1.1617

1.1617 2010/04/30 21:24:50 braney
add links out of gencode track to yale pseudogenes
Index: src/hg/hgc/hgc.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/hgc.c,v
retrieving revision 1.1616
retrieving revision 1.1617
diff -b -B -U 4 -r1.1616 -r1.1617
--- src/hg/hgc/hgc.c	26 Apr 2010 23:17:40 -0000	1.1616
+++ src/hg/hgc/hgc.c	30 Apr 2010 21:24:50 -0000	1.1617
@@ -228,8 +228,9 @@
 #include "virusClick.h"
 #include "gwasCatalog.h"
 #include "parClick.h"
 #include "mdb.h"
+#include "yaleGencodeAssoc.h"
 
 static char const rcsid[] = "$Id$";
 static char *rootDir = "hgcData";
 
@@ -2280,8 +2281,34 @@
 char *geneTable = tdb->tableName;
 boolean foundPep = FALSE;
 
 showGenePos(geneName, tdb);
+if (startsWith("ENCODE Gencode",tdb->longLabel))
+    {
+    char *yaleTable = trackDbSetting(tdb, "yalePseudoAssoc");
+
+    if ((yaleTable != NULL) && (hTableExists(database, yaleTable)))
+        {
+        struct sqlConnection *conn = hAllocConn(database);
+        char query[512];
+        safef(query, sizeof(query),
+            "select * from %s where transcript = '%s'", yaleTable, geneName);
+        char buffer[512];
+        struct sqlResult *sr = sqlGetResult(conn, query);
+        char *yaleUrl = trackDbSetting(tdb, "yaleUrl");
+        char **row;
+        while ((row = sqlNextRow(sr)) != NULL)
+            {
+            struct yaleGencodeAssoc *ya = yaleGencodeAssocLoad(row);
+            safef(buffer, sizeof buffer, "%s/%s",yaleUrl,ya->yaleId);
+            printf("<B>Yale pseudogene:</B> <a href=\"%s\" target=\"_blank\">%s</a><br>\n", buffer, ya->yaleId);
+
+            }
+        sqlFreeResult(&sr);
+        hFreeConn(&conn);
+        }
+    }
+
 printf("<H3>Links to sequence:</H3>\n");
 printf("<UL>\n");
 
 if(sameString(tdb->type,"genePred")