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__()
|
---|