src/hg/archaeStuff/tooltip/tooltip.c 1.2

1.2 2009/10/14 00:16:31 holmes
Added arCOGs
Index: src/hg/archaeStuff/tooltip/tooltip.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/archaeStuff/tooltip/tooltip.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -b -B -U 4 -r1.1 -r1.2
--- src/hg/archaeStuff/tooltip/tooltip.c	24 Sep 2009 18:23:29 -0000	1.1
+++ src/hg/archaeStuff/tooltip/tooltip.c	14 Oct 2009 00:16:31 -0000	1.2
@@ -22,8 +22,10 @@
 #include "allpredictions.h"
 #include "hgConfig.h"
 #include "loweutils.h"
 #include "cddDesc.h"
+#include "arcogdesc.h"
+#include "arCOGs.h"
 
 
 static char const rcsid[] = "$Id$";
 
@@ -57,8 +59,60 @@
     sqlFreeResult(&sr);
     hFreeConn(&conn);
 
 }
+void arCOGTip()
+{
+    char *track =  cartOptionalString(cart, "g");
+    char *seqName =  cartOptionalString(cart, "c");
+    char *itemName =  cartOptionalString(cart, "i");
+    int start = cartInt(cart, "o");
+    int end = cartInt(cart, "t");
+    struct sqlResult *sr;
+    char **row;
+    char **descrow;
+    char query[256];
+    int rowOffset;
+
+    struct sqlConnection *conn = hAllocConn(database);
+    struct arcogdesc *description = NULL;
+    if(hTableExists("mgCommonDb","arcogdesc"))
+    {
+        sprintf(query, "select * from mgCommonDb.arcogdesc where name = '%s'", itemName);
+        //sprintf(query, "select * from %s where query = '%s'", blastpHitsTable, queryName);
+        struct sqlResult *srarcogdesc = sqlGetResult(conn, query);
+        while ((descrow = sqlNextRow(srarcogdesc)) != NULL)
+        {
+            struct arcogdesc *element;
+            element = arcogdescLoad(descrow);
+            slAddTail(&description, element);
+        }
+        sqlFreeResult(&srarcogdesc);
+    }
+    sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", track, itemName,seqName,start, end);
+
+    sr = sqlGetResult(conn, query);
+    struct arCOGs *infoload = NULL;
+    rowOffset = hOffsetPastBin(database, seqName, track);
+    while ((row = sqlNextRow(sr)) != NULL)
+    {
+        infoload = arCOGsLoad(row+rowOffset);
+        hPrintf("<B>Name:</B> %s<BR>\n", infoload->name);
+        if(!hTableExists("mgCommonDb","arcogdesc"))
+        {
+        }
+        else if(strlen(description->description) > 70)
+        {
+            hPrintf("<B>Description:</B> %.70s...<BR>\n", description->description);
+        }
+        else
+        {
+            hPrintf("<B>Description:</B> %s<BR>\n", description->description);
+        }
+    }
+    sqlFreeResult(&sr);
+    hFreeConn(&conn);
+}
 void cddInfoTip()
 {
     char *track =  cartOptionalString(cart, "g");
     char *seqName =  cartOptionalString(cart, "c");
@@ -66,25 +120,26 @@
     int start = cartInt(cart, "o");
     int end = cartInt(cart, "t");
     struct sqlResult *sr;
     char **row;
+    char **descrow;
     char query[256];
     int rowOffset;
-    struct cddInfo *infoload;
+
     struct sqlConnection *conn = hAllocConn(database);
     struct cddDesc *description = NULL;
-    if(hTableExists("centraldb","cddDesc"))
+    if(hTableExists("mgCommonDb","cddDesc"))
     {
-        sprintf(query, "select * from centraldb.cddDesc where accession = '%s'", itemName);
+        sprintf(query, "select * from mgCommonDb.cddDesc where accession = '%s'", itemName);
         //sprintf(query, "select * from %s where query = '%s'", blastpHitsTable, queryName);
         struct sqlResult *srCddDesc = sqlGetResult(conn, query);
 
 
 
-        while ((row = sqlNextRow(srCddDesc)) != NULL)
+        while ((descrow = sqlNextRow(srCddDesc)) != NULL)
         {
             struct cddDesc *element;
-            element = cddDescLoad(row);
+            element = cddDescLoad(descrow);
             slAddTail(&description, element);
         }
         sqlFreeResult(&srCddDesc);
     }
@@ -90,15 +145,17 @@
     }
 
 
     sprintf(query, "select * from %s where name = '%s' and chrom = '%s' and chromStart = %d and chromEnd = '%d';", track, itemName,seqName,start, end);
+
     sr = sqlGetResult(conn, query);
+    struct cddInfo *infoload = NULL;
     rowOffset = hOffsetPastBin(database, seqName, track);
     while ((row = sqlNextRow(sr)) != NULL)
     {
         infoload = cddInfoLoad(row+rowOffset);
         hPrintf("<B>Name:</B> %s<BR>\n", infoload->fullname);
-        if(!hTableExists("centraldb","cddDesc"))
+        if(!hTableExists("mgCommonDb","cddDesc"))
         {
         }
         else if(strlen(description->name) > 70)
         {
@@ -653,8 +711,10 @@
     else if (sameString("allpredictions", track))
         allpredictionsTip();
     else if (sameString("alignInfo", track))
         alignInfoTip();
+    else if (sameString("arCOGs", track))
+        arCOGTip();
     else
         anyGeneQuery();
 }