##################################
#                                #
# Last modified 02/16/2011       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string
import math
from sets import Set

def run():

    if len(sys.argv) < 2:
        print 'usage: python %s GTF outfilename' % sys.argv[0]
        sys.exit(1)
    
    GTF=sys.argv[1]
    outfile = open(sys.argv[2], 'w')

    linelist = open(GTF)
    for line in linelist:
        if line.startswith('#'):
            continue
        fields=line.strip().split('\t')
        FPKM = float(fields[8].split('FPKM "')[1].split('";')[0])
        score=100*(math.log((FPKM+1),2))
        IDR='.'
        outline=fields[0]+'\t'+fields[1]+'\t'+fields[2]+'\t'+fields[3]+'\t'+fields[4]+'\t'+str(score)[0:7]+'\t'+fields[6]+'\t'+fields[7]+'\t'+fields[8]+' npIDR "' + str(IDR)+'";'
        outfile.write(outline+'\n')

    outfile.close()

run()