view tools/filters/mergeCols.py @ 1:cdcb0ce84a1b

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:45:15 -0500
parents 9071e359b9a3
children
line wrap: on
line source

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__()