with open('CP021748.fasta') as f:
    seq_id = ''
    sequence = ''
    for line in f:
        line = line.strip()
        if line.startswith('>'):
            seq_id = line[1:]
        else:
            sequence += line

    start = 1  # 起始位置,序列下标从0开始计数,因此需要减1
    end = 10  # 结束位置,包含在提取范围内
    subseq = sequence[start:end + 1]  # 提取部分序列

    # 输出结果到fasta文件
    with open('output12.fasta', 'w') as out:
        out.write('>' + seq_id + '\n')
        out.write(subseq + '\n')  # 将提取的部分序列写入一行

本代码使用 Python 读取 FASTA 文件,提取指定范围的序列,并输出到新的 FASTA 文件。

  • 首先,代码使用 with open() 打开输入文件 CP021748.fasta,并读取每一行内容。
  • 如果一行以 > 开头,则将其视为序列标识符,并将其存储在 seq_id 变量中。
  • 否则,将其视为序列内容,并将其添加到 sequence 变量中。
  • 然后,代码定义起始位置 start 和结束位置 end,并使用切片操作 sequence[start:end + 1] 提取部分序列。
  • 最后,代码使用 with open() 打开输出文件 output12.fasta,并写入序列标识符和提取的序列,确保序列内容在一行中输出。

该代码可以帮助您从 FASTA 文件中提取部分序列,并将其以指定的格式输出到新文件。

Python 代码提取 FASTA 文件部分序列并输出到新文件

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

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