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