root/galaxy-central/lib/galaxy/datatypes/converters/maf_to_fasta_converter.py @ 2

リビジョン 2, 1.1 KB (コミッタ: hatakeyama, 14 年 前)

import galaxy-central

行番号 
1#!/usr/bin/env python
2#Dan Blankenberg
3
4import sys
5from galaxy import eggs
6import pkg_resources; pkg_resources.require( "bx-python" )
7import bx.align.maf
8from galaxy.tools.util import maf_utilities
9
10assert sys.version_info[:2] >= ( 2, 4 )
11
12def __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
32if __name__ == "__main__": __main__()
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。