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();
}