eafabc2cbec6eb8a8955badf7c01191c1299ac49 mmaddren Thu Apr 7 16:47:30 2011 -0700 first push to my new branch diff --git python/ucscgenomics/rafile/cvValidate.py python/ucscgenomics/rafile/cvValidate.py new file mode 100644 index 0000000..a2b8fca --- /dev/null +++ python/ucscgenomics/rafile/cvValidate.py @@ -0,0 +1,62 @@ +import sys +import re +from RaFile import RaFile, RaEntry + +__ra = RaFile(RaEntry) +__groupDict = dict() +__filename = sys.argv[1] +__ra.read(__filename) + +def EntryExists(key, matchBehavior, group): + if key in __ra.keys(): + matchBehavior(key, group) + + +def KeyEquals(key, matchBehavior, group): + for item in __ra.itervalues(): + if key in item.keys(): + matchBehavior(item.name, group) + + +def KeyMatches(regex, matchBehavior, group): + for item in __ra.itervalues(): + for key in item.iterkeys(): + if re.match(regex, key): + matchBehavior(item.name, group) + break + + +def ValueEquals(key, value, matchBehavior, group): + for item in __ra.itervalues(): + if item[key] == value: + matchBehavior(item.name, group) + + +def ValueMatches(key, regex, matchBehavior, group): + for item in __ra.itervalues(): + if re.match(regex, item[key]): + matchBehavior(item.name, group) + + +def doNothing(key, group): + pass + + +def addToGroup(key, group): + if group not in __groupDict: + __groupDict[group] = list() + if key not in __groupDict[group]: + __groupDict[group].append(key) + + +def removeFromGroup(key, group): + if group in __groupDict: + if key in __groupDict[group]: + __groupDict[group].remove(key) + + +def PrintResult(): + for key in __groupDict.iterkeys(): + print key + ':' + for val in __groupDict[key]: + print val