在 Python 中使用 Biopython 库合并 fasta 文件时,默认情况下,输出文件中的序列会被分成多行显示,每行 70 个字符。这是因为 Bio.SeqIO.write() 函数默认会将每个序列的每 70 个字符分成一行输出,方便查看和编辑序列。

如果您希望输出的序列不自动换行,可以在 SeqIO.write() 函数中添加参数 line_wrap=None,表示不限制每行字符数,如下所示:

from Bio import SeqIO

input_file = 'xuliehebing1.fasta'  # 输入文件名
output_file = 'jieguo1.fasta'  # 输出文件名
sequences = []  # 初始化序列列表

# 读取fasta文件
with open(input_file) as f:
    for record in SeqIO.parse(f, 'fasta'):
        if len(record.seq) == 130:  # 如果序列长度等于130,则将该序列加入序列列表
            sequences.append(record)

# 将筛选后的序列写入输出文件
with open(output_file, 'w') as f:
    SeqIO.write(sequences, f, 'fasta', line_wrap=None)

# 输出处理后的序列数量
print(f'剩余序列数:{len(sequences)}')

这样输出的序列将会在一行中显示。

Python 使用 Biopython 合并fasta文件并控制序列输出格式

原文地址: https://www.cveoy.top/t/topic/lLbU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录