2161b092dabc07a0314a23b67266347a27fc4596
hiram
  Fri Apr 22 15:16:52 2011 -0700
add specific Ensembl gene version string in longLabel for hgTracks and hgTrackUi
diff --git src/hg/lib/ensFace.c src/hg/lib/ensFace.c
index 78a1670..176d4ef 100644
--- src/hg/lib/ensFace.c
+++ src/hg/lib/ensFace.c
@@ -124,15 +124,40 @@
 	   "http://%s.ensembl.org/%s/contigview?chr=%s&start=%d&end=%d",
 		    archive, ensOrg, chrName, start, end);
 	}
     else
 	{
     dyStringPrintf(dy, 
 	   "http://%s.archive.ensembl.org/%s/contigview?chr=%s&start=%d&end=%d",
 		    archive, ensOrg, chrName, start, end);
 	}
 else
     dyStringPrintf(dy, 
                "http://www.ensembl.org/%s/contigview?chr=%s&start=%d&end=%d", ensOrg, chrName, start, end);
 return dy;
 }
 
+void ensGeneTrackVersion(char *database, char *ensVersionString,
+    char *ensDateReference, int stringSize)
+/* check for trackVersion table and find Ensembl version */
+{
+/* see if hgFixed.trackVersion exists */
+boolean trackVersionExists = hTableExists("hgFixed", "trackVersion");
+ensVersionString[0] = 0;
+ensDateReference[0] = 0;
+if (trackVersionExists)
+    {
+    struct sqlConnection *conn = hAllocConn("hgFixed");
+    char query[256];
+    safef(query, sizeof(query), "select version,dateReference from hgFixed.trackVersion where db = '%s' order by updateTime DESC limit 1", database);
+    struct sqlResult *sr = sqlGetResult(conn, query);
+    char **row;
+
+    while ((row = sqlNextRow(sr)) != NULL)
+	{
+	safef(ensVersionString, stringSize, "Ensembl %s", row[0]);
+	safef(ensDateReference, stringSize, "%s", row[1]);
+	}
+    sqlFreeResult(&sr);
+    hFreeConn(&conn);
+    }
+}