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