##################################
#                                #
# Last modified 04/15/2012       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys

def run():

    if len(sys.argv) < 3:
        print 'usage: python %s wig score outifle' % sys.argv[0]
        sys.exit(1)

    wig = sys.argv[1]
    score = float(sys.argv[2])
    outputfilename = sys.argv[3]

    outfile = open(outputfilename, 'w')

    lineslist = open(wig)
    AboveScore=0
    i=0
    for line in lineslist:
        i+=1
        if i % 10000000 == 0:
            print str(i/1000000) + 'M lines processed'
        if line.startswith('#'):
            continue
        fields = line.strip().split('\t')
        start = int(fields[1])
        stop = int(fields[2])
        if float(fields[3]) >= score:
            AboveScore+=(stop-start)

    outfile.write('Number bp above score\t' + str(AboveScore) + '\t')
    
    outfile.close()

run()

