Mercurial > repos > jjohnson > mothur_toolsuite
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 |
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__() |