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

import sys
import string
import math
from sets import Set

def run():

    if len(sys.argv) < 2:
        print 'usage: python %s fastq outputfileprefix ' % sys.argv[0]
        sys.exit(1)
    
    input = sys.argv[1]
    outfileDict = {}

    lineslist = open(input)
    i=1
    for line in lineslist:
        if i== 1:
            readID=line
            i=2
            continue
        if i== 2:
            sequence=line.strip()
            i=3
            continue
        if i== 3:
            i=4
            continue
        if i== 4:
            quality=line
            length=len(sequence)
            if outfileDict.has_key(length):
                pass
            else:
                outfileDict[length]=open(sys.argv[2]+'.'+str(length)+'mers.fastq','w')
            outfileDict[length].write(readID)
            outfileDict[length].write(sequence + '\n')
            outfileDict[length].write('+\n')
            outfileDict[length].write(quality)
            i=1
            continue
        
    for length in outfileDict.keys():
        outfileDict[length].close()
   
run()
