编写一个 python 程序来操作 fasta 文件

writing a python program to manipulate a fasta file

假设我有以下 fasta 文件和文本文件:

#fasta
>seq1
AAATTTCCC
>seq2
CCCGGGTTT

#txt (tab seperated)
seq1 3
seq2 4

我需要帮助尝试编写一个程序,该程序将提前为 fasta n times.Thanks 中的每个序列重复字符串!

#output fasta
>seq1
AAATTTCCCAAATTTCCCAAATTTCCC
>seq2
CCCGGGTTTCCCGGGTTTCCCGGGTTTCCCGGGTTT 

试试这个:

with open('fasta.txt') as fp, open('seq.txt') as fp2:
    data = [line.strip() for line in fp if line.strip()]
    seq = [line.split() for line in fp2 if line.strip()]
data = dict([(data[i], data[i + 1]) for i in range(0, len(data), 2)])

with open('output.txt', 'w') as fw:
    for x in seq:
        key = '>' + x[0]
        fw.write(key + '\n' + data[key] * int(x[1]) + '\n')

#output.txt
#>seq1
#AAATTTCCCAAATTTCCCAAATTTCCC
#>seq2
#CCCGGGTTTCCCGGGTTTCCCGGGTTTCCCGGGTTT