def __main__():
    print "Restricted to species:", sys.argv[3]

    input_filename = sys.argv[1]
    output_filename = sys.argv[2]
    species = sys.argv[3].split(",")
    partial = sys.argv[4]
    num_species = len(species)

    file_in = open(input_filename, "r")
    try:
        maf_reader = maf.Reader(file_in)

        file_out = open(output_filename, "w")

        for block_num, block in enumerate(maf_reader):
            if "None" not in species:
                block = block.limit_to_species(species)
            if len(block.components) < num_species and partial == "partial_disallowed":
                continue
            for component in block.components:
                spec, chrom = maf.src_split(component.src)
                if not spec or not chrom:
                    spec = chrom = component.src
                file_out.write("%s\n" % maf_utilities.get_fasta_header(component, suffix="%s_%i" % (spec, block_num)))
                file_out.write("%s\n" % component.text)
            file_out.write("\n")
        file_in.close()
    except Exception, e:
        print >> sys.stderr, "Your MAF file appears to be malformed:", e
        sys.exit()
def __main__():
    try:
        maf_reader = maf.Reader(open(sys.argv[1]))
    except Exception as e:
        maf_utilities.tool_fail("Error opening input MAF: %s" % e)
    try:
        file_out = open(sys.argv[2], 'w')
    except Exception as e:
        maf_utilities.tool_fail("Error opening file for output: %s" % e)
    try:
        species = maf_utilities.parse_species_option(sys.argv[3])
        if species:
            num_species = len(species)
        else:
            num_species = 0
    except Exception as e:
        maf_utilities.tool_fail("Error determining species value: %s" % e)
    try:
        partial = sys.argv[4]
    except Exception as e:
        maf_utilities.tool_fail("Error determining keep partial value: %s" % e)

    if species:
        print("Restricted to species: %s" % ', '.join(species))
    else:
        print("Not restricted to species.")

    for block_num, block in enumerate(maf_reader):
        if species:
            block = block.limit_to_species(species)
            if len(maf_utilities.get_species_in_block(
                    block)) < num_species and partial == "partial_disallowed":
                continue
        spec_counts = {}
        for component in block.components:
            spec, chrom = maf_utilities.src_split(component.src)
            if spec not in spec_counts:
                spec_counts[spec] = 0
            else:
                spec_counts[spec] += 1
            file_out.write("%s\n" % maf_utilities.get_fasta_header(
                component, {
                    'block_index': block_num,
                    'species': spec,
                    'sequence_index': spec_counts[spec]
                },
                suffix="%s_%i_%i" % (spec, block_num, spec_counts[spec])))
            file_out.write("%s\n" % component.text)
        file_out.write("\n")
    file_out.close()
def __main__():
    output_name = sys.argv.pop(1)
    input_name = sys.argv.pop(1)
    count = 0
    with open(output_name, 'w') as out:
        for count, block in enumerate(bx.align.maf.Reader(open(input_name, 'r'))):
            spec_counts = {}
            for c in block.components:
                spec, chrom = maf_utilities.src_split(c.src)
                if spec not in spec_counts:
                    spec_counts[spec] = 0
                else:
                    spec_counts[spec] += 1
                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])))
                out.write("%s\n" % c.text)
            out.write("\n")
    print("%i MAF blocks converted to FASTA." % (count))
示例#4
0
def __main__():
    output_name = sys.argv.pop(1)
    input_name = sys.argv.pop(1)
    out = open( output_name, 'w' )
    count = 0
    for count, block in enumerate( bx.align.maf.Reader( open( input_name, 'r' ) ) ):
        spec_counts = {}
        for c in block.components:
            spec, chrom = maf_utilities.src_split( c.src )
            if spec not in spec_counts:
                spec_counts[ spec ] = 0
            else:
                spec_counts[ spec ] += 1
            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 ] ) ) )
            out.write( "%s\n" % c.text )
        out.write( "\n" )
    out.close()
    print "%i MAF blocks converted to FASTA." % ( count )
def __main__():
    try:
        maf_reader = maf.Reader(open(sys.argv[1]))
    except Exception as e:
        maf_utilities.tool_fail("Error opening input MAF: %s" % e)
    try:
        file_out = open(sys.argv[2], 'w')
    except Exception as e:
        maf_utilities.tool_fail("Error opening file for output: %s" % e)
    try:
        species = maf_utilities.parse_species_option(sys.argv[3])
        if species:
            num_species = len(species)
        else:
            num_species = 0
    except Exception as e:
        maf_utilities.tool_fail("Error determining species value: %s" % e)
    try:
        partial = sys.argv[4]
    except Exception as e:
        maf_utilities.tool_fail("Error determining keep partial value: %s" % e)

    if species:
        print("Restricted to species: %s" % ', '.join(species))
    else:
        print("Not restricted to species.")

    for block_num, block in enumerate(maf_reader):
        if species:
            block = block.limit_to_species(species)
            if len(maf_utilities.get_species_in_block(block)) < num_species and partial == "partial_disallowed":
                continue
        spec_counts = {}
        for component in block.components:
            spec, chrom = maf_utilities.src_split(component.src)
            if spec not in spec_counts:
                spec_counts[spec] = 0
            else:
                spec_counts[spec] += 1
            d = OrderedDict([('block_index', block_num), ('species', spec), ('sequence_index', spec_counts[spec])])
            file_out.write("%s\n" % maf_utilities.get_fasta_header(component, d, suffix="%s_%i_%i" % (spec, block_num, spec_counts[spec])))
            file_out.write("%s\n" % component.text)
        file_out.write("\n")
    file_out.close()
            num_species = 0
    except Exception, e:
        maf_utilities.tool_fail( "Error determining species value: %s" % e )
    try:
        partial = sys.argv[4]
    except Exception, e:
        maf_utilities.tool_fail( "Error determining keep partial value: %s" % e )
    
    if species:
        print "Restricted to species: %s" % ', '.join( species )
    else:
        print "Not restricted to species."
    
    for block_num, block in enumerate( maf_reader ):
        if species:
            block = block.limit_to_species( species )
            if len( maf_utilities.get_species_in_block( block ) ) < num_species and partial == "partial_disallowed": continue
        spec_counts = {}
        for component in block.components:
            spec, chrom = maf_utilities.src_split( component.src )
            if spec not in spec_counts:
                spec_counts[ spec ] = 0
            else:
                spec_counts[ spec ] += 1
            file_out.write( "%s\n" % maf_utilities.get_fasta_header( component, { 'block_index' : block_num, 'species' : spec, 'sequence_index' : spec_counts[ spec ] }, suffix = "%s_%i_%i" % ( spec, block_num, spec_counts[ spec ] ) ) )
            file_out.write( "%s\n" % component.text )
        file_out.write( "\n" )
    file_out.close()

if __name__ == "__main__": __main__()