diff --git a/python/MPGQueuePipelineStatus.py b/python/MPGQueuePipelineStatus.py new file mode 100644 index 000000000..e1f26877b --- /dev/null +++ b/python/MPGQueuePipelineStatus.py @@ -0,0 +1,37 @@ +import os +import glob +import time + +#takes a path to a yaml and defines the project and a number of descriptive features +class status: + def __init__(self, yaml): + self.yaml = yaml + self.project = os.path.basename(self.yaml).split(".")[0] + self.directory = os.path.dirname(self.yaml) + self.dirkey = self.directory.split("/")[3] + if len(glob.glob(self.directory + "/SnpCalls/*.pdf")) >= 2: + self.edate=max([os.path.getmtime(i) for i in glob.iglob(self.directory + "/SnpCalls/*.pdf")]) + self.status = "In Review" + elif len(glob.glob(self.directory + "/*/*.vcf")) >= 5: + self.edate=max([os.path.getmtime(i) for i in glob.iglob(self.directory + "/*/*.vcf")]) + self.status= "Eval" + else: + self.edate=max([os.path.getmtime(i) for i in glob.iglob(self.directory)]) + self.status= "Calling" + self.date = time.strftime("%a %b %d %H:%M",time.localtime(self.edate)) + + +class update: + def __init__(self): + self.projects = glob.iglob('/humgen/gsa-pipeline/*/*/*/*.yaml') + self.updates = [] + for each in self.projects: + Update = status(each) + self.updates.append(Update) + self.updates=sorted(self.updates, key=lambda update: update.edate) + print '{0:60} {1:15} {2:20} {3:7}'.format("Project","status","date","dirkey") # waht is this expecting for these valuse? + for s in self.updates: + print '{0:60} {1:15} {2:20} {3:7}'.format(s.project, s.status, s.date, s.dirkey) + +if __name__ == "__main__": + go = update()