import argparse
    def DNAcounting(): #### Count the NUMBER of DNA bases in each FASTA file in the current directory
    import os
    FileList = os.listdir()
    for File in FileList:
    if os.path.splitext(File)[1] == ‘.fasta’:
    f = open(File, ‘r’)
    lines = f.readlines()
    seq = ‘’
    for i in lines:
    if i[0] == ‘>’:
    continue else:
    seq += i.strip()
    s = len(seq)
    print(s)

    def DNAcounting2(): #### Version 2 of the counting of DNA.
    import os
    FileList = os.listdir()
    for File in FileList:
    if os.path.splitext(File)[1] == ‘.fasta’:
    f = open(File, ‘r’)
    s = f.read()
    print(“%d %d %d %d” % (s.count(‘A’), s.count(‘C’), s.count(‘G’), s.count(‘T’)))
    print(“%d” % (s.count(‘A’) + s.count(‘C’) + s.count(‘G’) + s.count(‘T’)))

    def Complementary():
    #### Outputs the complementary sequence of fasta files in the current folder to the file
    import os
    FileList = os.listdir()
    for File in FileList:
    if os.path.splitext(File)[1] == ‘.fasta’:
    f = open(File, ‘r’)
    astring = ‘’
    qname = f.split(“/“)[-1]
    oname = os.path.splitext(qname)[0]
    strings = f.read()
    intab = ‘ACGT’
    outtab = ‘TGCA’
    trantab = str.maketrans(intab, outtab)
    astring += strings[::-1].translate(trantab)
    f = open(oname + ‘com.txt’, ‘w’)
    print(astring, file=f)

    def Translation(): #### 对当前文件夹中的fasta序列翻译并输出结果到文件
    import os
    FileList = os.listdir()
    for File in FileList:
    if os.path.splitext(File)[1] == ‘.fasta’:
    f = open(File, ‘r’)
    qname = f.split(“/“)[-1]
    oname = os.path.splitext(qname)[0]
    seq = f.read()
    seq = seq.replace(“\n”, “”)
    seq = seq.replace(“\r”, “”)
    DNA2condon = ([seq[start:start + 3] for start in range(0, len(seq), 3)])
    seq = ‘ ‘
    for i in DNA2condon:
    if (i == “ATG”): seq = seq + “START “
    if (i == “TGA” or i == “TAA” or i == “TGA”): seq = seq + “END “
    if (i == “ATA” or i == “ATC” or i == “ATT”): seq = seq + “I “
    if (i == “ACA” or i == “ACC” or i == “ACG” or i == “ACT”): seq = seq + “T “
    if (i == “AAC” or i == “AAT”): seq = seq + “N “
    if (i == “AAA” or i == “AAG”): seq = seq + “K “
    if (i == “AGC” or i == “AGT”): seq = seq + “S “
    if (i == “AGA” or i == “AGG”): seq = seq + “R “
    if (i == “CTA” or i == “CTC” or i == “CTG” or i == “CTT”): seq = seq + “L “
    if (i == “CCA” or i == “CCC” or i == “CCG” or i == “CCT”): seq = seq + “P “
    if (i == “CAC” or i == “CAT”): seq = seq + “H “
    if (i == “CAA” or i == “CAG”): seq = seq + “Q “
    if (i == “CGA” or i == “CGC” or i == “CGG” or i == “CGT”): seq = seq + “R “
    if (i == “GTA” or i == “GTC” or i == “GTG” or i == “GTT”): seq = seq + “V “
    if (i == “GCA” or i == “GCC” or i == “GCG” or i == “GCT”): seq = seq + “A “
    if (i == “GAC” or i == “GAT”): seq = seq + “D “
    if (i == “GAA” or i == “GAG”): seq = seq + “E “
    if (i == “GGA” or i == “GGC” or i == “GGG” or i == “GGT”): seq = seq + “G “
    if (i == “TCA” or i == “TCC” or i == “TCG” or i == “TCT”): seq = seq + “S “
    if (i == “TTC” or i == “TTT”): seq = seq + “F “
    if (i == “TTA” or i == “TTG”): seq = seq + “L “
    if (i == “TAC” or i == “TAT”): seq = seq + “Y “
    if (i == “TGC” or i == “TGT”): seq = seq + “C “
    if (i == “TGG”): seq = seq + “W “
    f = open(oname + ‘trans.txt’, ‘w’)
    print(seq, file=f)

    if name == “main“:
    parser = argparse.ArgumentParser()
    args = parser.parse_args()