Mercurial > repos > iuc > circos
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))