def main(argv=None): if argv is None: argv = sys.argv parser = argparse.ArgumentParser() parser.add_argument("bed", help="input bed") parser.add_argument("pdf", help="output pdf") parser.add_argument("--bin", default=10, type=int, help="bin size") parser.add_argument("--events", default=" ".join(BedMutations.defaultEvents), type=str, help="event tags") parser.add_argument("--xlimit", default=None, type=int, help="maximum x value to plot") parser.add_argument("--backgroundBed", default=None, type=float, help="regions for computing background rate") parser.add_argument("--title", default=None, type=str, help="title of plot") args = parser.parse_args() binSize = args.bin events = args.events.split() bh = BedHistogram() bh.linearY = False bh.xlimit = args.xlimit bgRate = None if args.backgroundBed is not None: count, size = getBackgroundRate(args.bed, args.backgroundBed, events) bgRate = float(count) / float(size) bh.loadFile(args.bed, binSize, bgRate, events) bh.writeFigure(args.pdf, args.title)
def computeBackgroundRate(self, mutationsBed, backgroundBed, events): self.count, self.size = getBackgroundRate(mutationsBed, backgroundBed, events) self.rate = float(self.count) / float(self.size) self.events = events