fa1fd1e6225697d08803d99446cab7d4e0d549e9 vsmalladi Fri Oct 21 14:38:24 2011 -0700 Moved all python scripts from /python/programs to live in sr/hg/encode as per Kate's request for all encode programs in a common place. diff --git python/programs/qaUpdateMetadata/qaUpdateMetadata python/programs/qaUpdateMetadata/qaUpdateMetadata deleted file mode 100755 index a2cee40..0000000 --- python/programs/qaUpdateMetadata/qaUpdateMetadata +++ /dev/null @@ -1,82 +0,0 @@ -#!/hive/groups/encode/dcc/bin/python -import sys, os, re, argparse, subprocess, math -from ucscgenomics import ra, track - -def addChange(changelist, obj, change): - if obj not in changelist: - changelist[obj] = list() - changelist[obj].append(change) - return changelist - - -def main(): - parser = argparse.ArgumentParser( - prog='qaUpdateMetadata', - description='Update a metaDb fix', - epilog='example: qaUpdateMetadata hg19 wgEncodeUwDnaseSeq --list "md5sum objType cell treatment"' - ) - parser.add_argument('-t', '--trackPath', help='Overrides the default track path ~/kent/src/hg/makeDb/trackDb/') - parser.add_argument('database', help='The database, typically hg19 or mm9') - parser.add_argument('composite', help='The composite name, wgEncodeCshlLongRnaSeq for instance') - parser.add_argument('vars', metavar='VARS', type=str, nargs='+', help='The list of metadata variables to update from alpha to beta') - - args = parser.parse_args(sys.argv[1:]) - vars = args.vars - - - - c = track.CompositeTrack(args.database, args.composite) - newMdb = c.alphaMetaDb - oldMdb = c.betaMetaDb - - - commonStanzas = set(newMdb.filter(lambda s: 1, lambda s: s['metaObject'])) & set(oldMdb.filter(lambda s: 1, lambda s: s['metaObject'])) - - changelist = dict() - - for i in sorted(commonStanzas): - #print oldMdb[i] - for j in vars: - if j not in newMdb[i]: - if j in oldMdb[i]: - changelist = addChange(changelist, i, "deleted %s" % j) - del oldMdb[i][j] - continue - else: - continue - if j not in oldMdb[i]: - changelist = addChange(changelist, i, "added %s = %s" % (j, newMdb[i][j])) - oldMdb[i][j] = newMdb[i][j] - continue - elif oldMdb[i][j] != newMdb[i][j]: - changelist = addChange(changelist, i, "changed %s from %s to %s" % (j, oldMdb[i][j], newMdb[i][j])) - oldMdb[i][j] = newMdb[i][j] - - - for i in sorted(changelist): - print i - for j in changelist[i]: - pass - print j - print "" - - - f = open(c._betaMdbPath, 'w') - magic = "" - for i in sorted(oldMdb): - if re.search('MAGIC', i): - magic = i - continue - f.write("metaObject " + str(oldMdb[i]['metaObject'] + "\n")) - del oldMdb[i]['metaObject'] - f.write("objType " + str(oldMdb[i]['objType'] + "\n")) - del oldMdb[i]['objType'] - for j in sorted(oldMdb[i]): - f.write(("%s %s" % (j, oldMdb[i][j])) + "\n") - f.write("\n") - magic = magic + "\n" - f.write(magic) - f.close - -if __name__ == '__main__': - main()