Python Biopython 合并fasta文件并阻止序列换行
from Bio import SeqIO import os folder_path = 'C:/Users/fang/Desktop/合适的程序/序列/M/MC0' # 文件夹路径 output_file = 'MC0/MC0.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', line_wrap=None) # 设置line_wrap参数为None,避免自动换行
如何避免fasta序列在输出文件中自动换行
可以使用 SeqIO.write 函数的 line_wrap 参数来控制输出的格式。将 line_wrap 设置为 None 可以避免自动换行。
代码示例:
from Bio import SeqIO
import os
# ... (其他代码)
# 将所有序列写入输出文件中
with open(output_file, 'w') as f:
SeqIO.write(sequences, f, 'fasta', line_wrap=None) # 设置line_wrap参数为None,避免自动换行
通过上述修改,合并后的fasta文件中所有序列将不会自动换行,而是完整地显示在一行中。
原文地址: https://www.cveoy.top/t/topic/lK9D 著作权归作者所有。请勿转载和采集!