def bed(args): """ %prog bed blastfile Print out bed file based on coordinates in BLAST report. By default, write out subject positions. Use --swap to write query positions. """ from jcvi.formats.bed import sort as bed_sort p = OptionParser(bed.__doc__) p.add_option("--swap", default=False, action="store_true", help="Write query positions [default: %default]") opts, args = p.parse_args(args) if len(args) != 1: sys.exit(p.print_help()) blastfile, = args swap = opts.swap fp = must_open(blastfile) bedfile = blastfile.rsplit(".", 1)[0] + ".bed" fw = open(bedfile, "w") for row in fp: b = BlastLine(row) if swap: b = b.swapped print >> fw, b.bedline logging.debug("File written to `{0}`.".format(bedfile)) fw.close() bed_sort([bedfile, "-i"]) return bedfile
def bed(args): """ %prog bed blastfile Print out bed file based on coordinates in BLAST report. By default, write out subject positions. Use --swap to write query positions. """ from jcvi.formats.bed import sort as bed_sort p = OptionParser(bed.__doc__) p.add_option("--swap", default=False, action="store_true", help="Write query positions [default: %default]") opts, args = p.parse_args(args) if len(args) != 1: sys.exit(p.print_help()) blastfile, = args swap = opts.swap fp = must_open(blastfile) bedfile = blastfile.rsplit(".", 1)[0] + ".bed" fw = open(bedfile, "w") for row in fp: b = BlastLine(row) if swap: b = b.swapped print >> fw, b.bedline logging.debug("File written to `{0}`.".format(bedfile)) fw.close() bed_sort([bedfile, "-i"]) return bedfile
def bed(args): """ %prog bed blastfile Print out bed file based on coordinates in BLAST report. By default, write out subject positions. Use --swap to write query positions. """ from jcvi.formats.bed import sort as bed_sort p = OptionParser(bed.__doc__) p.add_option( "--swap", default=False, action="store_true", help="Write query positions", ) p.add_option( "--both", default=False, action="store_true", help="Generate one line for each of query and subject", ) opts, args = p.parse_args(args) if len(args) != 1: sys.exit(p.print_help()) (blastfile,) = args positive = (not opts.swap) or opts.both negative = opts.swap or opts.both fp = must_open(blastfile) bedfile = ( "{0}.bed".format(blastfile.rsplit(".", 1)[0]) if blastfile.endswith(".blast") else "{0}.bed".format(blastfile) ) fw = open(bedfile, "w") for row in fp: b = BlastLine(row) if positive: print(b.bedline, file=fw) if negative: print(b.swapped.bedline, file=fw) logging.debug("File written to `%s`.", bedfile) fw.close() bed_sort([bedfile, "-i"]) return bedfile
def bed(args): """ %prog bed blastfile Print out bed file based on coordinates in BLAST report. By default, write out subject positions. Use --swap to write query positions. """ from jcvi.formats.bed import sort as bed_sort p = OptionParser(bed.__doc__) p.add_option("--swap", default=False, action="store_true", help="Write query positions [default: %default]") p.add_option("--both", default=False, action="store_true", help="Generate one line for each of query and subject") opts, args = p.parse_args(args) if len(args) != 1: sys.exit(p.print_help()) blastfile, = args positive = (not opts.swap) or opts.both negative = opts.swap or opts.both fp = must_open(blastfile) bedfile = "{0}.bed".format(blastfile.rsplit(".", 1)[0]) \ if blastfile.endswith(".blast") \ else "{0}.bed".format(blastfile) fw = open(bedfile, "w") for row in fp: b = BlastLine(row) if positive: print(b.bedline, file=fw) if negative: print(b.swapped.bedline, file=fw) logging.debug("File written to `{0}`.".format(bedfile)) fw.close() bed_sort([bedfile, "-i"]) return bedfile