##################################
#                                #
# Last modified 01/31/2015       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys

def run():

    if len(sys.argv) < 2:
        print 'usage: python %s inputfilename fasta' % sys.argv[0]
        print '\tuse - for stdin'
        print '\tAssumed format:'
        print '\t@read_8_1'
        print '\twhere 1 is the count of each sequence'
        sys.exit(1)

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

    outfile = open(outfilename,'w')

    doStdInput = False
    if inputfilename == '-':
        doStdInput = True

    if doStdInput:
        input_stream = sys.stdin
    else:
        input_stream = open(inputfilename)
    i=0 
    for line in input_stream:
        i+=1
        if i == 1:
            if line[0]=='@':
                pass
            else:
                print 'broken fastq input, exiting'
                sys.exit(1)
            ID=line.strip()
            continue
        if i == 2:
            counts = int(ID.split('_')[-1])
            for k in range(counts):
                outline = ID[0:-1] + str(k+1)
                outfile.write(outline + '\n')
                outline = line.strip()
                outfile.write(outline + '\n')
            continue
        if i == 3:
            continue
        if i == 4:
            i = 0
            continue

    outfile.close()

run()

