Mercurial > repos > devteam > convert_characters
annotate convert_characters.py @ 0:3100886bf698 draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
author | devteam |
---|---|
date | Mon, 09 Nov 2015 11:25:21 -0500 |
parents | |
children | 81a6c3de5de3 |
rev | line source |
---|---|
0
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
1 #!/usr/bin/env python |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
2 #By, Guruprasad Ananda. |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
3 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
4 from galaxy import eggs |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
5 import sys, re |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
6 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
7 def stop_err(msg): |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
8 sys.stderr.write(msg) |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
9 sys.exit() |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
10 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
11 def main(): |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
12 if len(sys.argv) != 4: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
13 stop_err("usage: convert_characters infile from_char outfile") |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
14 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
15 try: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
16 fin = open(sys.argv[1],'r') |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
17 except: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
18 stop_err("Input file cannot be opened for reading.") |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
19 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
20 from_char = sys.argv[2] |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
21 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
22 try: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
23 fout = open(sys.argv[3],'w') |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
24 except: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
25 stop_err("Output file cannot be opened for writing.") |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
26 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
27 char_dict = {'T':'\t','s':'\s','Dt':'\.','C':',','D':'-','U':'_','P':'\|','Co':':'} |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
28 from_ch = char_dict[from_char] + '+' #making an RE to match 1 or more occurences. |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
29 skipped = 0 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
30 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
31 for line in fin: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
32 line = line.strip() |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
33 try: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
34 fout.write("%s\n" %(re.sub(from_ch,'\t',line))) |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
35 except: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
36 skipped += 1 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
37 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
38 if skipped: |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
39 print "Skipped %d lines as invalid." %skipped |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
40 |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
41 if __name__ == "__main__": |
3100886bf698
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/convert_characters commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
devteam
parents:
diff
changeset
|
42 main() |