使用 Python 合并多个 FASTA 序列文件

以下是一个合并 FASTA 文件的 Python 代码示例,适用于任何数量的 FASTA 文件:

import os

def merge_fasta_files(input_dir, output_file):
    # 打开输出文件以写入
    with open(output_file, 'w') as out:
        # 遍历输入文件夹中的所有文件
        for file_name in os.listdir(input_dir):
            # 确保只处理 FASTA 文件
            if file_name.endswith('.fasta'):
                file_path = os.path.join(input_dir, file_name)
                # 打开 FASTA 文件以读取
                with open(file_path, 'r') as f:
                    lines = f.readlines()
                    # 写入输出文件
                    out.writelines(lines)

# 测试
merge_fasta_files('input_folder', 'output.fasta')

代码说明:

  1. input_dir: 包含要合并的 FASTA 文件的文件夹路径。
  2. output_file: 合并后的 FASTA 文件的输出路径。
  3. 函数 merge_fasta_files(input_dir, output_file):
    • 打开输出文件以写入 ('w')。
    • 遍历输入文件夹中的所有文件。
    • 检查每个文件名是否以 '.fasta' 结尾,确保只处理 FASTA 文件。
    • 打开每个 FASTA 文件以读取 ('r')。
    • 将 FASTA 文件中的所有行读取到 lines 列表中。
    • lines 中的所有行写入输出文件。

使用示例:

将名为 input_folder 的文件夹中所有 FASTA 文件合并到名为 output.fasta 的文件中,运行以下代码:

merge_fasta_files('input_folder', 'output.fasta')

该代码能够将任意数量的 FASTA 文件合并成一个输出文件。你只需更改 input_diroutput_file 的值即可。

注意:

  • 确保你的 Python 环境中安装了 os 模块。
  • 确保 input_folderoutput_file 的路径正确。
  • 该代码会保留 FASTA 文件中的所有内容,包括序列描述和空行。

希望这个 Python 代码示例可以帮助你高效地合并多个 FASTA 文件。如有需要,请随时在评论区提出问题。

Python 合并多个 FASTA 文件: 代码示例与指南

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

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