src/hg/hgc/hgc.c 1.1588
1.1588 2010/01/15 23:19:01 hiram
adding vega gene version identifier to those gene clicks
Index: src/hg/hgc/hgc.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/hgc.c,v
retrieving revision 1.1587
retrieving revision 1.1588
diff -b -B -U 4 -r1.1587 -r1.1588
--- src/hg/hgc/hgc.c 15 Jan 2010 15:35:30 -0000 1.1587
+++ src/hg/hgc/hgc.c 15 Jan 2010 23:19:01 -0000 1.1588
@@ -8111,57 +8111,57 @@
int wordCount;
int start = cartInt(cart, "o");
struct sqlConnection *conn = hAllocConn(database);
char condStr[256];
-char ensVersionString[256];
-char ensDateReference[256];
+char versionString[256];
+char dateReference[256];
char headerTitle[512];
/* see if hgFixed.trackVersion exists */
boolean trackVersionExists = hTableExists("hgFixed", "trackVersion");
if (trackVersionExists)
{
char query[256];
- safef(query, sizeof(query), "select version,dateReference from hgFixed.trackVersion where db = '%s' order by updateTime DESC limit 1", database);
+ safef(query, sizeof(query), "select version,dateReference from hgFixed.trackVersion where db = '%s' AND name = 'ensGene' order by updateTime DESC limit 1", database);
struct sqlResult *sr = sqlGetResult(conn, query);
char **row;
/* in case of NULL result from the table */
- ensVersionString[0] = 0;
+ versionString[0] = 0;
while ((row = sqlNextRow(sr)) != NULL)
{
- safef(ensVersionString, sizeof(ensVersionString), "Ensembl %s",
+ safef(versionString, sizeof(versionString), "Ensembl %s",
row[0]);
- safef(ensDateReference, sizeof(ensDateReference), "%s",
+ safef(dateReference, sizeof(dateReference), "%s",
row[1]);
}
sqlFreeResult(&sr);
}
else
{
- ensVersionString[0] = 0;
- ensDateReference[0] = 0;
+ versionString[0] = 0;
+ dateReference[0] = 0;
}
if (itemForUrl == NULL)
itemForUrl = item;
dupe = cloneString(tdb->type);
-if (ensVersionString[0])
- safef(headerTitle, sizeof(headerTitle), "%s - %s", item, ensVersionString);
+if (versionString[0])
+ safef(headerTitle, sizeof(headerTitle), "%s - %s", item, versionString);
else
safef(headerTitle, sizeof(headerTitle), "%s", item);
genericHeader(tdb, headerTitle);
wordCount = chopLine(dupe, words);
char *archive = trackDbSetting(tdb, "ensArchive");
if (archive == NULL)
{
- if (ensDateReference[0])
+ if (dateReference[0])
{
- if (differentWord("current", ensDateReference))
- archive = cloneString(ensDateReference);
+ if (differentWord("current", dateReference))
+ archive = cloneString(dateReference);
}
}
printEnsemblCustomUrl(tdb, itemForUrl, item == itemForUrl, archive);
sprintf(condStr, "name='%s'", item);
@@ -10399,11 +10399,51 @@
void doVegaGene(struct trackDb *tdb, char *item, char *itemForUrl)
/* Handle click on Vega gene track. */
{
struct vegaInfo *vi = NULL;
+char versionString[256];
+char dateReference[256];
+char headerTitle[512];
+
+/* see if hgFixed.trackVersion exists */
+boolean trackVersionExists = hTableExists("hgFixed", "trackVersion");
+
+if (trackVersionExists)
+ {
+ char query[256];
+ struct sqlConnection *conn = hAllocConn(database);
+ safef(query, sizeof(query), "select version,dateReference from hgFixed.trackVersion where db = '%s' AND name = 'vegaGene' order by updateTime DESC limit 1", database);
+ struct sqlResult *sr = sqlGetResult(conn, query);
+ char **row;
+
+ /* in case of NULL result from the table */
+ versionString[0] = 0;
+ while ((row = sqlNextRow(sr)) != NULL)
+ {
+ safef(versionString, sizeof(versionString), "Vega %s",
+ row[0]);
+ safef(dateReference, sizeof(dateReference), "%s",
+ row[1]);
+ }
+ sqlFreeResult(&sr);
+ hFreeConn(&conn);
+ }
+else
+ {
+ versionString[0] = 0;
+ dateReference[0] = 0;
+ }
+
if (itemForUrl == NULL)
itemForUrl = item;
-genericHeader(tdb, item);
+
+if (versionString[0])
+ safef(headerTitle, sizeof(headerTitle), "%s - %s", item, versionString);
+else
+ safef(headerTitle, sizeof(headerTitle), "%s", item);
+
+genericHeader(tdb, headerTitle);
+
if (hTableExists(database, "vegaInfo"))
{
char query[256];
struct sqlConnection *conn = hAllocConn(database);