rosalind Consensus and Profile

发布于 2024-02-28  4 次阅读


from Bio import SeqIO

l: int = 0
ans = []

for seq_record in SeqIO.parse("rosalind_cons.txt", "fasta"):
    if (l == 0):
        l = len(seq_record.seq)
        for i in range(l):
            ans.append({'A': 0, 'G': 0, 'C': 0, 'T': 0})
    for i in range(l):
        ans[i][seq_record.seq[i]] += 1

with open("out.txt", "w") as fo:
    for i in range(l):
        fo.write(max(ans[i], key=ans[i].get))
    fo.write('\n')
    for j in ['A', 'C', 'G', 'T']:
        fo.write("%s: " % j)
        for i in range(l):
            fo.write("%d " % ans[i][j])
        fo.write("\n")
    fo.close()
最后更新于 2024-02-28