使用 Biopython 保存一个 MODIED 的 FASTA 文件

Save a modied FASTA file with Biopython

提问人:Vykov 提问时间:10/24/2022 更新时间:10/24/2022 访问量:90

问:

我使用 Biopython 删除了一些序列,因为它们太短了。 但是,我不知道如何将打印的新序列保存在 txt 文件中。

这是我拥有的代码:

from Bio import SeqIO

for seq_record in SeqIO.parse("aminoacid_example.txt", "fasta"):

if len(seq_record.seq)>=30:
    print(">",seq_record.id)
    print(seq_record.seq)

输出:

“>NP_414584.1

MNTFSQVWVFSDTPSRLPELMNGAQALANQINTFVLLNDADGAQAIQLGANHVWKLN

“> NP_414563.1

MASVSISCPSCSATDGVVRNGKSTAGHQRYLCSHCRKTWQLQFTYTASQPGTHQKIIDMAMNG

“> NP_414564.1

MANIKSAKKRAIQSEKARKHNASRRSMMRTFIKKVYAAIEAGDKAAAQKAFNEMQPIVDRQAAKGLIHK

如何将此序列保存在 txt 文件中?

谢谢你的帮助!

python string 生物python dna-sequence

评论


答:

0赞 Andrei George Enache 10/24/2022 #1

它应该是这样的:

text_list=[]
for seq_record in SeqIO.parse("aminoacid_example.txt", "fasta"):
    if len(seq_record.seq)>=30:
        elem1=">"+seq_record.id
        elem2=seq_record.seq
        text_list.extend([elem1, elem2])
with open('filetowrite.txt', 'w') as f:
    f.write('\n'.join(text_list)

这将创建一个包含您想要的所有元素的列表,然后将它们写入文件“filetowrite.txt”(或您想要调用它的方式),每个值都在新行上。

评论

0赞 Vykov 10/24/2022
谢谢你的帮助!是我问题的一个很好的解决方案!