可以使用SeqIO.write函数的wrap参数来设置每行的长度,保持和原来一样的格式。

修改后的代码如下:

from Bio import SeqIO
import os

folder_path = './MC'  # 文件夹路径
output_file = 'MC1.fasta'  # 合并后的fasta文件名
sequences = []  # 初始化序列列表

# 遍历文件夹下的所有fasta文件
for file_name in os.listdir(folder_path):
    if file_name.endswith('.fasta'):
        file_path = os.path.join(folder_path, file_name)  # 构造文件路径
        # 读取fasta文件
        with open(file_path, 'r') as f:
            for record in SeqIO.parse(f, 'fasta'):
                sequences.append(record)  # 将读取的序列添加到序列列表

# 将所有序列写入输出文件中
with open(output_file, 'w') as f:
    SeqIO.write(sequences, f, 'fasta', wrap=70)  # 设置每行长度为70
Python Biopython 合并fasta文件并保持原格式

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

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