view text-from-bed.py @ 6:740057a5126d draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 1584882716a1d2c598e8485da9d73bcf80d9b29a"
author iuc
date Fri, 01 May 2020 07:28:50 -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")