##################################
#                                #
# Last modified 08/13/2010       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string

def run():

    if len(sys.argv) < 1:
        print 'usage: python %s title inputfilename' % sys.argv[0]
        sys.exit(1)
    
    cachePages = 2000000

    wig = sys.argv[1]
    outfilename = sys.argv[1].split('/')[-1].split('.wig')[0]+'.fixed.wig'

    outfile = open(outfilename, 'w')

    linelist = open(wig)
    SeenDict={}
    SeenTwiceDict={}
    for line in linelist:
        if line.startswith('track'):
            outfile.write(line)
            continue
        fields=line.strip().split('\t')
        chr=fields[0]
        if SeenTwiceDict.has_key(chr):
            outfile.write(line)
            continue
        elif SeenDict.has_key(chr):
            second=fields
            outline=chr+'\t'+first[1]+'\t'+second[2]+'\t'+second[3]
            outfile.write(outline + '\n')
            print first, second, outline
            SeenTwiceDict[chr]=''
            continue
        else:
            first=fields
            SeenDict[chr]=''
            continue
    outfile.close()
            
run()
