comparison mergeCols.py @ 3:ae7843d06f8f draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
author devteam
date Thu, 16 Jul 2020 04:37:14 -0400
parents dd40b1e9eebe
children
comparison
equal deleted inserted replaced
2:dd40b1e9eebe 3:ae7843d06f8f
1 import sys 1 import sys
2 2
3 3
4 def __main__(): 4 def __main__():
5 try:
6 infile = open(sys.argv[1], 'r')
7 outfile = open(sys.argv[2], 'w')
8 except Exception:
9 sys.exit('Cannot open or create a file\n')
10
11 if len(sys.argv) < 4: 5 if len(sys.argv) < 4:
12 sys.exit('No columns to merge\n') 6 sys.exit('No columns to merge\n')
13 else: 7 else:
14 cols = sys.argv[3:] 8 cols = sys.argv[3:]
15 9
16 skipped_lines = 0 10 with open(sys.argv[1], 'r') as infile, open(sys.argv[2], 'w') as outfile:
11 skipped_lines = 0
12 for line in infile:
13 line = line.rstrip('\r\n')
14 if line and not line.startswith('#'):
15 fields = line.split('\t')
16 line += '\t'
17 for col in cols:
18 try:
19 line += fields[int(col) - 1]
20 except Exception:
21 skipped_lines += 1
17 22
18 for line in infile: 23 outfile.write("{}\n".format(line))
19 line = line.rstrip('\r\n')
20 if line and not line.startswith('#'):
21 fields = line.split('\t')
22 line += '\t'
23 for col in cols:
24 try:
25 line += fields[int(col) - 1]
26 except Exception:
27 skipped_lines += 1
28
29 print(line, file=outfile)
30 24
31 if skipped_lines > 0: 25 if skipped_lines > 0:
32 print('Skipped %d invalid lines' % skipped_lines) 26 print('Skipped %d invalid lines' % skipped_lines)
33 27
34 28