##################################
#                                #
# Last modified 09/19/2014       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys

try:
	import psyco
	psyco.full()
except:
	pass

def run():

    if len(sys.argv) < 5:
        print 'usage: python %s bed chrFieldID leftFieldID reightFieldID outfile' % sys.argv[0]
        sys.exit(1)

    input = sys.argv[1]
    chrFieldID = int(sys.argv[2])
    leftFieldID = int(sys.argv[3])
    rightFieldID = int(sys.argv[4])
    outfilename = sys.argv[5]

    outfile = open(outfilename, 'w')

    listoflines = open(input)
    i=0
    for line in listoflines:
        if line.startswith('#'):
            continue
        fields = line.split('\t')
        chr = fields[chrFieldID]
        left = int(fields[leftFieldID])
        right = int(fields[rightFieldID])
        middle = int((left + right)/2.0)
        outline = chr + '\t' + str(middle)
        outfile.write(outline + '\n')
    outfile.close()

run()

