##################################
#                                #
# Last modified 03/26/2011       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string
import math

def run():

    if len(sys.argv) < 2:
        print 'usage: python %s input outputfilename' % sys.argv[0]
        sys.exit(1)
    
    input=sys.argv[1]
    outfilename = sys.argv[2]

    outfile = open(outfilename, 'w')

    lineslist = open(input)
    i=0
    for line in lineslist:
        i+=1
        if i % 1000000 == 0:
            out = str(i/1000000) + 'M lines processed'
            print out
        if line.startswith('variableStep'):
            chr=line.split('chrom=')[1].split(' ')[0]
            span=int(line.split('span=')[1].split(' ')[0])
            continue
        fields=line.strip().split('\t')
        pos=int(fields[0])
        try:
            score=fields[1]
        except:
            print 'skipping', line.strip(), fields
            continue
        outline=chr + '\t' + str(pos) + '\t' + str(pos+span) + '\t' + score
        outfile.write(outline+'\n')

    outfile.close()
   
run()
