diff text-from-bed.py @ 2:014a21767ac4 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
author iuc
date Tue, 17 Sep 2019 16:54:57 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/text-from-bed.py	Tue Sep 17 16:54:57 2019 -0400
@@ -0,0 +1,32 @@
+#!/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")