view text-from-bed.py @ 7:4b519282a05b draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit ef20b4968a6d00c49209de6b723f8b96d8bd128a"
author iuc
date Mon, 25 May 2020 10:52:02 -0400
parents 014a21767ac4
children
line wrap: on
line source

#!/usr/bin/env python
import logging
import sys

logging.basicConfig(level=logging.INFO)
log = logging.getLogger()


if __name__ == "__main__":
    with open(sys.argv[1], "r") as handle:
        for line in handle:
            lineData = line.strip().split()
            # BED3+ chrom chromStart chromEnd
            # BED6+ name score strand
            # BED9+ thickStart thickEnd itemRgb
            kv = {}
            if len(lineData) >= 6:
                kv["strand"] = lineData[5].replace("+", "1").replace("-", "-1")
                kv["value"] = lineData[4]
            else:
                sys.exit("Must be BED6+")

            line = [
                lineData[0],  # chrom
                lineData[1],  # chromStart
                lineData[2],  # chromEnd
                lineData[3],
                ",".join(["%s=%s" % x for x in sorted(kv.items())]),
            ]

            sys.stdout.write("\t".join(line))
            sys.stdout.write("\n")