##################################
#                                #
# Last modified 2021/08/02       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string

def run():

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

    fastafilename = sys.argv[1]
    fieldID = int(sys.argv[2])
    outfilename = sys.argv[3]

    outfile = open(outfilename, 'w')


    listoflines = open(fastafilename)
    for line in listoflines:
        if line.startswith('#'):
            outline = line.strip() + '\tA\tC\tG\tT'
            outfile.write(outline + '\n')
            continue
        sequence = line.strip().split('\t')[fieldID]
        sequence = sequence.upper()
        A=0.0
        C=0.0
        T=0.0
        G=0.0
        A += sequence.count('A')
        C += sequence.count('C')
        T += sequence.count('T')
        G += sequence.count('G')

        outline = line.strip() + '\t' + str(A/(A+C+T+G)) + '\t' + str(C/(A+C+T+G)) + '\t' + str(G/(A+C+T+G)) + '\t' + str(T/(A+C+T+G))
        outfile.write(outline + '\n')

    outfile.close()

run()

