##################################
#                                #
# Last modified 12/20/2013       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string

def run():

    if len(sys.argv) < 3:
        print 'usage: python %s GEM_events.txt radius outfile [-addChr]' % sys.argv[0]
        sys.exit(1)

    doAddChr = False
    if '-addChr' in sys.argv:
        doAddChr = True

    GEM = sys.argv[1]
    radius = int(sys.argv[2])
    outfile = open(sys.argv[3],'w')

    listoflines = open(GEM)
    for line in listoflines:
        if line.startswith('Position\t'):
            outfile.write('#' + line.replace('Position\t','chr\tleft\tright\t'))
            continue
        fields=line.split('\n')[0].split('\t')
        chrPos=fields[0]
        pos = chrPos.split(':')[-1]
        pos = int(pos)
        chr = chrPos.split(':')[0]
        for i in range(1,len(chrPos.split(':'))-1):
            chr = chr + ':' + chrPos.split(':')[i]
        outline = chr + '\t' + str(pos - radius) + '\t' + str(pos + radius)
        for i in range(1,len(fields)):
            outline = outline + '\t' + fields[i]
        if doAddChr:
            outfile.write('chr' + outline + '\n')
        else:
            outfile.write(outline + '\n')
        
    outfile.close()

run()
