Mercurial > repos > iuc > gemini_lof_sieve
view test-data/util/shrink_tabix.py @ 6:295814260d95 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gemini commit 251c6024b4ff643a63e17fbfe2590998c2bae3a7"
author | iuc |
---|---|
date | Fri, 24 Jan 2020 17:32:16 -0500 |
parents | 93a391b4602c |
children |
line wrap: on
line source
from __future__ import print_function import argparse import pysam def main(infile, ofile, region): print(infile, '->', ofile) with pysam.Tabixfile(infile) as i: fformat = i.format.lower() if fformat == 'sam': fformat = 'bed' if ofile[-3:] == '.gz': ofile = ofile[:-3] with open(ofile, 'w') as o: try: region_it = i.fetch(region=region) except ValueError: region_it = i.fetch(region='chr' + region) for line in i.header: o.write(line + '\n') for line in region_it: o.write(str(line) + '\n') pysam.tabix_index(ofile, preset=fformat, force=True) if __name__ == '__main__': p = argparse.ArgumentParser() p.add_argument('infile') p.add_argument( '-r', '--region', required=True, help='the region of the input file to rewrite' ) p.add_argument( '-o', '--ofile', required=True, help="the name of the output file" ) args = vars(p.parse_args()) main(**args)