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')

使用方法

  1. 将需要合并的 FASTA 文件的名称添加到 fasta_files 列表中。
  2. 运行脚本。
  3. 合并后的 FASTA 文件将保存为 merged123.fasta

注意事项

  • 该脚本不会修改 FASTA 文件的内容。
  • 可以通过修改 fasta_files 列表中的文件名来合并不同的序列文件。
  • 可以修改 merged123.fasta 文件名来更改输出文件名。

示例

假设需要合并 output15.fastaoutput16.fasta,则可以将 fasta_files 列表修改为:

fasta_files = ['output15.fasta', 'output16.fasta']

然后运行脚本即可。

Python 脚本合并多个 FASTA 文件

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

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