008a9f768336b533066892f173e363f774f97d23
wong
  Tue Oct 25 14:06:27 2011 -0700
added in a property I needed in qaInit
diff --git python/lib/ucscgenomics/track.py python/lib/ucscgenomics/track.py
index 97fb811..98d4053 100644
--- python/lib/ucscgenomics/track.py
+++ python/lib/ucscgenomics/track.py
@@ -1,16 +1,16 @@
-import os
+import os, re
 from ucscgenomics import ra
 
 def readMd5sums(filename):
     if os.path.isfile(filename):
         md5sums = dict()
         md5file = open(filename, 'r')
         for line in md5file:
             key, val = map(str.strip, line.split(' ', 1))
             md5sums[key] = val
         return md5sums
     else:
         return None
 
         
 class TrackFile(object):
@@ -247,54 +247,67 @@
         
     @property 
     def trackPath(self):
         """The track path for this composite"""
         return self._trackPath
         
     @property 
     def url(self):
         """The url on our site for this composite"""
         return self._url
         
     @property 
     def organism(self):
         """The url on our site for this composite"""
         return self._organism
+    @property
+    def currentTrackDb(self):
+        trackDb = self._trackDbDir + "trackDb.wgEncode.ra"
+        f = open(trackDb, "r")
+        lines = f.readlines()
+        p = re.compile(".*(%s\S+) ?(\S+)" % self._name)
+        for i in lines:
+            m = p.match(i)
+            if m and re.search('alpha', m.group(2)):
+                tdbpath = "%s%s" % (self._trackDbDir, m.group(1))
+                return tdbpath
+        return None
+
         
     def __init__(self, database, compositeName, trackPath=None):
         
         if trackPath == None:
             self._trackPath = os.path.expanduser('~/kent/src/hg/makeDb/trackDb/')
-            self._trackDbDir = os.path.expanduser('~/kent/src/hg/makeDb/trackDb/')
         else:
             self._trackPath = trackPath
             
         organisms = {
             'hg19': 'human',
             'hg18': 'human',
             'mm9': 'mouse'
         }
         
         if database in organisms:
             self._organism = organisms[database]
         else:
             raise KeyError(database + ' is not a valid database')
         
         if not self._trackPath.endswith('/'):
             self._trackPath = self._trackPath + '/'
         
         self._trackDbPath = self._trackPath + self._organism + '/' + database + '/' + compositeName + '.ra'
+        self._trackDbDir = self._trackPath + self._organism + '/' + database + '/'
         if not os.path.isfile(self._trackDbPath):
             raise KeyError(self._trackDbPath + ' does not exist')
         
         self._alphaMdbPath = self._trackPath + self._organism + '/' + database + '/metaDb/alpha/' + compositeName + '.ra'
         self._betaMdbPath = self._trackPath + self._organism + '/' + database + '/metaDb/beta/' + compositeName + '.ra'    
         self._publicMdbPath = self._trackPath + self._organism + '/' + database + '/metaDb/public/' + compositeName + '.ra'
         self._alphaMdbDir = self._trackPath + self._organism + '/' + database + '/metaDb/alpha/'
         self._betaMdbDir = self._trackPath + self._organism + '/' + database + '/metaDb/beta/'
         self._publicMdbDir = self._trackPath + self._organism + '/' + database + '/metaDb/public/'
         self._downloadsDirectory = '/hive/groups/encode/dcc/analysis/ftp/pipeline/' + database + '/' + compositeName + '/'
         self._httpDownloadsPath = '/usr/local/apache/htdocs-hgdownload/goldenPath/' + database + '/encodeDCC/' + compositeName + '/'
         self._rrHttpDir = '/usr/local/apache/htdocs/goldenPath/' + database + '/encodeDCC/' + compositeName + '/'
         self._notesDirectory = os.path.expanduser("~/kent/src/hg/makeDb/doc/encodeDcc%s" % database.capitalize()) + '/'
         self._url = 'http://genome.ucsc.edu/cgi-bin/hgTrackUi?db=' + database + '&g=' + compositeName
         self._database = database