##################################
#                                #
# Last modified 06/05/2012       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
from sets import Set

def getReverseComplement(preliminarysequence):
    
    DNA = {'A':'T','T':'A','G':'C','C':'G','N':'N','a':'t','t':'a','g':'c','c':'g','n':'n'}
    sequence=''
    for i in range(len(preliminarysequence)):
        sequence=sequence+DNA[preliminarysequence[len(preliminarysequence)-i-1]]
    return sequence

def run():

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

    input = sys.argv[1]
    outfile = open(sys.argv[2],'w')

    i=0
    pos=1
    input_stream = open(input)
    for line in input_stream:
        i+=1
        if i % 20000000 == 0:
            print str(i/4000000) + 'M reads outputted from end1'
        if pos==1 and line.startswith('>'):
            outfile.write(line)
            pos=2
            continue
        if pos==2:
            sequence = line.strip()
            outfile.write(getReverseComplement(sequence) + '\n')
            pos=1
            continue

    outfile.close()

run()

