将 SeqIO 字典写入 Fasta 文件

Write SeqIO Dictionary as Fasta File

我最初用 Bio.SeqIO.to_dict 语句将我的 fasta 序列转换成字典。我想将子集字典写回 fasta 文件。

Test 是一个 python 字典,以 fasta headers 作为键,以序列作为索引。

我的代码试图利用 SeqIO.write:

with open("example.fasta", "w") as handle:
SeqIO.write(test, handle, "fasta")

AttributeError: 'str' object has no attribute 'id'

恐怕通过将 SeqIO 生成器 object 转换为字典,我无法轻松地 return 到其他 SeqIO 函数期望的输入。

我解决了这个问题。即使进行 SeqIO.to_dict 转换,字典的值仍然是原始生成器 class。要将此字典写回 Fasta,只需调用字典的值即可。

with open("example.fasta", "w") as handle:
    SeqIO.write(test.values(), handle, "fasta")