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