##################################
#                                #
# Last modified 03/24/2013       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string

def run():

    if len(sys.argv) < 6:
        print 'usage: python %s inputfilename chrFieldID leftFieldID rightFieldID regionPrefix outfilename' % sys.argv[0]
        sys.exit(1)

    inputfilename = sys.argv[1]
    chrFieldID = int(sys.argv[2])
    leftFieldID = int(sys.argv[3])
    rightFieldID = int(sys.argv[4])
    regionPrefix = sys.argv[5]
    outputfilename = sys.argv[6]

    outfile = open(outputfilename, 'w')

    listoflines = open(inputfilename)
    i=0
    for line in listoflines:
        if line.startswith('#') or line.startswith('track '):
            continue
        i+=1
        if i % 1000000 == 0:
            print i, 'lines processed'
        fields = line.strip().split('\t')
        chr = fields[chrFieldID]
        left = fields[leftFieldID]
        right = fields[rightFieldID]
        regionName = regionPrefix + str(i)
        outline = regionName + '\t' + chr + '\t' + left + '\t' + right
        outfile.write(outline + '\n')

    outfile.close()

run()

