Mercurial > repos > iuc > gemini_inheritance
annotate test-data/util/shrink_tabix.py @ 0:3123ce7acd0e draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
author | iuc |
---|---|
date | Fri, 11 Jan 2019 17:50:55 -0500 |
parents | |
children |
rev | line source |
---|---|
0
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
1 from __future__ import print_function |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
2 |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
3 import argparse |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
4 |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
5 import pysam |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
6 |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
7 |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
8 def main(infile, ofile, region): |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
9 print(infile, '->', ofile) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
10 with pysam.Tabixfile(infile) as i: |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
11 fformat = i.format.lower() |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
12 if fformat == 'sam': |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
13 fformat = 'bed' |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
14 if ofile[-3:] == '.gz': |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
15 ofile = ofile[:-3] |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
16 with open(ofile, 'w') as o: |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
17 try: |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
18 region_it = i.fetch(region=region) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
19 except ValueError: |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
20 region_it = i.fetch(region='chr' + region) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
21 for line in i.header: |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
22 o.write(line + '\n') |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
23 for line in region_it: |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
24 o.write(str(line) + '\n') |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
25 pysam.tabix_index(ofile, preset=fformat, force=True) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
26 |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
27 |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
28 if __name__ == '__main__': |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
29 p = argparse.ArgumentParser() |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
30 p.add_argument('infile') |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
31 p.add_argument( |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
32 '-r', '--region', |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
33 required=True, |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
34 help='the region of the input file to rewrite' |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
35 ) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
36 p.add_argument( |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
37 '-o', '--ofile', |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
38 required=True, |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
39 help="the name of the output file" |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
40 ) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
41 args = vars(p.parse_args()) |
3123ce7acd0e
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 62ed732cba355e695181924a8ed4cce49ca21c59
iuc
parents:
diff
changeset
|
42 main(**args) |