Files
galaxy/tools/maf/maf_reverse_complement.py
T
Nicola Soranzo 9b4de72ca6 Fix all E722 errors and ignore E741
Introduced in flake8 3.5.0
Fix import order.
2017-10-24 11:29:09 +01:00

45 lines
1.1 KiB
Python

#!/usr/bin/env python
"""
Reads a MAF file. Produces a MAF file containing
the reverse complement for each block in the source file.
usage: %prog input_maf_file output_maf_file
"""
# Dan Blankenberg
from __future__ import print_function
import sys
import bx.align.maf
from galaxy.tools.util import maf_utilities
def __main__():
# Parse Command Line
input_file = sys.argv.pop(1)
output_file = sys.argv.pop(1)
species = maf_utilities.parse_species_option(sys.argv.pop(1))
try:
maf_writer = bx.align.maf.Writer(open(output_file, 'w'))
except Exception:
print(sys.stderr, "Unable to open output file")
sys.exit()
try:
count = 0
for count, maf in enumerate(bx.align.maf.Reader(open(input_file))):
maf = maf.reverse_complement()
if species:
maf = maf.limit_to_species(species)
maf_writer.write(maf)
except Exception:
print("Your MAF file appears to be malformed.", file=sys.stderr)
sys.exit()
print("%i regions were reverse complemented." % count)
maf_writer.close()
if __name__ == "__main__":
__main__()