diff alignments-to-links.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/alignments-to-links.py	Tue Sep 17 16:54:57 2019 -0400
@@ -0,0 +1,30 @@
+import itertools
+import sys
+
+from Bio import AlignIO
+
+
+format_mapping = {
+    "xmfa": "mauve",
+    "maf": "maf",
+    "nex": "nexus",
+    # 'phylip': 'phylip-relaxed',
+    "stockholm": "stockholm",
+}
+
+for aln in AlignIO.parse(sys.argv[1], format_mapping.get(sys.argv[2], "maf")):
+
+    for (a, b) in itertools.combinations(aln, 2):
+        a_s = a.annotations["start"]
+        b_s = b.annotations["start"]
+
+        if "size" in a.annotations:
+            a_l = a.annotations["size"]
+            b_l = b.annotations["size"]
+            a_e = a_l + a_s
+            b_e = b_l + b_s
+        else:
+            a_e = a.annotations["end"]
+            b_e = b.annotations["end"]
+
+        sys.stdout.write("%s\t%s\t%s\t%s\t%s\t%s\n" % (a.id, a_s, a_e, b.id, b_s, b_e))