[2] | 1 | #!/usr/bin/env python
|
---|
| 2 |
|
---|
| 3 | """
|
---|
| 4 | Reads a MAF file. Produces a MAF file containing
|
---|
| 5 | the reverse complement for each block in the source file.
|
---|
| 6 |
|
---|
| 7 | usage: %prog input_maf_file output_maf_file
|
---|
| 8 | """
|
---|
| 9 | #Dan Blankenberg
|
---|
| 10 | from galaxy import eggs
|
---|
| 11 | import pkg_resources; pkg_resources.require( "bx-python" )
|
---|
| 12 | import bx.align.maf
|
---|
| 13 | from galaxy.tools.util import maf_utilities
|
---|
| 14 | import sys
|
---|
| 15 |
|
---|
| 16 | assert sys.version_info[:2] >= ( 2, 4 )
|
---|
| 17 |
|
---|
| 18 | def __main__():
|
---|
| 19 | #Parse Command Line
|
---|
| 20 | input_file = sys.argv.pop( 1 )
|
---|
| 21 | output_file = sys.argv.pop( 1 )
|
---|
| 22 | species = maf_utilities.parse_species_option( sys.argv.pop( 1 ) )
|
---|
| 23 |
|
---|
| 24 | try:
|
---|
| 25 | maf_writer = bx.align.maf.Writer( open( output_file, 'w' ) )
|
---|
| 26 | except:
|
---|
| 27 | print sys.stderr, "Unable to open output file"
|
---|
| 28 | sys.exit()
|
---|
| 29 | try:
|
---|
| 30 | count = 0
|
---|
| 31 | for count, maf in enumerate( bx.align.maf.Reader( open( input_file ) ) ):
|
---|
| 32 | maf = maf.reverse_complement()
|
---|
| 33 | if species:
|
---|
| 34 | maf = maf.limit_to_species( species )
|
---|
| 35 | maf_writer.write( maf )
|
---|
| 36 | except:
|
---|
| 37 | print >>sys.stderr, "Your MAF file appears to be malformed."
|
---|
| 38 | sys.exit()
|
---|
| 39 | print "%i regions were reverse complemented." % count
|
---|
| 40 | maf_writer.close()
|
---|
| 41 |
|
---|
| 42 | if __name__ == "__main__": __main__()
|
---|