7ce536b83750a2408845dfef61b11400165bec9a wong Wed Sep 7 09:28:21 2011 -0700 changed how libraries are handles, and added usage statement diff --git python/programs/DateCheck/dateCheck.py python/programs/DateCheck/dateCheck.py index c5f43d3..77f1028 100755 --- python/programs/DateCheck/dateCheck.py +++ python/programs/DateCheck/dateCheck.py @@ -1,94 +1,110 @@ #!/usr/bin/python import sys +import os import datetime -sys.path.append('/cluster/home/wong/kent/python/lib/') +dir = os.path.dirname(os.path.abspath(__file__)) +#print "dir = %s" % dir + +library = os.path.join(dir,"../../lib") +#print library + + + +sys.path.append(library) +#sys.path.append('/cluster/home/wong/kent/python/lib/') from ucscgenomics.rafile.RaFile import * def indexhg18(rafile): objlist = {} rahg18 = RaFile(rafile) #structure is hg18expids[expIdviewreplicate] = information dict #used for easy lookup of an equivalent hg18 object, it will only run through the list of expids first instead of all objects looking for a match hg18expids = {} for key in rahg18.keys(): stanza = rahg18[key] if not ('replicate' in stanza): stanza['replicate'] = "NA" #print "hg18:%s" % (stanza['metaObject']) if 'expId' in stanza: info = {} info['replicate'] = stanza['replicate'] info['dateSubmitted'] = stanza['dateSubmitted'] info['dateUnrestricted'] = stanza['dateUnrestricted'] info['metaObject'] = stanza['metaObject'] expid = stanza['expId'] rep = stanza['replicate'] objview = stanza['view'] key = "%s%s%s" % (expid, rep, objview) hg18expids[key] = info return(hg18expids) def gethg19objects(rafile): ra = RaFile(rafile) objlist = {} for key in ra.keys(): stanza = ra[key] objinfo = {} if not ('replicate' in stanza): stanza['replicate'] = "NA" #print "hg19:%s" % (stanza['metaObject']) if 'expId' in stanza: objinfo['expId'] = stanza['expId'] objinfo['view'] = stanza['view'] objinfo['replicate'] = stanza['replicate'] if 'dateUnrestricted' in stanza: objinfo['dateUnrestricted'] = stanza['dateUnrestricted'] objinfo['dateSubmitted'] = stanza['dateSubmitted'] objlist[stanza['metaObject']] = objinfo return(objlist) def main(): + if len(sys.argv) != 3: + arglen = len(sys.argv) + print arglen + sys.exit("usage: dateCheck.py hg19.ra hg18.ra") + #sys.exit() + hg18expids = indexhg18(sys.argv[2]) hg19objects = gethg19objects(sys.argv[1]) date = datetime.date today = str(date.today()) #print today for key in hg19objects.keys(): expid = hg19objects[key]['expId'] rep = hg19objects[key]['replicate'] view = hg19objects[key]['view'] key2 = "%s%s%s" % (expid, rep, view) #print "key2 = %s" % (key2) if key2 in hg18expids: infodict = hg18expids[key2] setvars = "" vars = "" if infodict['dateSubmitted'] < hg19objects[key]['dateSubmitted']: #print "\n" #print "%s vs %s, dateSubmitted: %s vs %s" % (key, infodict['metaObject'], infodict['dateSubmitted'], hg19objects[key]['dateSubmitted']) setvars = "dateSubmitted=%s dateResubmitted=%s" % (infodict['dateSubmitted'], hg19objects[key]['dateSubmitted']) if infodict['dateUnrestricted'] < hg19objects[key]['dateSubmitted'] and hg19objects[key]['dateUnrestricted'] > today: #print "%s vs %s, dateUnrestricted: %s vs %s" % (key, infodict['metaObject'], infodict['dateUnrestricted'], hg19objects[key]['dateUnrestricted']) setvars = "%s dateUnrestricted=%s" % (setvars, infodict['dateUnrestricted']) if setvars: if rep == "NA": vars = "expId=%s view=%s" % (expid, view) else: vars = "expId=%s view=%s replicate=%s" % (expid, view, rep) print "mdbUpdate hg19 -vars=\"%s\" -setVars=\"%s\"" % (vars, setvars) if __name__ == "__main__": main()