Mercurial > repos > iuc > circos
annotate alignments-to-links.py @ 12:290a11559985 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit e3d1aad2204a3385aa66f3b0625747151e9f94e8"
| author | iuc | 
|---|---|
| date | Mon, 22 Nov 2021 12:23:12 +0000 | 
| parents | 014a21767ac4 | 
| children | 
| rev | line source | 
|---|---|
| 
2
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
1 import itertools | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
2 import sys | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
3 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
4 from Bio import AlignIO | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
5 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
6 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
7 format_mapping = { | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
8 "xmfa": "mauve", | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
9 "maf": "maf", | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
10 "nex": "nexus", | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
11 # 'phylip': 'phylip-relaxed', | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
12 "stockholm": "stockholm", | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
13 } | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
14 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
15 for aln in AlignIO.parse(sys.argv[1], format_mapping.get(sys.argv[2], "maf")): | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
16 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
17 for (a, b) in itertools.combinations(aln, 2): | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
18 a_s = a.annotations["start"] | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
19 b_s = b.annotations["start"] | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
20 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
21 if "size" in a.annotations: | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
22 a_l = a.annotations["size"] | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
23 b_l = b.annotations["size"] | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
24 a_e = a_l + a_s | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
25 b_e = b_l + b_s | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
26 else: | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
27 a_e = a.annotations["end"] | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
28 b_e = b.annotations["end"] | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
29 | 
| 
 
014a21767ac4
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 076837a2e9c2b6ececcea4aa286ea7a412387a96"
 
iuc 
parents:  
diff
changeset
 | 
30 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)) | 
