Python 脚本合并多个 FASTA 文件
Python 脚本合并多个 FASTA 文件
该脚本用于将多个 FASTA 文件合并成一个新的 FASTA 文件。
import os
# 指定需要合并的fasta文件
fasta_files = ['output12.fasta', 'output13.fasta', 'output14.fasta']
# 用于存储所有序列的字典
sequences = {}
# 读取每个fasta文件中的序列并添加到字典中
for file in fasta_files:
with open(file) as f:
seq_id = ''
sequence = ''
for line in f:
line = line.strip()
if line.startswith('>'):
seq_id = line[1:]
if seq_id not in sequences:
sequences[seq_id] = ''
else:
sequences[seq_id] += line
# 输出所有序列到fasta文件
with open('merged123.fasta', 'w') as out:
for seq_id in sequences.keys():
out.write('>' + seq_id + '\n')
sequence = sequences[seq_id]
for i in range(0, len(sequence), 60):
out.write(sequence[i:i+60] + '\n')
使用方法
- 将需要合并的 FASTA 文件的名称添加到
fasta_files列表中。 - 运行脚本。
- 合并后的 FASTA 文件将保存为
merged123.fasta。
注意事项
- 该脚本不会修改 FASTA 文件的内容。
- 可以通过修改
fasta_files列表中的文件名来合并不同的序列文件。 - 可以修改
merged123.fasta文件名来更改输出文件名。
示例
假设需要合并 output15.fasta 和 output16.fasta,则可以将 fasta_files 列表修改为:
fasta_files = ['output15.fasta', 'output16.fasta']
然后运行脚本即可。
原文地址: https://www.cveoy.top/t/topic/lMcB 著作权归作者所有。请勿转载和采集!