[2] | 1 | #!/usr/bin/env python
|
---|
| 2 | #Dan Blankenberg
|
---|
| 3 |
|
---|
| 4 | import sys
|
---|
| 5 | from galaxy import eggs
|
---|
| 6 | import pkg_resources; pkg_resources.require( "bx-python" )
|
---|
| 7 | import bx.align.maf
|
---|
| 8 | from galaxy.tools.util import maf_utilities
|
---|
| 9 |
|
---|
| 10 | assert sys.version_info[:2] >= ( 2, 4 )
|
---|
| 11 |
|
---|
| 12 | def __main__():
|
---|
| 13 | output_name = sys.argv.pop(1)
|
---|
| 14 | input_name = sys.argv.pop(1)
|
---|
| 15 | out = open( output_name, 'w' )
|
---|
| 16 | count = 0
|
---|
| 17 | for count, block in enumerate( bx.align.maf.Reader( open( input_name, 'r' ) ) ):
|
---|
| 18 | spec_counts = {} |
---|
| 19 | for c in block.components:
|
---|
| 20 | spec, chrom = maf_utilities.src_split( c.src ) |
---|
| 21 | if spec not in spec_counts: |
---|
| 22 | spec_counts[ spec ] = 0 |
---|
| 23 | else: |
---|
| 24 | spec_counts[ spec ] += 1
|
---|
| 25 | out.write( "%s\n" % maf_utilities.get_fasta_header( c, { 'block_index' : count, 'species' : spec, 'sequence_index' : spec_counts[ spec ] }, suffix = "%s_%i_%i" % ( spec, count, spec_counts[ spec ] ) ) )
|
---|
| 26 | out.write( "%s\n" % c.text )
|
---|
| 27 | out.write( "\n" )
|
---|
| 28 | out.close()
|
---|
| 29 | print "%i MAF blocks converted to FASTA." % ( count )
|
---|
| 30 |
|
---|
| 31 |
|
---|
| 32 | if __name__ == "__main__": __main__()
|
---|