Mercurial > repos > fubar > jbrowse2
annotate maf2bed.py @ 137:e237edee9a53 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/jbrowse2 commit 5482aa86f906615d9bddcc32cfbc2d45b24e6345
| author | iuc |
|---|---|
| date | Fri, 24 Oct 2025 07:50:40 +0000 |
| parents | 93fdd696c281 |
| children |
| rev | line source |
|---|---|
|
61
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
136
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
2 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
3 # adapted from https://github.com/bgruening/galaxytools/blob/f96142ca5acea989b828d6c92940172355b7f125/tools/jbrowse2/maf2bed.py |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
4 # which was "painfully converted from b0rken perl from:" |
|
61
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
5 # https://unpkg.com/browse/jbrowse-plugin-mafviewer@1.0.6/dist/ |
|
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
6 |
|
136
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
7 import argparse |
|
61
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
8 import sys |
|
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
9 |
|
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
10 |
|
136
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
11 def maf2bed(assembly_name, input, output): |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
12 id = 0 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
13 buffer = '' |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
14 start = 0 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
15 end = 0 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
16 score = 0 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
17 chrom = '' |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
18 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
19 db = "%s." % assembly_name |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
20 # Read input from stdin |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
21 for line in input: |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
22 line = line.strip() |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
23 if not line: |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
24 continue |
|
61
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
25 |
|
136
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
26 line = line.split() |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
27 if line[0] == 's' and line[1].startswith(db): |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
28 chrom = line[1] |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
29 chrom = chrom.replace(db, '') |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
30 start = int(line[2]) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
31 end = int(line[2]) + int(line[3]) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
32 line = line[1:] |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
33 line = ':'.join(line) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
34 temp = line |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
35 buffer = temp if buffer == '' else f"{buffer},{temp}" |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
36 elif line[0] == 'a': |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
37 score = int(line[1].split('=')[1]) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
38 if id > 0: |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
39 output.write('\t'.join([chrom, '%d' % start, '%d' % end, f"{assembly_name}_{id}", '%d' % score, buffer]) + '\n') |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
40 id += 1 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
41 buffer = '' |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
42 elif line[0] == 's': |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
43 line = line[1:] |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
44 line = ':'.join(line) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
45 temp = line |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
46 buffer = temp if buffer == '' else f"{buffer},{temp}" |
|
61
e7a6f7a7148d
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 6dde5ad41d63730085116ab2c9a9d3e500a760e4-dirty
fubar
parents:
diff
changeset
|
47 |
|
136
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
48 output.write('\t'.join([chrom, '%d' % start, '%d' % end, f"{assembly_name}_{id}", '%d' % score, buffer]) + '\n') |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
49 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
50 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
51 if __name__ == "__main__": |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
52 parser = argparse.ArgumentParser(description="", epilog="") |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
53 parser.add_argument("assembly_name", help="Assembly name") |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
54 parser.add_argument('input', nargs='?', type=argparse.FileType('r'), default=sys.stdin) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
55 parser.add_argument('output', nargs='?', type=argparse.FileType('w'), default=sys.stdout) |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
56 args = parser.parse_args() |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
57 |
|
93fdd696c281
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 4fa86613193c985e0cb9a8fc795c56b8bc7b8532
iuc
parents:
98
diff
changeset
|
58 maf2bed(args.assembly_name, args.input, args.output) |
