##################################
#                                #
# Last modified 5/25/2010        # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys

try:
	import psyco
	psyco.full()
except:
	pass

def run():

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

    inputfilename = sys.argv[1]
    outputfilename = sys.argv[2]

    outfile = open(outputfilename, 'w')

    lineslist = open(inputfilename)
    i=0
    for line in lineslist:
        i+=1
        if i % 1000000 == 0:
            print i, 'lines processed'
        fields = line.strip().split('\t')
        if len(fields)<=5:
            continue
        if 'N' in fields[5]:
            splicefields=fields[5].split('N')
            if 'M' in splicefields[0] and 'M' in splicefields[1]:
                outfile.write(line)
    outfile.close()

run()

