使用python的子串multifasta文件

问题描述 投票:0回答:2

我试图从位置2到8的multifasta文件中提取序列(microRNA的种子)。为此,我编写了一个小的python脚本。该脚本有效,但我无法编写输出文件。任何人都可以帮助我或指出我正确的方向吗?

谢谢

脚本:

from Bio import SeqIO
for index, record in enumerate(SeqIO.parse("file.fasta","fasta")):
    seed= record.seq[1:8]
    a = (print(">" + record.id + '\n\ + seed)

输出:

>aga-miR-12417-5p
AGUCGUU
>aga-miR-12418-3p
GUUCGAU
>aga-miR-12419-5p
GCUGUUC
python substring bioinformatics biopython fasta
2个回答
1
投票

你只需要使用SeqIO.write(),这将是你当前结构最相似的方式:

from Bio import SeqIO

with open("out_file.fasta", "w") as out_f:
    for index, record in enumerate(SeqIO.parse("file.fasta","fasta")):
        record.seq = record.seq[1:8]
        SeqIO.write(record, out_f, "fasta")

0
投票

如果您只需要写一个简单的纯文本文件,您可以:

from Bio import SeqIO
with open('output_file', 'w') as output:
    for index, record in enumerate(SeqIO.parse("file.fasta","fasta")):
        seed= record.seq[1:8]
        output.writeline(">" + record.id)
        output.writeline(seed)
© www.soinside.com 2019 - 2024. All rights reserved.