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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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()