mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-01 15:37:32 +08:00
45 lines
1.1 KiB
Python
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))): # noqa: B007
|
|
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__()
|