要根据文件 'A.fasta' 中提供的 ID 从 'B.fasta' 文件中批量提取序列,可以使用 Python 的 biopython 库来实现。

以下是一个示例代码:

from Bio import SeqIO

# 读取 'A.fasta' 文件中的 ID
ids = []
with open('A.fasta') as file:
    for line in file:
        if line.startswith('>'):
            ids.append(line.strip()[1:])  # 去除 ID 前面的 '>' 符号

# 从 'B.fasta' 文件中提取序列
sequences = []
with open('B.fasta') as file:
    for record in SeqIO.parse(file, 'fasta'):
        if record.id in ids:
            sequences.append(record)

# 将提取到的序列写入新的文件
SeqIO.write(sequences, 'output.fasta', 'fasta')

在上述代码中,首先从 'A.fasta' 文件中读取所有的 ID,并存储在一个列表中。然后,使用 SeqIO.parse 函数从 'B.fasta' 文件中逐个读取序列记录,如果记录的 ID 在提供的 ID 列表中,就将该记录添加到一个新的列表中。最后,使用 SeqIO.write 函数将提取到的序列写入一个新的 fasta 文件中 ('output.fasta')。

请根据实际情况修改文件名和路径。

Python 批量提取 FASTA 文件序列 - 根据 ID 筛选

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

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