##################################
#                                #
# Last modified 2018/11/19       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string
import math
import os
from sets import Set

def run():

    if len(sys.argv) < 2:
        print 'usage: python %s input outfilename [-end1 distance] [-end2 distance]'
        sys.exit(1)

    input = sys.argv[1]
    outfilename = sys.argv[2]

    doEnd1 = False
    if '-end1' in sys.argv:
        doEnd1 = True
        D = int(sys.argv[sys.argv.index('-end1') + 1])

    doEnd2 = False
    if '-end2' in sys.argv:
        doEnd2 = True
        D = int(sys.argv[sys.argv.index('-end2') + 1])

    outfile = open(outfilename, 'w')

    cmd1 = 'cat ' + input
    p = os.popen(cmd1, "r")
    line = 'line'
    i = 0
    while line != '':
        line = p.readline().strip()
        if line == '':
            break
        fields = line.strip().split('\t')
        if doEnd1:
            outline = fields[0] + '\t0\t' + str(D)
            outfile.write(outline + '\n')
        elif doEnd2:
            outline = fields[0] + '\t' + str(int(fields[1]) - D) + '\t' + fields[1]
            outfile.write(outline + '\n')
        else:
            outline = fields[0] + '\t0\t' + fields[1]
            outfile.write(outline + '\n')

    outfile.close()
        
run()

