annotate mothur/lib/galaxy/datatypes/converters/ref_to_seq_taxonomy_converter.py @ 22:ed906f8149bb

Mothur - html escape amperand in calculator option label
author Jim Johnson <jj@umn.edu>
date Thu, 19 Jan 2012 10:34:04 -0600
parents 57df76d861e4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
1 #!/usr/bin/env python
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
2 """
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
3 convert a ref.taxonommy file to a seq.taxonomy file
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
4 Usage:
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
5 %python ref_to_seq_taxonomy_converter.py <ref.taxonommy_filename> <seq.taxonomy_filename>
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
6 """
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
7
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
8 import sys, os, re
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
9 from math import *
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
10
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
11 assert sys.version_info[:2] >= ( 2, 4 )
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
12
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
13 def stop_err( msg ):
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
14 sys.stderr.write( "%s" % msg )
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
15 sys.exit()
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
16
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
17 def __main__():
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
18 infile_name = sys.argv[1]
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
19 outfile = open( sys.argv[2], 'w' )
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
20 pat = '^([^ \t\n\r\x0c\x0b;]+([(]\\d+[)])?(;[^ \t\n\r\x0c\x0b;]+([(]\\d+[)]))*(;)?)$'
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
21 for i, line in enumerate( file( infile_name ) ):
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
22 line = line.rstrip() # eliminate trailing space and new line characters
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
23 if not line or line.startswith( '#' ):
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
24 continue
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
25 fields = line.split('\t')
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
26 # make sure the 2nd field (taxonomy) ends with a ;
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
27 outfile.write('%s\t%s;\n' % (fields[0], re.sub(';$','',fields[1])))
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
28
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
29 outfile.close()
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
30
57df76d861e4 Modifications for ToolShed proprietary data types
Jim Johnson <jj@umn.edu>
parents:
diff changeset
31 if __name__ == "__main__": __main__()