##################################
#                                #
# Last modified 09/20/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]
    outfilename = sys.argv[2]

    SkipDict={}

    lineslist  = open(gtf)
    for line in lineslist:
        if line[0]=='#':
            continue
        fields=line.strip().split('\t')
        left=int(fields[3])
        right=int(fields[4])
        if left == right:
            print line.strip()
            transcriptID = fields[8].split('transcript_id "')[1].split('"')[0]
            SkipDict[transcriptID]=''

    outfile = open(outfilename, 'w')

    lineslist  = open(gtf)
    for line in lineslist:
        if line[0]=='#':
            outfile.write(line)
            continue
        fields=line.strip().split('\t')
        transcriptID = fields[8].split('transcript_id "')[1].split('"')[0]
        if SkipDict.has_key(transcriptID):
            continue
        else:
            outfile.write(line)

    outfile.close()
        
run()

