comparison tools/filters/mergeCols.py @ 0:9071e359b9a3

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:37:19 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:9071e359b9a3
1 import sys, re
2
3 def stop_err( msg ):
4 sys.stderr.write( msg )
5 sys.exit()
6
7 def __main__():
8 try:
9 infile = open ( sys.argv[1], 'r')
10 outfile = open ( sys.argv[2], 'w')
11 except:
12 stop_err( 'Cannot open or create a file\n' )
13
14 if len( sys.argv ) < 4:
15 stop_err( 'No columns to merge' )
16 else:
17 cols = sys.argv[3:]
18
19 skipped_lines = 0
20
21 for line in infile:
22 line = line.rstrip( '\r\n' )
23 if line and not line.startswith( '#' ):
24 fields = line.split( '\t' )
25 line += '\t'
26 for col in cols:
27 try:
28 line += fields[ int( col ) -1 ]
29 except:
30 skipped_lines += 1
31
32 print >>outfile, line
33
34 if skipped_lines > 0:
35 print 'Skipped %d invalid lines' % skipped_lines
36
37 if __name__ == "__main__" : __main__()