Mercurial > repos > devteam > merge_cols
diff mergeCols.py @ 0:11de536c87b1 draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit 5a4e0ca9992af3a6e5ed2b533f04bb82ce761e0b
author | devteam |
---|---|
date | Mon, 09 Nov 2015 11:45:18 -0500 |
parents | |
children | 26d0d9bdbafc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mergeCols.py Mon Nov 09 11:45:18 2015 -0500 @@ -0,0 +1,37 @@ +import sys, re + +def stop_err( msg ): + sys.stderr.write( msg ) + sys.exit() + +def __main__(): + try: + infile = open ( sys.argv[1], 'r') + outfile = open ( sys.argv[2], 'w') + except: + stop_err( 'Cannot open or create a file\n' ) + + if len( sys.argv ) < 4: + stop_err( 'No columns to merge' ) + else: + cols = sys.argv[3:] + + skipped_lines = 0 + + for line in infile: + line = line.rstrip( '\r\n' ) + if line and not line.startswith( '#' ): + fields = line.split( '\t' ) + line += '\t' + for col in cols: + try: + line += fields[ int( col ) -1 ] + except: + skipped_lines += 1 + + print >>outfile, line + + if skipped_lines > 0: + print 'Skipped %d invalid lines' % skipped_lines + +if __name__ == "__main__" : __main__() \ No newline at end of file